Sunday - 09. 08. 2026 •  Ucitavanje...
Link #1 Link #2 Link #3 Link #4 Link #5

!!

Registruj se i otključaj pun sadržaj

Kao gost imaš ograničen pristup forumu.
Registracijom dobijaš pristup svim temama, možeš pisati poruke, učestvovati u diskusijama i biti dio naše zajednice.

Author Topic: [TUTORIAL] Y_TIMERS  (Read 10034 times)

Offline

V01D, Admin

    Street Hustler
      Postova: 39
    • RESPECT: 0
      • View Profile
[TUTORIAL] Y_TIMERS
on: November 24, 2024, 08:56:03 PM
Y_TIMERS
Posto vidim da ljudi idalje, iz bog zna kog razloga, koriste SetTimer i SetTimerEx, odlucio sam napraviti cool tutorial na temu Y_Timers koji su definitivno laksa i bolja varijanta..

NAMENJENO POCETNICIMA

Ovaj include se nalazi unutar YSI!

Pa da pocnemo..

POZIVANJE TIMERA

Pre svega, kako pozivamo najobcniji timer
Za pozivanje koristimo "defer"

Code: You are not allowed to view links. Register or Login
defer NekiTimer(vrednosti koje zelimo preneti);
Ovo deluje zbunjujuce, ali sada cu pokazati upotrebu u tipa robu banke..

Code: You are not allowed to view links. Register or Login
CMD:robbanka(playerid, params[])
{
defer BankaRobTimer(playerid);
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, 0x1874CDFF, "Zapoceo si pljacku banke!Ukoliko izadjes, pljacka ce se prekinuti!");
return 1;
}

Iznad se nalazi najprostija komanda za rob banke.. Pre svega, defer sluzi kao i SetTimer, pritom kod njega ne moramo da definisemo timer, vec samo da ga "upotrebimo"
Unutar
Code: You are not allowed to view links. Register or Login
( ) mozemo videti "playerid", znaci da prenosimo varijablu playerid, takodje mozemo preneti bilo koju varijablu i da pritom moze da se iskoristi unutar samog timera..

Kako oznaciti kraj timera??

Code: You are not allowed to view links. Register or Login
timer BankaRobTimer[90000](playerid)
{
        TogglePlayerControllable(playerid, 1);
        SendClientMessage(playerid, 0x1874CDFF, "Uspesno si opljackao banku!");
        GivePlayerMoney(playerid, 90000);
}

Za to koristimo "timer", prosto, brzo, lako i jednostavno :D

Sta ovo sve znaci??

timer BankaRobTimer[90000](playerid) ->
                      timer -> Naznacavamo da je timer, da ne objasnjavam previse xD
                      BankaRobTimer -> Ovde navodimo ime timera
                      [90000] -> Broj u milisekundama nakon koga ce se timer zavrsiti
                      (playerid) -> varijabla koju smo preneli u timer

Sve ovo unutar timera :

Code: You are not allowed to view links. Register or Login
TogglePlayerControllable(playerid, 1);
        SendClientMessage(playerid, 0x1874CDFF, "Uspesno si opljackao banku!");
        GivePlayerMoney(playerid, 90000);

Je zapravo ono sto se desi kada se timer zavrsi..

PTASK

Ovo je zanimljiva stvar, za sta sluzi PTASK?

PTASK je timer koji vrti za svakog igraca posebno, nesto nalik onoga sto vidjate na mnogo modova za PlayerTD-ove, banka, plata..

To je jedan nacin na koji moze da se koristi, on se ponavlja neogranicen broj puta ukoliko se ne zaustavi..

Code: You are not allowed to view links. Register or Login
ptask TimerIgrac[1000](playerid)
{
    new banka[10], zlato[10], plata[10], level[5];
    format(banka, 10, "%d$", PlayerInfo[playerid][pBankaNovac]);
    PlayerTextDrawSetString(playerid,BankaTD[playerid], banka);
    format(zlato, 10, "%dg", PlayerInfo[playerid][pBankaZlato]);
    PlayerTextDrawSetString(playerid, ZlatoTD[playerid], zlato);
    format(plata, 10, "%d$", PlayerInfo[playerid][pPlata]);
    PlayerTextDrawSetString(playerid, PlataTD[playerid], plata);
    format(level, 5, "%d", PlayerInfo[playerid][pLevel]);
    PlayerTextDrawSetString(playerid, LevelTD[playerid], level);
}

Ovo je jedan primer, na svaku jednu sekundu da se igracu "update-uju" tdovi za platu, zlato, level i novac u banci.. Ukoliko samo odradite ovo, timer ce sam da se automatski pokrene kada igrac udje na server, tako da ne morate da brinete gde ce te ga staviti itd itd..

TASK

Task je ista stvar kao i PTASK, ponavljajuci timer koji vrti za sve igrace.. Ovo bi mozda biti neke server poruke ili tako nesto, zavisi sta preferirate.

Takodje se koristi isto kao i PTASK, samo bez varijabli

Code: You are not allowed to view links. Register or Login
task ImeTimera[vreme]()
STOPIRANJE TIMERA

Ukoliko ipak zelite da zaustavite odredjeni timer, ide malo na cudniji nacin :/
Code: You are not allowed to view links. Register or Login
new Timer:NovoImeTimera; //Prvo cemo napraviti novu varijablu NovoImeTimera

NovoImeTimera = defer NasTimer(playerid); //Zatim cemo pokrenuti timer

stop NasTimer; //Koristimo "stop" da bi ga zaustavili kada to nama odgovara

Takodje, NasTimer koristimo kao i obican timer, pozivamo ga, zatim koristimo "timer" da bi oznacili sta ce se desiti kada se zavrsi
"Stop" koristimo kada zelimo da timer prestane a pritom ne dodje do kraja, tako da ukoliko ga "stopiramo", ono sto smo stavili da se desi u "timer" se nece ni desiti..

ZAKLJUCAK

Po meni, jako korisna stvar, pogotovo za pocetnike, takodje je mnogo "optimizovanija" nego SetTimer i SetTimerEx..
Svako ima svoje misljenje..
Prvi mi je tutorial, tako da prihvatam svaku kritiku.. Tutorial je takodje namenjen pocetnicima, tako da sam se potrudio pojasnim uz razne primere, sto bolje mogu.
Hvala na citanju <3 ;D


Offline

_slyz422, Admin

    Street Mob
      Postova: 58
    • RESPECT: 0
      • View Profile
Re: [TUTORIAL] Y_TIMERS
Reply #1 on: November 24, 2024, 08:56:28 PM
To cica, samo deri
Human brain fascinates me, How can Hooman brain know it forgot something if brain know what is that something how can he know that it forgot that someghing


Offline

Vostic, Korisnik

    Street Mob
      Postova: 50
    • RESPECT: 0
      • View Profile
Re: [TUTORIAL] Y_TIMERS
Reply #2 on: November 24, 2024, 09:11:59 PM
defer
Ne’š nada me


Offline

Jovanovic, Newbie

    Postova: 2
  • RESPECT: 0
    • View Profile
Re: [TUTORIAL] Y_TIMERS
Reply #3 on: November 24, 2024, 10:58:02 PM
dzaba ljudi ce i dalje koristiti timerfix umesto y_timersa, svaka cast


Offline

Frosty, Newbie

    Postova: 12
  • RESPECT: 0
    • View Profile
Re: [TUTORIAL] Y_TIMERS
Reply #4 on: November 24, 2024, 11:18:04 PM
Bravo, jos par stvarcica da pojasnimo tipa iteratora, variadic arguments ( y_va ), y_groups i mozda napokon ljudi pocnu da koriste YSI kako bogu spada...Doduse ja sam prvi koji koristi easyDialog umjesto y_dialogs iz navike, tako da nemam pravo glasa po ovom pitanju :D


Offline

surreal, Street Hustler

    Postova: 26
  • RESPECT: 0
    • View Profile
Re: [TUTORIAL] Y_TIMERS
Reply #5 on: November 25, 2024, 01:39:01 PM
V0ID on fire


 


Vrati se na pocetak
SMF 2.0.19 | SMF © 2021, Simple Machines
Page created in 0.071 seconds with 25 queries.
ZBS © 2011 - 2024, Zapadni Balkan SA:MP
Weiss X 10.2 © 2014, Jade Works Studio
Footer background belongs to GTA Forums
SimplePortal 2.3.7 © 2008-2026, SimplePortal