[Ajuda] Problema ao usar o comando /cadeia
#1

Eu estou desenvolvendo o comando pra cadeia administrativa, porйm quando eu vou colocar um player na cadeia, que m acaba sendo preso sou eu

pawn Code:
if(strcmp(cmd, "/cadeia", true) == 0)
    {
  if(IsPlayerAdmin(playerid) == 1)
   {
        new tmp[256];
        tmp = strtok(cmdtext, idx);
        new plid = ChecarUser(tmp);
        if(!strlen(tmp)) return SendClientMessage(playerid, Erro, "| ERRO | Uso: /cadeia[id]");
        tmp = strtok(cmdtext, idx);
        if(IsPlayerNPC(plid)) return SendClientMessage(playerid, Erro, "| ERRO | Vocк nгo pode punir BOT!");
        if(!IsPlayerConnected(plid)) return SendClientMessage(playerid, Erro, "| ERRO | Jogador(a) nгo conectado");
        SendClientMessage(playerid, -1, "| CADEIA | Vocк foi punido.");
        SetPlayerPos(playerid, 1059.895996,2081.685791,10.820312);
        SetPlayerWantedLevel(playerid, 0); //FICAR SEM ESTRELAS
        ResetPlayerWeaponsEx(playerid, -1); //Ficar sem armas
        SetPlayerInterior(playerid, 0);
        PlayerCadeia[playerid] = 1;
        GameTextForPlayer(playerid, "~w~Cadeia Adm", 2000, 0);
        }
        else
        {
        SendClientMessage(playerid, CORX1, "| ERRO | Vocк nгo tem permissгo!");
        }
    return 1;
}
if(!strcmp(cmd, "/Rcadeia", true))
{
   if(IsPlayerAdmin(playerid) == 1)
   {
    new tmp[256];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, -1, "* Use: /RCadeia [id]");
    if(IsPlayerConnected(playerid))
    SendClientMessage(playerid, -1, "| CADEIA | Vocк foi retirado da cadeia.");
    SetPlayerPos(playerid, 1053.7129,2087.6196,10.8203);
    GivePlayerWeaponsEx(playerid, -1);
    SetPlayerInterior(playerid, 0);
    GameTextForPlayer(playerid, "~w~Voce esta livre!", 2000, 0);
    PlayerCadeia[playerid] = 0;
    }
    else
    {
    SendClientMessage(playerid, CORX1, "| ERRO | Vocк nгo tem permissгo!");
    }
 return 1;
}
Reply
#2

Revк seu cуdigo, vocк estб setando tudo no playerid = quem digitou o comando, plid = quem estб sendo preso.
Exemplo:
Code:
SetPlayerPos(playerid, 1059.895996,2081.685791,10.820312);//errado
Code:
SetPlayerPos(plid, 1059.895996,2081.685791,10.820312);//certo
Reply
#3

Quote:
Originally Posted by DelK
View Post
Revк seu cуdigo, vocк estб setando tudo no playerid = quem digitou o comando, plid = quem estб sendo preso.
Exemplo:
Code:
SetPlayerPos(playerid, 1059.895996,2081.685791,10.820312);//errado
Code:
SetPlayerPos(plid, 1059.895996,2081.685791,10.820312);//certo
O de colocar na cadeia conseguir resolver. Agora o de retirar da cadeia estar dando um problema, quando digito pra retirar o cara da cadeia diz que o jogador nгo estar conectado
pawn Code:
if(strcmp(cmd, "/Rcadeia", true) == 0)
{
   if(IsPlayerAdmin(playerid) == 1)
   {
    new tmp[256];
    tmp = strtok(cmdtext, idx);
    new plid = ChecarUser(tmp);
    if(!strlen(tmp)) return SendClientMessage(playerid, -1, "* Use: /RCadeia [id]");
    tmp = strtok(cmdtext, idx);
    if(IsPlayerConnected(playerid)) return SendClientMessage(playerid, Erro, "| ERRO | Jogador(a) nгo conectado");
    SendClientMessage(plid, -1, "| CADEIA | Vocк foi retirado da cadeia.");
    SetPlayerPos(plid, 1053.7129,2087.6196,10.8203);
    GivePlayerWeaponsEx(plid, -1);
    SetPlayerInterior(plid, 0);
    GameTextForPlayer(plid, "~w~Voce esta livre!", 2000, 0);
    PlayerCadeia[plid] = 0;
    }
    else
    {
    SendClientMessage(playerid, CORX1, "| ERRO | Vocк nгo tem permissгo!");
    }
 return 1;
}
Reply
#4

PHP Code:
if(strcmp(cmd"/Rcadeia"true) == 0)
{
   if(
IsPlayerAdmin(playerid) == 1)
   {
    new 
tmp[256];
    
tmp strtok(cmdtextidx);
    new 
plid ChecarUser(tmp);
    if(!
strlen(tmp)) return SendClientMessage(playerid, -1"* Use: /RCadeia [id]");
    
tmp strtok(cmdtextidx);
    if(!
IsPlayerConnected(playerid)) return SendClientMessage(playeridErro"| ERRO | Jogador(a) nгo conectado");
    
SendClientMessage(plid, -1"| CADEIA | Vocк foi retirado da cadeia.");
    
SetPlayerPos(plid1053.7129,2087.6196,10.8203);
    
GivePlayerWeaponsEx(plid, -1);
    
SetPlayerInterior(plid0);
    
GameTextForPlayer(plid"~w~Voce esta livre!"20000);
    
PlayerCadeia[plid] = 0;
    }
    else
    {
    
SendClientMessage(playeridCORX1"| ERRO | Vocк nгo tem permissгo!");
    }
 return 
1;

Reply
#5

Quote:
Originally Posted by SkolPlay
View Post
O de colocar na cadeia conseguir resolver. Agora o de retirar da cadeia estar dando um problema, quando digito pra retirar o cara da cadeia diz que o jogador nгo estar conectado
pawn Code:
if(strcmp(cmd, "/Rcadeia", true) == 0)
{
   if(IsPlayerAdmin(playerid) == 1)
   {
    new tmp[256];
    tmp = strtok(cmdtext, idx);
    new plid = ChecarUser(tmp);
    if(!strlen(tmp)) return SendClientMessage(playerid, -1, "* Use: /RCadeia [id]");
    tmp = strtok(cmdtext, idx);
    if(IsPlayerConnected(playerid)) return SendClientMessage(playerid, Erro, "| ERRO | Jogador(a) nгo conectado");
    SendClientMessage(plid, -1, "| CADEIA | Vocк foi retirado da cadeia.");
    SetPlayerPos(plid, 1053.7129,2087.6196,10.8203);
    GivePlayerWeaponsEx(plid, -1);
    SetPlayerInterior(plid, 0);
    GameTextForPlayer(plid, "~w~Voce esta livre!", 2000, 0);
    PlayerCadeia[plid] = 0;
    }
    else
    {
    SendClientMessage(playerid, CORX1, "| ERRO | Vocк nгo tem permissгo!");
    }
 return 1;
}
A mesma coisa, vocк estб confundindo as verificaзхes de quem digita (playerid) o comando e de quem recebe (plid).

Code:
if(IsPlayerConnected(playerid)) return SendClientMessage(playerid, Erro, "| ERRO | Jogador(a) nгo conectado");
Code:
if(IsPlayerConnected(plid)) return SendClientMessage(playerid, Erro, "| ERRO | Jogador(a) nгo conectado");
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)