PARTNERI:

* Marketing



-UPOZORENJE-

Samo registrovani članovi mogu da vide/koriste forum u celini.
Prijavite se ili registrujte nalog na Balkan SA-MP forumu.


Autor Tema: [Tutorial] Y_TIMERS  (Pročitano 3484 puta)

0 članova i 1 gost pregledaju ovu temu.

Van mreže V01D

Y_TIMERS
« poslato: Februar 20, 2020, 23:35:01 posle podne »
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"

Pawno Code: [Izaberi]
defer NekiTimer(vrednosti koje zelimo preneti);
Ovo deluje zbunjujuce, ali sada cu pokazati upotrebu u tipa robu banke..

Pawno Code: [Izaberi]
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
Pawno Code: [Izaberi]
( ) 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??

Pawno Code: [Izaberi]
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 :

Pawno Code: [Izaberi]
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..

Pawno Code: [Izaberi]
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

Pawno Code: [Izaberi]
task ImeTimera[vreme]()
STOPIRANJE TIMERA

Ukoliko ipak zelite da zaustavite odredjeni timer, ide malo na cudniji nacin :/
Pawno Code: [Izaberi]
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


RADOVI

Y_TIMERS TUT -> KLIKNI ME NEZNO
Duel System FS -> KLIKNI ME NEZNO
Noise RolePlay -> KLIKNI ME NEZNO
C# Custom SAMP Launcher -> KLIKNI ME NEZNO
FySnow Map -> KLIKNI ME NEZNO
Hunger Games FS -> KLIKNI ME NEZNO
FunRace LiveEvent FS -> KLIKNI ME NEZNO
Registracija Sistem(VIDEO) -> KLIKNI ME NEZNO

Napustio SAMP

 
Korisnici koji su se zahvalili: Bratislava, Ljubisa, Teodor

Van mreže YumikoJR

Odg: Y_TIMERS
« Odgovor #1 poslato: Februar 20, 2020, 23:44:25 posle podne »
posluzice pocetnicima
 
Korisnici koji su se zahvalili: V01D

Na mreži Galardo

Odg: Y_TIMERS
« Odgovor #2 poslato: Februar 20, 2020, 23:47:41 posle podne »
eto @daddy. mozda naucim   :D
@tema fino objasnjeno  ;)
 
Korisnici koji su se zahvalili: V01D

Van mreže over

Odg: Y_TIMERS
« Odgovor #3 poslato: Februar 21, 2020, 00:04:23 pre podne »
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"

Pawno Code: [Izaberi]
defer NekiTimer(vrednosti koje zelimo preneti);
Ovo deluje zbunjujuce, ali sada cu pokazati upotrebu u tipa robu banke..

Pawno Code: [Izaberi]
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
Pawno Code: [Izaberi]
( ) 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??

Pawno Code: [Izaberi]
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 :

Pawno Code: [Izaberi]
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..

Pawno Code: [Izaberi]
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

Pawno Code: [Izaberi]
task ImeTimera[vreme]()
STOPIRANJE TIMERA

Ukoliko ipak zelite da zaustavite odredjeni timer, ide malo na cudniji nacin :/
Pawno Code: [Izaberi]
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
lepoo.
 
Korisnici koji su se zahvalili: V01D

Van mreže V01D

Odg: Y_TIMERS
« Odgovor #4 poslato: Februar 21, 2020, 00:07:51 pre podne »

RADOVI

Y_TIMERS TUT -> KLIKNI ME NEZNO
Duel System FS -> KLIKNI ME NEZNO
Noise RolePlay -> KLIKNI ME NEZNO
C# Custom SAMP Launcher -> KLIKNI ME NEZNO
FySnow Map -> KLIKNI ME NEZNO
Hunger Games FS -> KLIKNI ME NEZNO
FunRace LiveEvent FS -> KLIKNI ME NEZNO
Registracija Sistem(VIDEO) -> KLIKNI ME NEZNO

Napustio SAMP

 

Na mreži Ljubisa

Odg: Y_TIMERS
« Odgovor #5 poslato: Februar 21, 2020, 00:09:29 pre podne »
Lepo objasnjeno, pocetnik sam i shvatio sam sve kako valja. Veoma korisno i jednostavno  :D
 
Korisnici koji su se zahvalili: V01D

Van mreže RomaNN

Odg: Y_TIMERS
« Odgovor #6 poslato: Februar 21, 2020, 00:12:15 pre podne »
Poceo sam da koristim ima 2-3 meseca od kada je muma objavio njegov V mod i video sam to , tako da dosta je bolje i lakse nego sa settimer po meni, za vas ne znam, posluzice dosta :]
 
Korisnici koji su se zahvalili: V01D

Van mreže V01D

Odg: Y_TIMERS
« Odgovor #7 poslato: Februar 21, 2020, 00:14:12 pre podne »
Lepo objasnjeno, pocetnik sam i shvatio sam sve kako valja. Veoma korisno i jednostavno  :D
Poceo sam da koristim ima 2-3 meseca od kada je muma objavio njegov V mod i video sam to , tako da dosta je bolje i lakse nego sa settimer po meni, za vas ne znam, posluzice dosta :]

Hvala, ukoliko imate bilo kakva pitanja ili nesto nije jasno, slobodno ili ovde ili u PM :D

RADOVI

Y_TIMERS TUT -> KLIKNI ME NEZNO
Duel System FS -> KLIKNI ME NEZNO
Noise RolePlay -> KLIKNI ME NEZNO
C# Custom SAMP Launcher -> KLIKNI ME NEZNO
FySnow Map -> KLIKNI ME NEZNO
Hunger Games FS -> KLIKNI ME NEZNO
FunRace LiveEvent FS -> KLIKNI ME NEZNO
Registracija Sistem(VIDEO) -> KLIKNI ME NEZNO

Napustio SAMP

 
Korisnici koji su se zahvalili: Ljubisa

Na mreži daddy.

Odg: Y_TIMERS
« Odgovor #8 poslato: Februar 21, 2020, 20:27:13 posle podne »
eto @daddy. mozda naucim   :D
@tema fino objasnjeno  ;)
Sumnjam
#tema poslužiti će nekima ;)
-[ Respect: Galardo, MaTTaTa, Necro, Vasic, Muma, Naithan, Marshall, J. Remington, Purdinho, fuksich, Jevremovic, Milkic.dev ]-

• samp.attox.net:7790 •



 
Korisnici koji su se zahvalili: V01D

Van mreže bunta

Odg: Y_TIMERS
« Odgovor #9 poslato: Februar 23, 2020, 10:45:47 pre podne »
kul
Mnogo imaš¡ ti još¡ da jedeš¡ kačamak.
skrr
Moj tutorijali: Bazilion indent warninga
WORK? : Smart Project 1.2 , Leskovacki Detmec, Rodjendanski  server


Penzionisani balkanski samp kripter

 
Korisnici koji su se zahvalili: V01D

Van mreže V01D

Odg: Y_TIMERS
« Odgovor #10 poslato: Februar 23, 2020, 13:28:04 posle podne »

RADOVI

Y_TIMERS TUT -> KLIKNI ME NEZNO
Duel System FS -> KLIKNI ME NEZNO
Noise RolePlay -> KLIKNI ME NEZNO
C# Custom SAMP Launcher -> KLIKNI ME NEZNO
FySnow Map -> KLIKNI ME NEZNO
Hunger Games FS -> KLIKNI ME NEZNO
FunRace LiveEvent FS -> KLIKNI ME NEZNO
Registracija Sistem(VIDEO) -> KLIKNI ME NEZNO

Napustio SAMP

 

Van mreže Teodor

Odg: Y_TIMERS
« Odgovor #11 poslato: Februar 23, 2020, 23:36:41 posle podne »
Thx pomogao si mi
 
Korisnici koji su se zahvalili: V01D

Van mreže Purdinho

Odg: Y_TIMERS
« Odgovor #12 poslato: Februar 24, 2020, 00:17:41 pre podne »
Prekjucer sam poceo bas ovo raditi na mom modu , tako da si oke sve objasnio, fin tutorial :D

[ "There's the secret of life. People change people. No matter what I teach you in here, learning from the people you care about is more important than the words on any page" ]
 
Korisnici koji su se zahvalili: V01D

Van mreže V01D

Odg: Y_TIMERS
« Odgovor #13 poslato: Februar 24, 2020, 06:32:59 pre podne »
Thx pomogao si mi
Prekjucer sam poceo bas ovo raditi na mom modu , tako da si oke sve objasnio, fin tutorial :D

Hvala

RADOVI

Y_TIMERS TUT -> KLIKNI ME NEZNO
Duel System FS -> KLIKNI ME NEZNO
Noise RolePlay -> KLIKNI ME NEZNO
C# Custom SAMP Launcher -> KLIKNI ME NEZNO
FySnow Map -> KLIKNI ME NEZNO
Hunger Games FS -> KLIKNI ME NEZNO
FunRace LiveEvent FS -> KLIKNI ME NEZNO
Registracija Sistem(VIDEO) -> KLIKNI ME NEZNO

Napustio SAMP