[AJUDA] Convertendo uns comandos e erros -
Chis - 23.01.2012
Me desculpem por estar flodando tуpicos com dъvidas sobre comandos, prometo que essa й o ultima, pelomenos de hoje й a ultima <

>
Resolvendo esse problema eu ja consigo resolver o resto dos outros comandos 90%.
To convertendo os comandos strcmp para dcmd
Quando eu vou compilar da erro
(421) : error 017: undefined symbol "strtok"
(421) : error 033: array must be indexed (variable "cmd")
(425) : error 017: undefined symbol "strtok"
(425) : error 033: array must be indexed (variable "tmp")
(430) : error 017: undefined symbol "strtok"
(430) : error 033: array must be indexed (variable "tmp")
(416) : warning 203: symbol is never used: "idx"
pawn Код:
dcmd_daradmin(playerid, params[])
{
#pragma unused params
new cmd[256];
new idx; // LINHA 416
new string[256];
new tmp[256];
new NomeDado[128];
new NomeDado1[128];
cmd = strtok(cmdtext, idx); // LINHA 421
if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COR_CINZA, "Vocк nгo estб conetado!");
if(LevelInfo[playerid][Admin] < 4) return SendClientMessage(playerid, COR_MARROMCLARO, "[ERRO] Vocк nгo tem permissгo para executar este comando.");
if(AdminTrabalhando[playerid] < 1) return SendClientMessage(playerid, COR_MARROMCLARO, "[AVISO] Vocк nгo estб trabalhando USE /trampar");
tmp = strtok(cmdtext, idx); // LINHA 425
if(!strlen(tmp)) return SendClientMessage(playerid, COR_CINZA, "USE: /daradmin [id] [Nivel]");
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx); //LINHA 430
if(!strlen(tmp)) return SendClientMessage(playerid, COR_CINZA, "USE: /daradmin [id] [Nivel]");
level = strval(tmp);
GetPlayerName(para1, NomeDado, sizeof(NomeDado));
GetPlayerName(playerid, NomeDado1, sizeof(NomeDado1));
if(para1 == INVALID_PLAYER_ID) return SendClientMessage(playerid, COR_BRANCO, "Player nгo conetado!");
if(level == 0) return SendClientMessage(playerid, COR_BRANCO, "Para tirar admin a alguem use: /tiraradmin");
if(level > 5) return SendClientMessage(playerid, COR_BRANCO, "Vocк nгo pode dar admin level 5+ a ninguem!");
format(string, sizeof string, "Vocк promoveu um cargo administrativo level %d para o laranja %s", level, NomeDado);
SendClientMessage(playerid, 0xABCDEF01, string);
format(string, sizeof string, "Vocк foi promovido ao cargo administrativo level %d do administrador %s. Parabйns.", level, NomeDado1);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
LevelInfo[para1][Admin] = level;
return 1;
}
Eu tentei resolver mais fica dando mais erro, agora eu nгo sei c to resolvendo da forma certa....
Re: [AJUDA] Convertendo uns comandos e erros -
Victor Cesaroni - 23.01.2012
coloca no
final do GM:
pawn Код:
static stock strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
Re: [AJUDA] Convertendo uns comandos e erros -
guilhermeghc@hotmail.com - 23.01.2012
Tente isto:
OBS: SO O ADM RCON CONSEGUE DAR ADM!
pawn Код:
if(strcmp(cmd,"/daradmin", true)==0){
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
if(IsPlayerAdmin(playerid)){
new tmp[256];
new plid, skin;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, Vermelho, "** Digite: /daradmin [id] [Level]");
return 1;
}
plid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "** Digite: /daradmin [id] [Level]");
return 1;
}
skin = strval(tmp);
if(skin>=7){
SendClientMessage(playerid, Vermelho, "** O level Permitido para ADM й de 0 б 6! **");
return 1;
}
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
if(IsPlayerConnected(plid)){
if(skin>=1){
pAdmin[plid] = skin;
SpawnPlayer(plid);
format(string, sizeof(string), "* %s (%d) (») Promoveu: %s (%d) administrador (») Level: %d", aname,playerid,pname,plid,skin);
SendClientMessageToAll(outraadm, string);
if(skin>1){
SetPlayerAttachedObject( plid, 1, 18749, 1, 0.800000, 0.000000, 0.000000, 156.986312, 100.000000, 20.000000, 1.332795, 2.000000, 1.486337 ); // SAMPLogoSmall - esseaqui
}
}
if(skin == 0){
pAdmin[plid] = 0;
SpawnPlayer(plid);
format(string, sizeof(string), "O Adminstrador %s (%d) (») retirou admin do jogador: %s (ID: %d)", aname,playerid,pname,plid);
SendClientMessageToAll(outraadm, string);
if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1);
}
return 1;
}else{
SendClientMessage(playerid, Vermelho, "** Jogador nгo conectado.");
return 1;
}
}
}
Respuesta: [AJUDA] Convertendo uns comandos e erros -
Chis - 23.01.2012
Nem rola esse ai
Re: [AJUDA] Convertendo uns comandos e erros -
dPlaYer_ - 23.01.2012
pawn Код:
dcmd_daradmin(playerid, params[])
{
#pragma unused params
new string[256];
new tmp[256];
new NomeDado[128];
new NomeDado1[128];
if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COR_CINZA, "Vocк nгo estб conetado!");
if(LevelInfo[playerid][Admin] < 1) return SendClientMessage(playerid, COR_MARROMCLARO, "[ERRO] Vocк nгo tem permissгo para executar este comando.");
if(AdminTrabalhando[playerid] < 1) return SendClientMessage(playerid, COR_MARROMCLARO, "[AVISO] Vocк nгo estб trabalhando USE /trampar");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COR_CINZA, "USE: /daradmin [id] [Nivel]");
new para1;
new level;
para1 = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COR_CINZA, "USE: /daradmin [id] [Nivel]");
level = strval(tmp);
GetPlayerName(para1, NomeDado, sizeof(NomeDado));
GetPlayerName(playerid, NomeDado1, sizeof(NomeDado1));
if(para1 == INVALID_PLAYER_ID) return SendClientMessage(playerid, COR_BRANCO, "Player nгo conetado!");
if(level == 0) return SendClientMessage(playerid, COR_BRANCO, "Para tirar admin a alguem use: /tiraradmin");
if(level > 5) return SendClientMessage(playerid, COR_BRANCO, "Vocк nгo pode dar admin level 5+ a ninguem!");
format(string, sizeof string, "Vocк promoveu um cargo administrativo level %d para o laranja %s", level, NomeDado);
SendClientMessage(playerid, 0xABCDEF01, string);
format(string, sizeof string, "Vocк foi promovido ao cargo administrativo level %d do administrador %s. Parabйns.", level, NomeDado1);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
LevelInfo[para1][Admin] = level;
return 1;
}
Respuesta: [AJUDA] Convertendo uns comandos e erros -
Chis - 23.01.2012
Ja fiz isso ai, tive que acrescentar new cmdtext, idx
ai fica nesses erro aqui
(42

: error 035: argument type mismatch (argument 2)
(433) : error 035: argument type mismatch (argument 2)
tmp = strtok(cmdtext, idx);
tmp = strtok(cmdtext, idx);
Se eu retiro o new cmdtext, idx e essa linha 428, 433, vai continuar a mesma coisa
Re: [AJUDA] Convertendo uns comandos e erros -
dPlaYer_ - 23.01.2012
Define o new cmd[256]
nгo new cmdtext..
e o idx;
la depois do on playercommandtext ex:
pawn Код:
public OnPlayerCommandText(playerid,cmdtext[])
{
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);
return 0;
}
Respuesta: [AJUDA] Convertendo uns comandos e erros -
Chis - 23.01.2012
Problema que nгo to fazendo os comandos dentro do public
Se eu por dentro da public nгo funciona
estб tudo no final do GM
Re: [AJUDA] Convertendo uns comandos e erros -
Victor Cesaroni - 23.01.2012
Tenta
pawn Код:
dcmd_daradmin(playerid, params[])
{
new string[100],NomeDado[24],NomeDado1[24],para1,level;
if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, COR_CINZA, "Vocк nгo estб conetado!");
if(LevelInfo[playerid][Admin] < 1) return SendClientMessage(playerid, COR_MARROMCLARO, "[ERRO] Vocк nгo tem permissгo para executar este comando.");
if(AdminTrabalhando[playerid] < 1) return SendClientMessage(playerid, COR_MARROMCLARO, "[AVISO] Vocк nгo estб trabalhando USE /trampar");
if(!params[0]) return SendClientMessage(playerid, COR_CINZA, "USE: /daradmin [id] [Nivel]");
para1 = params[0];
if(!params[1]) return SendClientMessage(playerid, COR_CINZA, "USE: /daradmin [id] [Nivel]");
level = params[1];
GetPlayerName(para1, NomeDado, sizeof(NomeDado));
GetPlayerName(playerid, NomeDado1, sizeof(NomeDado1));
if(para1 == INVALID_PLAYER_ID) return SendClientMessage(playerid, COR_BRANCO, "Player nгo conetado!");
if(level == 0) return SendClientMessage(playerid, COR_BRANCO, "Para tirar admin a alguem use: /tiraradmin");
if(level > 5) return SendClientMessage(playerid, COR_BRANCO, "Vocк nгo pode dar admin level 5+ a ninguem!");
format(string, sizeof string, "Vocк promoveu um cargo administrativo level %d para o laranja %s", level, NomeDado);
SendClientMessage(playerid, 0xABCDEF01, string);
format(string, sizeof string, "Vocк foi promovido ao cargo administrativo level %d do administrador %s. Parabйns.", level, NomeDado1);
SendClientMessage(para1, COLOR_LIGHTBLUE, string);
LevelInfo[para1][Admin] = level;
return 1;
}
Nгo sei se vai dar certo, nгo sei muito de dcmd.
Se nгo der tenta trocar:
pawn Код:
if(!params[0]) return SendClientMessage(playerid, COR_CINZA, "USE: /daradmin [id] [Nivel]");
para1 = params[0];
if(!params[1]) return SendClientMessage(playerid, COR_CINZA, "USE: /daradmin [id] [Nivel]");
level = params[1];
// Por
if(!params[1]) return SendClientMessage(playerid, COR_CINZA, "USE: /daradmin [id] [Nivel]");
para1 = params[1];
if(!params[2]) return SendClientMessage(playerid, COR_CINZA, "USE: /daradmin [id] [Nivel]");
level = params[2];
Respuesta: [AJUDA] Convertendo uns comandos e erros -
Chis - 23.01.2012
Santa paciencia
nгo deu
Qual й o
MELHOR COMANDO mais utilizado que tem?