Kako napraviti Datum/Vreme TD (da se updateaju :D)

Započeo rikiye, Maj 14, 2021, 18:19:04 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Pozdrav, ovo je moj prvi tutorijal ikada.
Danas vam pokazujem kako napravi tdove za vrijeme i datum koji se updateaju
Ja sam napravio tdove za to koji se nalaze iznad minimape:
[pawn]   VrijemeDatumTD1 = TextDrawCreate(552.889038, 45.297813, "00/00/0000");
   TextDrawLetterSize(VrijemeDatumTD1, 0.226887, 0.972798);
   TextDrawAlignment(VrijemeDatumTD1, 1);
   TextDrawColor(VrijemeDatumTD1, -1);
   TextDrawSetShadow(VrijemeDatumTD1, 0);
   TextDrawSetOutline(VrijemeDatumTD1, 1);
   TextDrawBackgroundColor(VrijemeDatumTD1, 51);
   TextDrawFont(VrijemeDatumTD1, 3);
   TextDrawSetProportional(VrijemeDatumTD1, 1);

   VrijemeDatumTD2 = TextDrawCreate(555.555664, 30.862262, "00:00");
   TextDrawLetterSize(VrijemeDatumTD2, 0.362443, 1.674666);
   TextDrawAlignment(VrijemeDatumTD2, 1);
   TextDrawColor(VrijemeDatumTD2, -1);
   TextDrawSetShadow(VrijemeDatumTD2, 0);
   TextDrawSetOutline(VrijemeDatumTD2, 1);
   TextDrawBackgroundColor(VrijemeDatumTD2, 51);
   TextDrawFont(VrijemeDatumTD2, 3);
   TextDrawSetProportional(VrijemeDatumTD2, 1);[/pawn]
Naravno vi to sebi prilagodite u vasem modu, ili iskoristite vase TDOVE

Korak 1: Sada pravimo timer za vrijeme i datum TD-a
To stavljamo pod OnPlayerConnect:
[pawn] SetTimer("TDVrijeme", 1000, true); //znaci SetTimer pa ide ime tajmera, trajanje, ponavlja se[/pawn]

Korak 2: Sada kreiramo forward i public u kojima cemo staviti da se datum i vrijeme ocitavaju na TD-ovima
[pawn]forward TDVrijeme(playerid);
public TDVrijeme(playerid)
{
   new string[128], year, mounth, day, hours, minutes, sec;
   getdate(year, mounth, day), gettime(hours, minutes, sec);
   format(string, sizeof(string), "%s%d/%s%d/%s%d", ((day < 10) ?("0") : ("")), day, ((mounth < 10) ?("0") : ("")), mounth, ((year < 10) ?("0") : ("")), year);
   TextDrawSetString(VrijemeDatumTD1, string);
   format(string, sizeof(string), "%s%d:%s%d", ((hours < 10) ?("0") : ("")), hours, ((minutes < 10) ?("0") : ("")), minutes);
   TextDrawSetString(VrijemeDatumTD2, string);
}[/pawn]
I to bi bilo to sto se tice ovog tutorijala, nadam se da sam nekom pomogao i izvinjavam se ako je nesto lose uradjeno jer se i ja idalje nazivam pocetnikom :)
Ecuador Online Gaming Community Founder

dsc.gg/ecuador-rp

Gledaj, vjerujem da je tebi puno srce i da si zadovoljan jer si napravio neki tutorijal, ali totalno nepotreban, vjerujem da ce jos na milion mali mjesta naci isti tutorijal tako da smatram da je beskoristan.
I sam si rekao da si pocetnik, tako da od tebe ne mogu nista vise da ocekujem, tako da shvati ovo na prijateljski nacin, nemoj da kacis nesto sto nece biti od pomoci.
Jedini oni koji ce vidjeti tvoj post, jesu oni koji su pocetnici kao i ti i ne koriste google za istrazivanje, vec kopaju po bsampu i nadju "pogresan" nacin.

Citat: Galardo poslato Maj 14, 2021, 18:24:57 POSLE PODNE
Gledaj, vjerujem da je tebi puno srce i da si zadovoljan jer si napravio neki tutorijal, ali totalno nepotreban, vjerujem da ce jos na milion mali mjesta naci isti tutorijal tako da smatram da je beskoristan.
I sam si rekao da si pocetnik, tako da od tebe ne mogu nista vise da ocekujem, tako da shvati ovo na prijateljski nacin, nemoj da kacis nesto sto nece biti od pomoci.
Jedini oni koji ce vidjeti tvoj post, jesu oni koji su pocetnici kao i ti i ne koriste google za istrazivanje, vec kopaju po bsampu i nadju "pogresan" nacin.
bas zato sto svi to rade i traze po bsampu sam ovo i napravio, jednostavno rijetko ko trazi po google nego traze sve na ovom forumu vec gotovo, ne bih ja ovo pravio da nije takva situacija
Ecuador Online Gaming Community Founder

dsc.gg/ecuador-rp

Citat: riiki.exe poslato Maj 14, 2021, 18:30:27 POSLE PODNE
bas zato sto svi to rade i traze po bsampu sam ovo i napravio, jednostavno rijetko ko trazi po google nego traze sve na ovom forumu vec gotovo, ne bih ja ovo pravio da nije takva situacija
Te tajmere imas isto u tutorijal kod TazGee-a koji meni naravno ne trebaju pa neko moze da gleda da napravi neki mod od nule sa od prilike 20k linija ako bude na kraju
Sunce greje lagano šetam se po Voždovcu
Moja kučka i ja, furam je na povodcu
Zove se Lola i nije nešto lepa
Ali meni daće lapo kada dokopa se repa
Rođena na ulici, dolazi iz geta
I zato je gangsta kučka, a ne starleta
Zahvaljujući njoj meni dignuta je đoka
Krov je spušten, vožnjica od bloka do bloka
I ako glumiš mangupa jebaće ti mamicu
U tašni nema lak za nokte, ali ima palicu
Odrasla na Medaku, iz huda je sestra
Nijedna Snoopova kučka nije tol'ko gangsta
Za nju sam 'Pac, ona moja je Madonna
Ako znaš još neku takvu javi mi preko fona
I kada njesra izbije ona ne vata pištolja
Već nabada na prvu jer je gangsta drolja

taj timer si mogao staviti i u task a new year, mounth, day, hours, minutes, sec; si mogao negdje na pocetak skripte da ih ne definise bzvz svaki put

[Filterscript] Simple Treasure Hunt
[Filterscript] Sistem pecanja
[Filterscript] Meditacija
[Filterscript] Molitva
[Include] Alarm
[Include] Posao Taxi


Citat: Galardo poslato Maj 14, 2021, 18:24:57 POSLE PODNE
Gledaj, vjerujem da je tebi puno srce i da si zadovoljan jer si napravio neki tutorijal, ali totalno nepotreban, vjerujem da ce jos na milion mali mjesta naci isti tutorijal tako da smatram da je beskoristan.
I sam si rekao da si pocetnik, tako da od tebe ne mogu nista vise da ocekujem, tako da shvati ovo na prijateljski nacin, nemoj da kacis nesto sto nece biti od pomoci.
Jedini oni koji ce vidjeti tvoj post, jesu oni koji su pocetnici kao i ti i ne koriste google za istrazivanje, vec kopaju po bsampu i nadju "pogresan" nacin.

A i vidim, ocito sam ja zeznuo tako da moze neko obrisati post slobodno :D
Ecuador Online Gaming Community Founder

dsc.gg/ecuador-rp

Imenovanje callbackoa ti je uzasno. Mislim da ne treba mnogo da se objasnjava samo pogledaj nativne SAMP callbackove (OnPlayerConnect, OnGameModeInit itd).
Sto se tice samog koda ternary operatori su ti nepotrebni i (iako nece uticati na performanse nesto posebno) mozes da ih izbjegnes veoma lako.


forward TDVrijeme(playerid);
public TDVrijeme(playerid)
{
new string[128], year, mounth, day, hours, minutes, sec;
getdate(year, mounth, day), gettime(hours, minutes, sec);
format(string, sizeof(string), "%02d/%02d/%d", day, mounth, year);
TextDrawSetString(VrijemeDatumTD1, string);
format(string, sizeof(string), "%02d:%02d", hours, minutes);
TextDrawSetString(VrijemeDatumTD2, string);
}


Takodje, 128 string size ti je overkill. Koristis 10 karaktera max.

Citat: Dejan (dekszy) poslato Maj 14, 2021, 23:55:10 POSLE PODNE
task ...[1000]() {}

Mozda covjek ne korsiti y_timers. Slazem se da je lakse ali je nepotrebno forsirati ljude jer includeovi su opcionalni.

Batica pravi tutorijale, a ovamo pita osnove neke, gde ide ovaj svet...

Ako nekome za ovo treba tutorial taj treba da batali skriptanje dok ne nauci principe/osnove programiranja...