Podesi Vreme i Podesi Sat CMD

Započeo BeKaSRB, Januar 16, 2018, 00:14:06 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Pozz, pokazacu vam cmd koji sam nasao nije moj lako je za pocetnike i potrudicu se Å¡to bolje da ga objasnim. Pa da krenemo!

Na vrhu skripte dodajemo inkludove

[pawn]#include <a_samp>
#include <zcmd>
#include <sscanf2>
[/pawn]

Ispod inkludova definisemo neke boje

[pawn]#define ZUTA            "{F3FF02}"
[/pawn]

I napravicemo neke skracenice kao sto su

[pawn]#define SCM SendClientMessage                                    //Sta tacno rade ove skracenice, sama rec kaze skracuju rec ako vas mrzi da pisete puno ime funkcije ovo ce vam olaksati dosta
#define SCMTA SendClientMessageToAll
[/pawn]

Sada na dnu skripte dodajemo jedan stock

[pawn]stock GetPlayerNameEx(playerid) //Ovaj stock je napravljen da uzima Ime Igraca lakse
{
   new Name[MAX_PLAYER_NAME]; //definisemo nov Name
   GetPlayerName(playerid, Name, MAX_PLAYER_NAME); //Uzimamo igracevo ime
   return Name; //Vracamo Name
}[/pawn]

Sledeci korak pravimo komandu tj. CMD nju isto mozete dodati na kraju skripte ali pre stocka

[pawn]CMD:sat(playerid, params[], help)//Ovde upisujemo kako ce se odazivati nasa komanda kada u chatu ukucamo /ime komande
{
    #pragma unused help
   if(IsPlayerAdmin(playerid)) //Ako je igrac ulogovan kao RCON admin moze da koristi ovu komandu
   new time,string[128]; //definisemo time(vreme) i string
   if(sscanf(params, "i", time)) return SCM(playerid, -1, ""ZUTA"Pomoc | /sat [vreme]"); //Saljemo poruku adminu ako ne zna kako komanda funkcionise
   format(string,sizeof(string),""ZUTA"Admin %s je promenio vreme u %d sat/i!",GetPlayerNameEx(playerid),time); //Ispisuje poruku svim igracima koji je admin promenio vreme i u koliko sati
   SCMTA(-1,string); //Salje poruku svim igracima (-1) je bela boja, ali posto vec koristimo ""ZUTA" skripta ce da oboji tekst u zutu boju
   SetWorldTime(time); //Postavljamo vreme u igrici
   return 1;
}[/pawn]

[pawn]
//Objasnjenje  (%s - pretvara u slova tj. to ce biti adminovo ime npr. da se zove Pera_Peric stajace Admin Pera_Perovic je promenio vreme), a ovo (%d - to je broj on ce nam reci u koliko sati je admin promenio vreme 1,2,3,4.. "Primer Admin Pera_Perovic je promenio vreme u 1 sat/i")
[/pawn]


Sada prelazimo na drugu komandu VREME. Pošto vec sve potrebne stvari imamo mozemo je samo dodati posle komande CMD:sat

[pawn]CMD:vreme(playerid, params[], help) //Upisujemo kako ce se odazivati nasa komanda kada u chatu ukucamo /ime komande, u ovom slucaju /vreme
{
    #pragma unused help
        if(IsPlayerAdmin(playerid)) //Ako je igrac ulogovan kao RCON admin moze da koristi ovu komandu
   new string[128],weather; //definisemo string i weather(vreme)
   if(sscanf(params, "i", weather)) return SCM(playerid, -1, ""ZUTA"Pomoc | /vreme [vreme ID (0 - 45)]"); //Saljemo poruku adminu ako ne zna kako funkcionise komanda
   if(weather > 45 || weather < 0) return SCM(playerid, -1, ""ZUTA"GRESKA | Pogresan ID Vremena!!"); //Ako igrac kuca preko 45 ili ispod 0 broj za ovu komandu izacice mu ova poruka
   format(string,sizeof(string),""ZUTA"Admin %s je postavio vreme na %d!",GetPlayerNameEx(playerid),weather); //Saljemo poruku igracima da je admin promenio vreme na taj i taj ID
   SCMTA(-1,string); //Saljemo poruku svim igracima
   SetWeather(weather); //Postavljamo vreme u igrici
   return 1;
}[/pawn]

To bi bilo to od mene, nadam se da ste shvatili nesto potrudio sam se da sto bolje objasnim, ali mislim da je ovo prelaka komanda i da ce dobro doci pocetnicima kao Å¡to sam ja, pozdrav! :)

Zaključavanje teme
Razlog:
Prošloje mjesec dana od zadnjeg odgovora