new cmd[128], idx;
cmd = strtok(cmdtext, idx);
CMD:sethelp(playerid, params[])
{
new id, level;
if(sscanf(params, "ui", id, level)) return SendClientMessage(playerid, 0xD8D8D8FF, "Uso correto: /sethelper [id do player] [level]");
// Resto do Comando
return 1;
}
print("5");
giveplayerid = strval(tmp);
print("6");
if(!strlen(tmp))
{
SendClientMessage(playerid, 0xD8D8D8FF, "Uso correto: /sethelper [id do player] [level]");
return 1;
}
print("7");
tmp = strtok(cmd, idx);
print("8");
Nгo tenha preguiзa e refaзa o comando:
pawn Код:
. |
u - й usado para parte do nome ou id i ou d - й usado para nъmeros inteiros s - й usado para strings f - й usado para coordenadas, nъmeros nгo inteiros
new Helper[MAX_PLAYERS];
Helper[playerid] = strval(tmp);
if(Helper[playerid] < 0)
{
SendClientMessage(playerid, 0xD8D8D8FF, "Level de Helper invбlido!");
return 1;
}
if(Helper[playerid] == Player[giveplayerid][pHelper])
{
format(string, sizeof(string), "Este player jб tem esse nнvel %d de helper!", Helper[playerid]);
SendClientMessage(playerid, 0xD8D8D8FF, string);
return 1;
}
e como fica essa parte aq eu uso /sethelper e so fica dando isso aq Este player jб tem esse nнvel 0 de helper! |
CMD:sethelper(playerid,params[])
{
//Caso queira por restriзхes para usar o comando
if(SuaVardeAdmin[playerid] < LevelRequeridoPorVoce) return SendClientMessage(playerid,0xD8D8D8FF,"Vocк nгo pode usar esse comando");
//Variбvel que armazenarб o id que vai ser trabalhado. Obs: ID й diferente de playerid.
//Pois playerid й o seu id enquanto ID serб o id digitado por vocк no comando, ou seja,
//representarб o id do jogador escolhido.
new ID;
//Variбvel que armazenarб o level de helper que vai ser setado.
new Level;
//Aqui chega na parte da sua dъvida. Note que embaixo tem "dd" isso pq sгo respresentaзхes das variaveis
//trabalhadas, isto й, ID e Level.
//Ou seja, se fosse um comando de /report [id] [motivo] ficaria assim: if(sscanf(params,"dds[128]",ID,Level,Motivo))
//Pois o Motivo seria uma string, ou seja, tem o sнmbolo "s"
//-------------------------------------------------------
//Outro exemplo --> /mensagem [mensagem] ficaria assim:
// new Mensagem[128];
// if(sscanf(params,"s[128]",Mensagem))
// {
//=========================================
//Espero que tenha entendido essa parte :)
//=========================================
if(sscanf(params,"dd",ID,Level))
{
SendClientMessage(playerid,0xD8D8D8FF,"Uso correto: /sethelper [id] [level]");
return 1;
}
//Verifica se o ID estб conectado.
if(!IsPlayerConnected(ID))
{
SendClientMessage(playerid,0xD8D8D8FF,"Jogador nгo conectado.");
return 1;
}
//Se o valor de Level for menor que 1 retorna a este erro
if(Level < 1) return SendClientMessage(playerid, 0xD8D8D8FF, "Level de Helper invбlido!");
//Aqui a parte que vocк provavelmente se confundiu
if(Level == SuaVarDeHelp[ID])
{
new string[128];
format(string, sizeof(string), "Este player jб tem esse nнvel %d de helper!", SuaVarDeHelp[ID]);
SendClientMessage(playerid, 0xD8D8D8FF, string);
return 1;
}
//Como nгo tem mais nada impedindo que o jogador ganhe seu merecido level, setamos o player :)
SuaVarDeHelp[ID]=Level;
return 1;
}
if(Level == pHelper[ID])
error 028: invalid subscript (not an array or too many subscripts): "pHelper"
warning 215: expression has no effect
error 001: expected token: ";", but found "]"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line
if(Level == Player[ID][pHelper])