Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

x<<y - co i jak?


  • Zamknięty Temat jest zamknięty
5 odpowiedzi w tym temacie

#1 A może sma?

    Godlike

  • Power User

Reputacja: 546
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 26.07.2011 13:10

Siemanko :] Mam takie pytanie:
Czym są takie ciągi znaków: "10<<14" i jak je stosować/przeliczać?
Np. tu:
new gmsgShake = get_user_msgid("ScreenShake") 
message_begin(MSG_ONE, gmsgShake, {0,0,0}, team[i])
write_short(255<< 14 ) //ammount
write_short(10 << 14) //lasts this long
write_short(255<< 14) //frequency
message_end()

Co da zmiana na inne wartości np. 10 << 14?
  • +
  • -
  • 0

#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 26.07.2011 13:27

10 czyli 1010
<< 14 czyli bedzie
101000000000000000 :P
Operacje bitowe - AMXX.pl: Support AMX Mod X
  • +
  • -
  • 0

#3 A może sma?

    Godlike

  • Autor tematu
  • Power User

Reputacja: 546
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 26.07.2011 13:36

Że w sensie, to konwertuje liczby z dec na bin? :F

Edit: No dobra, a jak mamy event ScreenShake to:
new gmsgShake = get_user_msgid("ScreenShake") 
message_begin(MSG_ONE, gmsgShake, {0,0,0}, team[i])
write_short(255<< 14 ) //ammount
write_short(10 << 14) //lasts this long
write_short(255<< 14) //frequency
message_end()


To jak liczona jest długość trwania: write_short(10 << 14) //lasts this long tzn. ile przy takim zapisie powinno trwać trzęsienie ekranem?
Bo taka operacja jak rozumiem podniesie liczbę 10 o 10*(2^14) - do 163840
I jak ta liczba 163840 jest zamieniana na długość trwania (sekundy)?

Użytkownik kisiel96 edytował ten post 26.07.2011 13:50

  • +
  • -
  • 0

#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 26.07.2011 13:53

nie to nie konwertuje z dec na bin tylko po prostu w bin łątwo zobaczyć jak to działa :)
z tego co pamiętam przy długosci trwania to
1<<12 to była jedna sekunda dwie to (1<<12) *2 etc.
  • +
  • -
  • 0

#5 A może sma?

    Godlike

  • Autor tematu
  • Power User

Reputacja: 546
Wszechwiedzący

  • Postów:1 464
  • Steam:steam
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 26.07.2011 13:58

Dobra chyba łapie :D
czyli, że jedna sekunda to będzie 1000000000000?

I czy można w takim razie zapisać to tak: write_short(zmienna*(1 << 12))?
Edit: Dobra już doszedłem z tym do ładu :P I wcale nie trzeba pisać 1 << 12 - można od razu napisać 4096 :D

Użytkownik kisiel96 edytował ten post 26.07.2011 17:02

  • +
  • -
  • 0

#6 diablix

    emeryt

  • Przyjaciel

Reputacja: 507
Wszechwiedzący

  • Postów:663
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 26.07.2011 18:40

(1<<2) = 1 * 2^2

EDIT

co daje 4

Użytkownik diablix edytował ten post 26.07.2011 18:40

  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych