Eh...Ti lepi tajmeri
I) sta je ovo koji moj?Malo pre sam dobio poruku od
@Teodor -a da mu nesto pomognem, nije bitno ugl. resio sam i poslao sam mu kod ali skontao sam nesto, svi (pa i ja do evo malo pre) koristimo 2 tajmera: 1 za odbrojavanje koji se poziva svaku sekundu i jedan koji ce se pozvati za 60 sekundi (na primer ako imate pljackanje banke pa imate TextDraw za odbrojavanje koji prikazuje sekunde igracu...)
E sada, pala mi je na pamet neka ideja za koju iskreno ne znam zasto nije pala ranije, a koja je to ideja cemo da vidimo sada.
II) Primerdefer nekiTajmerZaOdbrojavanje(playerid);
defer glavniTajmer(playerid);
timer nekiTajmerZaOdbrojavanje(playerid)
{
nekaVarijablaUKojojSeCuvaVrednost --;
va_PlayerTextDrawSetString(playerid, tdObrojavanje, "%d", nekaVarijablaUKojojSeCuvaVrednost);
defer nekiTajmerZaOdbrojavanje(playerid);
}
timer glavniTajmer(playerid)
{
// Nesto rendom iz rukava
ClearAnimations(playerid);
SetPlayerPos(playerid, 0.0, 0.0, 0.0);
SetPlayerHealth(playerid, 0.0);
SetPlayerArmour(playerid, 0.0);
ddoskida(playerid);
}
III) sta sam ja skontao jeldefer glavniTajmer(playerid, 20); // 20 sekundi!
timer glavniTajmer(playerid, seconds)
{
if(seconds) // seconds > 0
{
va_PlayerTextDrawSetString(playerid, tdObrojavanje, "%d", --seconds); // Primetite kako ODMAH ovde smanjujem seconds!!!
defer glavniTajmer(playerid, seconds); // Moze i repeat gore da se razumemo ali ovako ne cuvamo ID tajmera pa je kao bolje? (ispravite me ako nisam u pravu)
}
else // seconds = 0
{
ClearAnimations(playerid);
SetPlayerPos(playerid, 0.0, 0.0, 0.0);
SetPlayerHealth(playerid, 0.0);
SetPlayerArmour(playerid, 0.0);
ddoskida(playerid);
}
}
IV) ZakljucakLicno ja mislim da je ovako bolje jer imamo samo jedan tajmer sto ce automatski rasteretiti server (nece duplo otkucavati tajmere, zamislimo da imate 50 tajmera i 25/25 su podeljena, znaci ovako moze samo 25 da tikuje).
E sada ima ovaj
if(seconds) ali to nema doslovno nikakav uticaj na performanse (ne pogorsava ih) jer su u pitanju piko sekunde sto se izvrsavanja tice ako se ne varam 😄
Kontam da je urednije i bolje jer kao sto sam vec rekao imate tajmer manje a i brže se pise iskreno