[Objasnenje] Zasto koristu if(IsPlayerConnected(playerid))

Započeo [IF] mariomako, Jun 09, 2011, 16:36:16 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 3 gostiju pregledaju ovu temu.

Detaljan opis problema: Na neki komanda sam vidio da koristu if(IsPlayerConnected(playerid))
posle ono if(strcmd,"/komanda", zasto je potrebno da on proveri dali je igrac konektujen, pa ako nije kako bi mogao da napise komandu.
Dio skripte:/
Slike:/

to je zato sto su pokupili iz GF moda, to ti uopce ne treba :D Samo usporava
Uskoro novi stunt server iStunt. DoÄ'ite i zabavite se!




   
   




Dizajniram za $$$
Popis stvari koje radim:

Wallpaper √  Signature ×  Logo √  Dizajn stranice (Ne kodiranje) √  Baner √  Avatar √  Animacija √  Intro √

Kao prvo. NEMOJ koristiti IsPlayerConnected jer je obično [cenzura] samo usporava server. Koristi INVALID_PLAYER_ID !

Druga stvar, ne trebaÅ¡ koristiti to na komandama pogotovo ako koristiÅ¡ ZCMD, YCMD ili neki poznati procesor komandi. Razlog zaÅ¡to je to u GF modu je taj Å¡to je GF mod skriptan na 0.2X verziji i nije uopće update-an na  0.3 eto jedan primjer tipične greÅ¡ke u GF modu ili njegovom editu.

U GF-u je blank id = 255 a to u 0.3 NIJE

Blank ID u 0.3 verziji je: 0xFFFF  odnosno 65535
INVALID_PLAYER_ID je predviÄ'en za 0.3 ono Å¡to želim reći je da koristite INVALID_PLAYER_ID i klonit se GF moda i njemu sličnih ;)
Poslednja Izmena: Jun 09, 2011, 16:53:01 POSLE PODNE od [H]265
Kristijan Stipić

test 1:
INVALID_PLAYER_ID 22325
IsPlayerConnected 23391

test2:
IsPlayerConnected 23590
INVALID_PLAYER_ID 22560



nije IsPlayerConnected nikakva usrana funkcija, ali razlika u brzini je postoji, gore su test rezultati, na 1000000 x 500 iteracija razlika je oko 1 sekunde, sto cak i nije neka velika razlika no postoji... nece u obicnoj upotrebi biti nikakve razlike sta se od to dvoje koristi...

evo ti pastebin testa:
http://pastebin.com/W8EENFLb


al, to nije on niti pitao, nego zasto uopce da koristi tu funkciju... uglavnom potrebno je ponekad provjerit jel konektiran igrac, osobito ako napravis komandu koja treba da nesta da/uradi s drugim igracem, onda je dobro provjerit jel konektiran taj drugi...

vecinom se to koristi u loopovima to je ono for(new itd. ali zato preporucam foreach :D
Uskoro novi stunt server iStunt. DoÄ'ite i zabavite se!




   
   




Dizajniram za $$$
Popis stvari koje radim:

Wallpaper √  Signature ×  Logo √  Dizajn stranice (Ne kodiranje) √  Baner √  Avatar √  Animacija √  Intro √

Citat: Dude poslato Jun 09, 2011, 19:27:48 POSLE PODNE
nije IsPlayerConnected nikakva usrana funkcija

Krivo sam se izrazio odnosno malo sam preuveličao. Sve jedno moj savjet i dalje stoji što se tiče INVALID_PLAYER_ID - a
A šta se ti tiče testa, već sam napravio test brzine na to. Samo sam malo preuveličao
Poslednja Izmena: Jun 09, 2011, 20:25:19 POSLE PODNE od [H]265
Kristijan Stipić