U ovom tutorialu ću vam pokazati kako napraviti jednostavan donator sistem s bodovima
Morate znati kako dodati nove varijable za uÄitavanje/spremanje jer ja to neću objaÅ¡njavati
Koristimo
PoÄetak
Za poÄetak trebate dodati na vrh skripte(ukoliko već nemate definirano):
#define SCM SendClientMessage
#define SPD ShowPlayerDialogSada trebamo definirati ID dialoga
#define DIALOG_DONATOR 32//Ja sam stavio ID 32, vi sebi prilagoditeVarijable
Vi morate dodati jednu varijablu u svoj enum kako bi skripta pamtila donator bodove
Ovako to kod mene izgleda (ako vi imate drukÄije morate si prilagoditi):
enum pInfo
{
pBodovi
}:
new PlayerInfo;Komanda /ddb
Sada ćemo napraviti komandu za davanje bodova igraÄu
Sve je objašnjeno unutar komande
Ukoliko nemate iste nazive varijabli kao ja morate ih zamjeniti sa svojima
CMD:ddb(playerid, params[])
{
new id, koliko, sendername, string;
if(!(PlayerInfo >= 1337)) return SCM(playerid, -1,"Nemate ovlasti da koristite ovu komandu!"); //Provjerava dali je igraÄ 1337 admin, ako nije ispisuje mu poruku
else if(sscanf(params,"ui", id, koliko)) return SCM(playerid, -1,"Koristi: /ddb "); //Ako igraÄ nije upisao sve potrebne parametre ispisuje mu poruku
else if(!IsPlayerConnected(id)) return SCM(playerid, -1,"Pogresan ID igraca"); //Provjerava dali je taj igraÄ online
else
{
PlayerInfo += koliko; //Dodaje igraÄu donator bodove
GetPlayerName(playerid, sendername, sizeof(sendername));
sendername[strfind(sendername,"_")] = ' ';
format(string, sizeof(string),"Admin %s vam je dao %i Donator Bodova", sendername, koliko);
SCM(id, -1, string); //Ispisuje igraÄu poruku
format(string, sizeof(string),"Trenutno stanje tvojih Donator Bodova je: %d", PlayerInfo);
SCM(id, -1, string); //Ispisuje igraÄu poruku
}
return 1;
}
CMD:dajdonatorbodove(playerid, params[]) return cmd_ddb(playerid, params);Komanda /donator
Ova komanda služi za one koji imaju donator bodova
Sve je objašnjeno unutar nje
CMD:donator(playerid, params[])
{
if(!(PlayerInfo >= 1)) return SCM(playerid, -1, "Nemate donator bodove!"); //Ukoliko igraÄ nema donator bodove ispisuje mu poruku
{
SPD(playerid, DIALOG_DONATOR, DIALOG_STYLE_LIST, "Bodovi", "1. 10000$\t(5 bodova)", "Uredu", "Izlaz"); //Otvara igraÄu dialog
}
return 1;
}
Dialog
Sada ćemo dodati dialog za donatore
Dialog dodajete pod public OnDialogResponse
if(dialogid == DIALOG_DONATOR) //Provjerava id dialoga
{
if(response)
{
if(listitem == 0)
{
new string;
if(PlayerInfo < 5) return SCM(playerid, -1, "Nemas dovoljno donator bodova za ovo!");//Ukoliko igraÄ nema dovoljno bodova ispisuje mu ovu poruku
GivePlayerMoney(playerid, 10000); //Daje igraÄu 10000$
PlayerInfo -= 5; //Oduzima igraÄu 5 donator bodova
format(string, sizeof(string),"Odabrali ste 10000$, -5 bodova | Sada imas: %d donator bodova", PlayerInfo);
SCM(playerid, -1, string); //Ispisuje igraÄu poruku
}
}
}Kraj
Ako ugledate neku pogrešku u tutorialu, javite da ispravim
Ukoliko vam nešto nije jasno slobodno pitajte
