Balkan SA:MP

San Andreas Multiplayer - www.sa-mp.com => Tutorijali u vezi SA-MPa => Temu započeo: rikiye poslato Maj 14, 2021, 18:19:04 POSLE PODNE

Naslov: Kako napraviti Datum/Vreme TD (da se updateaju :D)
Poruka od: rikiye poslato Maj 14, 2021, 18:19:04 POSLE PODNE
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 :)
Naslov: Odg: Kako napraviti Datum/Vreme TD (da se updateaju :D)
Poruka od: 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.
Naslov: Odg: Kako napraviti Datum/Vreme TD (da se updateaju :D)
Poruka od: rikiye poslato Maj 14, 2021, 18:30:27 POSLE PODNE
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
Naslov: Odg: Kako napraviti Datum/Vreme TD (da se updateaju :D)
Poruka od: schatzi poslato Maj 14, 2021, 20:00:24 POSLE PODNE
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
Naslov: Odg: Kako napraviti Datum/Vreme TD (da se updateaju :D)
Poruka od: rane poslato Maj 14, 2021, 23:15:57 POSLE PODNE
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
Naslov: Odg: Kako napraviti Datum/Vreme TD (da se updateaju :D)
Poruka od: fajnydzieciak poslato Maj 14, 2021, 23:55:10 POSLE PODNE
task ...[1000]() {}
Naslov: Odg: Kako napraviti Datum/Vreme TD (da se updateaju :D)
Poruka od: rikiye poslato Maj 15, 2021, 00:22:14 PRE PODNE
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
Naslov: Odg: Kako napraviti Datum/Vreme TD (da se updateaju :D)
Poruka od: // xunder poslato Maj 15, 2021, 01:54:12 PRE PODNE
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.
Naslov: Odg: Kako napraviti Datum/Vreme TD (da se updateaju :D)
Poruka od: PazzOnee poslato Maj 15, 2021, 02:18:23 PRE PODNE
Batica pravi tutorijale, a ovamo pita osnove neke, gde ide ovaj svet...
Naslov: Odg: Kako napraviti Datum/Vreme TD (da se updateaju :D)
Poruka od: Bit Frosty poslato Maj 15, 2021, 13:54:32 POSLE PODNE
Ako nekome za ovo treba tutorial taj treba da batali skriptanje dok ne nauci principe/osnove programiranja...