[Ajuda] Comparando Strcmp
#1

Quando eu dou /Daradmin [id] ja da os 2 cargos sу de uma vez, mais pq isso ? '-' Eu tenho outro comando que ta identico e ele nao tem problema, ele pega certinho..
PHP код:
CMD:daradmin(playerid,params[])
{
    new 
idcargo[32], stg1[98], stg2[82], stg3[95], stg4[82];
    if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid,ERRO"| ERRO | Vocк nгo tem permissгo!");
    if(
sscanf(params"us[32]"idcargo))
    {
        
SendClientMessage(playeridERRO"| ERRO | Digite: /daradmin [id] [Cargo]");
        
SendClientMessage(playeridERRO"| ERRO | Cargos existentes: staff, admin, moderador..");
    }
    if(!
IsPlayerConnected(id)) return SendClientMessage(playerid,ERRO"| ERRO | Jogador nгo conectado!");
    if(!
strcmp(cargo"staff"true))
    {
        if(
pInfo[id][Staff] == 1) return SendClientMessage(playeridERRO"| ERRO | Esse jogador jб й um staff!");
        
format(stg1sizeof(stg1), "| INFO | Administrador(a) Rcon %s deu o cargo (Staff) para %s."PlayerName(playerid), PlayerName(id));
        
SendClientMessageToAll(AZUL2stg1);
        
format(stg2sizeof(stg2), "| INFO | Vocк recebeu o cargo de Staff do Administrador Rcon %s."PlayerName(playerid));
        
SendClientMessage(idAZUL2stg2);
        
pInfo[id][Staff] = 1;
    }
    if(!
strcmp(cargo"admin"true))
    {
        if(
pInfo[id][Administrador] == 1) return SendClientMessage(playeridERRO"| ERRO | Esse jogador jб й um Administrador(a)!");
        
format(stg3sizeof(stg3), "| INFO | Administrador Rcon %s deu o cargo (Admin) para %s."PlayerName(playerid), PlayerName(id));
        
SendClientMessageToAll(AZUL2stg3);
        
format(stg4sizeof(stg4), "| INFO | Vocк recebeu o cargo de Admin do Administrador Rcon %s."PlayerName(playerid));
        
SendClientMessage(idAZUL2stg4);
        
pInfo[id][Administrador] = 1;
    }
    return 
1;

Aonde serб que ta erro nesse code ?
Reply
#2

Tenta assim:

PHP код:
CMD:daradmin(playerid,params[])
{
    new 
idcargo[15], stg1[100];
    if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid,ERRO"| ERRO | Vocк nгo tem permissгo!");
    if(
sscanf(params"us[15]"idcargo))
    {
        
SendClientMessage(playeridERRO"| ERRO | Digite: /daradmin [id] [Cargo]");
        
SendClientMessage(playeridERRO"| ERRO | Cargos existentes: staff, admin, moderador..");
        return 
1;
    }
    if(!
IsPlayerConnected(id)) return SendClientMessage(playerid,ERRO"| ERRO | Jogador nгo conectado!");
    if(!
strcmp(cargo"staff"true))
    {
        if(
pInfo[id][Staff] == 1) return SendClientMessage(playeridERRO"| ERRO | Esse jogador jб й um staff!");
        
format(stg1sizeof(stg1), "| INFO | Administrador(a) Rcon %s deu o cargo (Staff) para %s."PlayerName(playerid), PlayerName(id));
        
SendClientMessageToAll(AZUL2stg1);
        
format(stg1sizeof(stg1), "| INFO | Vocк recebeu o cargo de Staff do Administrador Rcon %s."PlayerName(playerid));
        
SendClientMessage(idAZUL2stg1);
        
pInfo[id][Staff] = 1;
    }
    else if(!
strcmp(cargo"admin"true))
    {
        if(
pInfo[id][Administrador] == 1) return SendClientMessage(playeridERRO"| ERRO | Esse jogador jб й um Administrador(a)!");
        
format(stg1sizeof(stg1), "| INFO | Administrador Rcon %s deu o cargo (Admin) para %s."PlayerName(playerid), PlayerName(id));
        
SendClientMessageToAll(AZUL2stg1);
        
format(stg1sizeof(stg1), "| INFO | Vocк recebeu o cargo de Admin do Administrador Rcon %s."PlayerName(playerid));
        
SendClientMessage(idAZUL2stg1);
        
pInfo[id][Administrador] = 1;
    }
    return 
1;

Ah.. Nгo tem necessidade de ficar criando um monte de strings...
Reply
#3

PHP код:
CMD:daradmin(playeridparams[]) {
    if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid,ERRO"| ERRO | Vocк nгo tem permissгo!");
    new 
idcargo[32], stg1[128];
    if(
sscanf(params"us[32]"idcargo)) return SendClientMessage(playeridERRO"| ERRO | Digite: /daradmin [id] [Cargo - staff, admin, moderador]");
    if(!
IsPlayerConnected(id)) return SendClientMessage(playerid,ERRO"| ERRO | Jogador nгo conectado!");
    if(
strfind(cargo"staff"true) != -1) {
        if(
pInfo[id][Staff] == 1) return SendClientMessage(playeridERRO"| ERRO | Esse jogador jб й um staff!");
        
pInfo[id][Staff] = 1;
    }
    else if(
strfind(cargo"admin"true) != -1) {
        if(
pInfo[id][Administrador] == 1) return SendClientMessage(playeridERRO"| ERRO | Esse jogador jб й um Administrador(a)!");
        
pInfo[id][Administrador] = 1;
    }
    
format(stg1sizeof(stg1), "| INFO | Administrador(a) Rcon %s deu o cargo %s para %s."PlayerName(playerid), cargoPlayerName(id));
    
SendClientMessageToAll(AZUL2stg1);
    
format(stg1sizeof(stg1), "| INFO | Vocк recebeu o cargo de %s do Administrador Rcon %s."cargoPlayerName(playerid));
    
SendClientMessage(idAZUL2stg1);
    return 
1;

Reply
#4

Valeu humildadeforever, sу nгo da para dar +REP pq jб dei hoje kkk.
Bope o seu tambйm deu certo, mais o do humidalde forever tб melhor sla :c
gosto mais de comparar com strcmp <3 mais vlw os Dois xD
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)