Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: schatzi poslato Januar 29, 2022, 09:46:40 PRE PODNE

Naslov: LevelUP
Poruka od: schatzi poslato Januar 29, 2022, 09:46:40 PRE PODNE
Problem(error/warning): Iz ciste zajebancije i nesto da malo vise naucim krenuo sam da radim mod od nule pa sam napravio payday sistem sve je super radi ali level mi ostaje na nuli svaki put kada levelupam iako se u script files sacuva level igraca
pokusavao sam i SetPlayerScore level se postavi na zeljeni ali ka levelup on se ne prikazuje ostaje na level koji sam postavi na SetPlayerScore
Deo skripte: [pawn]po potrebi[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [pawn]//[/pawn]
Slika/video ingame problema(obavezno ako je ingame problem): //
Naslov: Odg: LevelUP
Poruka od: Bit Frosty poslato Januar 29, 2022, 10:21:41 PRE PODNE
To je zato sto SetPlayerScore sluzi samo za jednu stvar, a to je da postavis igracev score u TAB-u, to je to. Ako ti koristis Score da prikazes igracev level, onda je logicno da moras i da SetPlayerScore kad god se taj level promeni...
Naslov: Odg: LevelUP
Poruka od: schatzi poslato Januar 29, 2022, 12:29:36 POSLE PODNE
Uspeo sam da resim tako sto sam stavio [pawn]SetPlayerScore( playerid, PlayerInfo[ playerid ][ pLevel ] );[/pawn] pod OnPlayerUpdate
da li je to ispravno sto sam uradio
Naslov: Odg: LevelUP
Poruka od: Fergosonn poslato Januar 29, 2022, 12:46:57 POSLE PODNE
Citat: _audi poslato Januar 29, 2022, 12:29:36 POSLE PODNE
Uspeo sam da resim tako sto sam stavio [pawn]SetPlayerScore( playerid, PlayerInfo[ playerid ][ pLevel ] );[/pawn] pod OnPlayerUpdate
da li je to ispravno sto sam uradio
Pod OnPlayerUpdate ce da ti menja svaku mili sekundu boljenapravi neki timer i da proveravaj svakih 10/15 sekundi
Naslov: Odg: LevelUP
Poruka od: schatzi poslato Januar 29, 2022, 12:51:02 POSLE PODNE
Citat: Fergosonn poslato Januar 29, 2022, 12:46:57 POSLE PODNE
Pod OnPlayerUpdate ce da ti menja svaku mili sekundu boljenapravi neki timer i da proveravaj svakih 10/15 sekundi
za sad trenutno radi kako treba cak i ne postavi level up u istu sekundu nego u nekih 2 3 sekunde sve radi normalno ako je igrac level 5 stoji mu na level 5 pa kad level upa to se upate samo
za sad radi
Naslov: Odg: LevelUP
Poruka od: Bit Frosty poslato Januar 29, 2022, 13:07:11 POSLE PODNE
Citat: _audi poslato Januar 29, 2022, 12:51:02 POSLE PODNE
za sad trenutno radi kako treba cak i ne postavi level up u istu sekundu nego u nekih 2 3 sekunde sve radi normalno ako je igrac level 5 stoji mu na level 5 pa kad level upa to se upate samo
za sad radi
Trenutno radi kako treba ne znaci da radi kako treba.

OnPlayerUpdate je callback koji se poziva svaki put kad stigne neki sync paket od klienta, a to je ~5x u sekundi pri pingu od ~200ms.
Pravilan nacin da odradis to je da napravis posebnu funkciju tipa SetPlayerLevel koja ce povecati promenivu, i update svugde gde treba taj level, ukljucujuci i tab sa SetPlayerScore funkcijom.
Naslov: Odg: LevelUP
Poruka od: V01D poslato Januar 29, 2022, 14:38:02 POSLE PODNE
Nemoj koristiti OnPlayerUpdate za tako nesto, kao sto je vec receno, odradi neku funkciju koja ce da postavi level i score..

[pawn]postaviLevelIgracu(playerid, level) {

   PlayerInfo[playerid][pLevel] = level;
   SetPlayerScore(playerid, level);
   return 1;
}

//Kada das nekome level na primer na 5
postaviLevelIgracu(playerid, 5); //Automatski postavi promenljivu i SetPlayerScore[/pawn]
Naslov: Odg: LevelUP
Poruka od: schatzi poslato Januar 29, 2022, 20:41:20 POSLE PODNE
RESENO!