Help setlevel
#1

Hi

Can someone fix that if I dont insert ID and level it will send me message "USAGE: /setlevel <ID> <Level>"

PHP код:
CMD:setlevel(playerid,params[])
{
new 
level,id,file[256],n[MAX_PLAYER_NAME];
new 
tmp[256], tmp2[256], Index,str[50];
tmp strtok(params,Index), tmp2 strtok(params,Index),id strval(tmp),level strval(tmp2);
GetPlayerName(id,n,MAX_PLAYER_NAME);
format(file,sizeof(file),"MyAdmin/Users/%s.txt",n);
if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid,GREY,"You are not an RCON admin!");
if(!
strlen(params)) return SendClientMessage(playerid,GREY,"USAGE: /setlevel <ID> <Level>");
if(!
IsPlayerConnected(id))return SendClientMessage(playerid,GREY,"You have entered an incorrect ID");
if(
level || level 5) return SendClientMessage(playeridORANGE"Level must be between 0 and 5!");
PInfo[id][Level] = level;
dini_IntSet(file,"Level",level);
format(str,sizeof(str),"You have set %s's level to %d",n,level);
SendClientMessage(playerid,LIGHTBLUE,str);
return 
1;

Reply
#2

Ever thought of using sscanf?
Reply
#3

pawn Код:
CMD:setlevel(playerid,params[])
{
if(sscanf(params, "ui", target, level)) return SendClientMessage(playerid, red, "Correct usage: /setadmin [playerid/name] [level]");
new level,id,file[256],n[MAX_PLAYER_NAME];
new tmp[256], tmp2[256], Index,str[50];
tmp = strtok(params,Index), tmp2 = strtok(params,Index),id = strval(tmp),level = strval(tmp2);
GetPlayerName(id,n,MAX_PLAYER_NAME);
format(file,sizeof(file),"MyAdmin/Users/%s.txt",n);
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,GREY,"You are not an RCON admin!");
if(!strlen(params)) return SendClientMessage(playerid,GREY,"USAGE: /setlevel <ID> <Level>");
if(!IsPlayerConnected(id))return SendClientMessage(playerid,GREY,"You have entered an incorrect ID");
if(level < 0 || level > 5) return SendClientMessage(playerid, ORANGE, "Level must be between 0 and 5!");
PInfo[id][Level] = level;
dini_IntSet(file,"Level",level);
format(str,sizeof(str),"You have set %s's level to %d",n,level);
SendClientMessage(playerid,LIGHTBLUE,str);
return 1;
}
This should solve your problem, don't forget to get sscanf inculde and include it in your gamemode/script.
Reply
#4

PHP код:
error 017undefined symbol "target" 
Reply
#5

Quote:
Originally Posted by kalanerik99
Посмотреть сообщение
PHP код:
error 017undefined symbol "target" 
hmm, it should work fine... try playerid instead of target.
Reply
#6

but it show me error
Reply
#7

under CMDetlevel, create a new variable, "new target;"
Reply
#8

Quote:
Originally Posted by kalanerik99
Посмотреть сообщение
PHP код:
error 017undefined symbol "target" 
Quote:
Originally Posted by kalanerik99
Посмотреть сообщение
but it show me error
ow yeah, sorry my bad
pawn Код:
CMD:setlevel(playerid,params[])
{
new target;
if(sscanf(params, "ui", target, level)) return SendClientMessage(playerid, red, "Correct usage: /setadmin [playerid/name] [level]");
new level,id,file[256],n[MAX_PLAYER_NAME];
new tmp[256], tmp2[256], Index,str[50];
tmp = strtok(params,Index), tmp2 = strtok(params,Index),id = strval(tmp),level = strval(tmp2);
GetPlayerName(id,n,MAX_PLAYER_NAME);
format(file,sizeof(file),"MyAdmin/Users/%s.txt",n);
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,GREY,"You are not an RCON admin!");
if(!strlen(params)) return SendClientMessage(playerid,GREY,"USAGE: /setlevel <ID> <Level>");
if(!IsPlayerConnected(id))return SendClientMessage(playerid,GREY,"You have entered an incorrect ID");
if(level < 0 || level > 5) return SendClientMessage(playerid, ORANGE, "Level must be between 0 and 5!");
PInfo[id][Level] = level;
dini_IntSet(file,"Level",level);
format(str,sizeof(str),"You have set %s's level to %d",n,level);
SendClientMessage(playerid,LIGHTBLUE,str);
return 1;
}
now this will work ._. it's night time here, I'm so tired didn't notice my fault
Reply
#9

Or you could just have used "id".

EDIT: the whole command won't work. You'll need to either use "target" on everything or "id" on everything.
Reply
#10

Quote:
Originally Posted by Isolated
Посмотреть сообщение
Or you could just have used "id".

EDIT: the whole command won't work. You'll need to either use "target" on everything or "id" on everything.
It compiles fine for me, meh people use codes which they didn't even make... if you don't want to get stuck with something, use your own codes.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)