Balkan SA:MP

San Andreas Multiplayer - www.sa-mp.com => Tutorijali u vezi SA-MPa => Temu započeo: ᴀʀᴍᴀɢᴇᴅᴏɴ poslato Avgust 13, 2018, 09:06:17 PRE PODNE

Naslov: SetTimerEx? Kome još to treba?!
Poruka od: ᴀʀᴍᴀɢᴇᴅᴏɴ poslato Avgust 13, 2018, 09:06:17 PRE PODNE
Pozdrav, u ovom tutorialu ću Vam objasniti kako da kikujete igrača, ali da mu pošaljete poruku pre kick-a i da on istu tu poruku dobije iako nećete koristiti SetTimerEx da odložite Kick već ću Vam objasniti kako da koristite wait_ms funkciju, lako je!


Ovde imamo jednu proveru za verziju:
[pawn]
public OnPlayerConnect(playerid)
{
   new verzija[16];
   GetPlayerVersion(playerid, verzija, sizeof(verzija));
   if(strcmp(verzija, "0.3.7-R2", false, sizeof(verzija)))
   {
      SendClientMessage(playerid, -1, "YEAH");
      SetTimerEx("Kick", 165, false, "d", playerid);
   }
   return 1;
}
[/pawn]
Sada ovaj SetTimerEx pokreće drugu funkciju i automatski troši više memorije nego način koji ću Vam ja pokazati jer ovako je sve to u jednoj funkciji :)
[pawn]public OnPlayerConnect(playerid)
{
   new verzija[16];
   GetPlayerVersion(playerid, verzija, sizeof(verzija));
   if(strcmp(verzija, "0.3.7-R2", false, sizeof(verzija)))
   {
      SendClientMessage(playerid, -1, "YEAH");
      wait_ms(165); // ÄŒeka 165 milisekundi da aktivira sledeću f-ju, u ovom slučaju KICK.
      Kick(playerid);
   }
   return 1;
}[/pawn]
wait_ms(ms) Aktivira sledeću funkciju ispod nje.
EDIT: Potreban Vam je OVAJ (https://github.com/IllidanS4/PawnPlus/releases/) plugin i .inc :)
Naslov: Odg: SetTimerEx? Kome još to treba?!
Poruka od: GoodbyeSamp poslato Avgust 13, 2018, 11:00:49 PRE PODNE
Isti princip samo on je pisan u c++ bas cu pogledati funkciju mislim odlican je pawn+ ima dosta stvari.
Naslov: Odg: SetTimerEx? Kome još to treba?!
Poruka od: ᗪ卂乂 poslato Avgust 13, 2018, 11:03:14 PRE PODNE
U jbt ovo nisam znao, probacu ovo dosta poboljsava optimizaciju
Naslov: Odg: SetTimerEx? Kome još to treba?!
Poruka od: ᴀʀᴍᴀɢᴇᴅᴏɴ poslato Avgust 13, 2018, 11:05:01 PRE PODNE
Nema na cemu  ::)
Naslov: Odg: SetTimerEx? Kome još to treba?!
Poruka od: Napaceni Bošnjo poslato Avgust 13, 2018, 11:38:12 PRE PODNE
lepo
Naslov: Odg: SetTimerEx? Kome još to treba?!
Poruka od: bunta poslato Avgust 13, 2018, 11:38:53 PRE PODNE
Odlicno
Naslov: Odg: SetTimerEx? Kome još to treba?!
Poruka od: Slade poslato Avgust 13, 2018, 16:15:06 POSLE PODNE
Nisam istraživao plugin, ali imam jedno interesantno pitanje, što ako recimo osoba želi dodati dva tajmera u jedan dio koda, jedan recimo za 8 sekundi, drugi za 12.
wait_ms predpostavljam ne Å¡alje niÅ¡ta ispod sebe dok njegov period ne proÄ'e, tako da bi teÅ¡ko bilo to prilagoditi, možda jedino staviti ovaj tajmer od 8 sekundi, zatim waitms dodatne 4 sekunde da se ovaj zapravo odradi za 12.

Inače nije loše ovo, lijepo objašnjeno.
Naslov: Odg: SetTimerEx? Kome još to treba?!
Poruka od: daddyDOT poslato Avgust 13, 2018, 16:31:08 POSLE PODNE
Super će poslužiti!
Naslov: Odg: SetTimerEx? Kome još to treba?!
Poruka od: ᴀʀᴍᴀɢᴇᴅᴏɴ poslato Avgust 13, 2018, 16:32:10 POSLE PODNE
Da :D
Postoji i await funkcija da saceka npr da se loada igracev acc pa tek kada se loada da se izvrsi ovo ispod al nisam bas skuzio to :)
stock Countdown()
[pawn]{
    SendClientMessageToAll(-1, "3");
    wait_ms(1000); // Non-blocking sleep (i.e. there is no code running and checking the time).
    SendClientMessageToAll(-1, "2");
    wait_ms(1000); // await task_ms(1000); can be also used
    SendClientMessageToAll(-1, "1");
    wait_ms(1000);
    SendClientMessageToAll(-1, "0");
}[/pawn]
Inace hvala svima na komentarima :)
Naslov: Odg: SetTimerEx? Kome još to treba?!
Poruka od: Timur Script poslato Septembar 05, 2018, 22:01:26 POSLE PODNE
Nista posebno
Naslov: Odg: SetTimerEx? Kome još to treba?!
Poruka od: Gaucho123 poslato Novembar 17, 2018, 19:57:43 POSLE PODNE
forward LoginTimer(playerid);
public LoginTimer(playerid)
{
   SCM(playerid, -1, ""SPLAVA"[UB:RP]"SPLAVA" Vase vreme za prijavljivanje je isteklo!");
   freeze[playerid] = wait_ms(50000);
   Kick(playerid);
   return 1;
}
To nesto vako
Naslov: Odg: SetTimerEx? Kome još to treba?!
Poruka od: YukiNatsu poslato Novembar 17, 2018, 20:01:30 POSLE PODNE
Citat: Gaucho123 poslato Novembar 17, 2018, 19:57:43 POSLE PODNE
forward LoginTimer(playerid);
public LoginTimer(playerid)
{
   SCM(playerid, -1, ""SPLAVA"[UB:RP]"SPLAVA" Vase vreme za prijavljivanje je isteklo!");
   freeze[playerid] = wait_ms(50000);
   Kick(playerid);
   return 1;
}
To nesto vako
Prvo, sto bumpas ovo sto sam pisao ne secam se ni sam kada?
Drugo ovo nema veze s' vezom...
wait_ms ti je isto kao LoginTimer (isto to radi)
[pawn]wait_ms(50000);
freeze[playerid] = 0;[/pawn]
posle 50000ms ce staviti freeze varijablu na 0
Naslov: Odg: SetTimerEx? Kome još to treba?!
Poruka od: Gaucho123 poslato Novembar 17, 2018, 20:03:42 POSLE PODNE
Pa jel ovo dobro il lose
Naslov: Odg: SetTimerEx? Kome još to treba?!
Poruka od: YukiNatsu poslato Novembar 17, 2018, 20:07:24 POSLE PODNE
Citat: Gaucho123 poslato Novembar 17, 2018, 20:03:42 POSLE PODNE
Pa jel ovo dobro il lose
Bato, ti si upravo varijabli dodelio tajmer HAHAHA
Nije lose, katastrofa je :D