Skripta koju koristim:moja
Problem:pa samo kad bi mi neko u odgovoru poslao kodove komande /makeadmin ali sa mojim varijablom tj AdminLevel mi je varijabl :D
Dio skripte:OnPLayerCommandText
Prvo stavi u pInfo sledece
pAdmin
Onda stavi u onplayerdisconnect da spremi podatke od igraca
new INI:File = INI_Open(VASPATH(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
INI_Close(File);
//promijeni VASPATH
Potrebno ti je getname da uzme igracevo ime.
stock GetName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
return name;
}
Najbolje ti je da koristis ZCMD
#include <zcmd>
ili ako zelis YCMD
#include < YSI\y_commands >
Mada su isti :)
Potreban ti je ssacnf
#include <sscanf>
Definisi SCM za brzi rad.
#define SCM SendClientMessage
I onda idemo na komandu
CMD:makeadmin(playerid,params)
{
if(!IsPlayerAdmin(playerid)) return SCM(playerid,-1,"Nisi Admin");//Provjerava dali je igrac ulogovan kao RCON Admin, ako nije posalje mu poruku
new id,admlevel,string[256];//potrebno za komandu
if(sscanf(params, "ud", id, admlevel)) return SCM(playerid, -1, "/makeadmin [id] [level]");//ako kucas samo /makeadmin ili gorijesis postupak komande mislim ako kucas /makeadmin [level] [id] posalje ti kako treba ispravno uraditi xd
if(id == INVALID_PLAYER_ID) return SCM(playerid,-1,"Pogresan id");//ako admin pogrijesi id
if(admlevel< 0 || admlevel> 7) return SCM(playerid, -1, "Ne idite ispod 0 ili iznad 7");//ako igrac ukuca broj ispod 0 ili iznad 7 posalje mu poruku(promjeni sebi)
PlayerInfo[playerid][pAdmin] = admlevel;//postavi igracu admina level koji si ti ukucao kada si isao /makeadmin
format(string,sizeof(string),"Admin %s vam je postavio admin level na %d!",GetNAme(playerid),admlevel);
SCM(id,-1,string);//Posalje igracu poruku nakon sto postavis admina
format(string,sizeof(string),"Postavili ste igracu %s level admina %d",GetName(id),admlevel);
SCM(playerid,-1,string);//Posalje adminu poruku
return 1;//Postavis return 1 ili ce ti pisati "unknown command"
}
Ovo u poruci "%s" ti je za slova, a "%d" ti je za brojeve kao sto vidis.
Ovo INVALID_PLAYER_ID definisi ovako
#define IPI INVALID_PLAYER_ID
Sacuva ti dosta vremena :P xd
Eto valjda sam ti malo pomogao, ako sam negdje pogrijesio neka neko ispravi.
http://prntscr.com/4x9qz3 brt evo mi ga error ako mozes brzo da mi odgovoris
Promjeni to u "GetName" bilo ti je "GetNAme"
promijenio sam i hvala ti puno ali mi je ostao jos jedan error ako mozes samo da mi pomognes sta cu sad http://prntscr.com/4x9wzr
Posalji skriptu gdje je taj error