[Ajuda] Jogador offline
#1

Nгo sei o que estб acontecendo, se й problema no ZCMD, ou sscanf, utilizo o samp 0.3d

Bom й o seguinte, eu crio um comando para dar Algo para tal id, crio a funзгo IsPlayerConnected para informar se o id estб offline, mais o problema й que nгo estб checando se o id estб conectado! ele simplesmente executa o comando com qualquer id, logo o comando serб executado sу para min.

Exemplo:
pawn Код:
new id , quantia;

CMD:grana(playerid,params[])
{
    if(sscanf(params, "ud", id , quantia))
        return SendClientMessage(playerid, -1, "Correto: /grana [id] [quantia]");
    if(!IsPlayerConnected(id))
        return SendClientMessage(playerid,-1,"Esse jogador estб offline!");
    GivePlayerMoney(playerid, -quantia);
    GivePlayerMoney(id, quantia);
    return true;
}
O comando irб dar a grana sуmente para min ao invйs do id escolhido! , nгo informa se o id estб Offline nen nada.

Quando o comando й executado em um GameMode fica aparecendo "Player offline", mesmo o player estando ON.
Quando o comando й executado em um FilterScript Nгo aparece nada , como eu citei, ele executa sуmente para quem digitar o comando.

Creio que nгo seja problema no comando , isso comeзou depois que comeзei a utilizar 0.3d

Alguem me ajuda ae.
Reply
#2

pawn Код:
CMD:grana(playerid,params[])
{
    new id, quantia;
    if (sscanf(params, "ud", id , quantia)) return SendClientMessage(playerid, -1, "Correto: /grana [id] [quantia]");
    if (!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Esse jogador estб offline!");
    GivePlayerMoney(playerid, -quantia);
    GivePlayerMoney(id, quantia);
    return 1;
}
Tente.
Reply
#3

Troque isto:
pawn Код:
new id , quantia;

CMD:grana(playerid,params[])
{
    if(sscanf(params, "ud", id , quantia))
        return SendClientMessage(playerid, -1, "Correto: /grana [id] [quantia]");
    if(!IsPlayerConnected(id))
        return SendClientMessage(playerid,-1,"Esse jogador estб offline!");
    GivePlayerMoney(playerid, -quantia);
    GivePlayerMoney(id, quantia);
    return true;
}
Por isto:
pawn Код:
CMD:grana(playerid,params[])
{
    new id , quantia;
    if(sscanf(params, "ud", id , quantia)) return SendClientMessage(playerid, -1, "Correto: /grana [id] [quantia]");
    if(playerid == id) return SendClientMessage(playerid,-1,"Vocк nгo pode dar grana para si mesmo.");
    if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid,-1,"Este jogador estб offline.");
    GivePlayerMoney(playerid, -quantia);
    GivePlayerMoney(id, quantia);
    return true;
}
Reply
#4

pawn Код:
CMD:grana(playerid,params[])
{
    new id , quantia;
    if(sscanf(params, "ud", id , quantia))
        return SendClientMessage(playerid, -1, "Correto: /grana [id] [quantia]");

    if(IsPlayerConnected(id))
    {
         GivePlayerMoney(playerid, -quantia);
         GivePlayerMoney(id, quantia);
         return 1;
    }
    SendClientMessage(playerid,-1,"Esse jogador estб offline!");
    return true;
}
Reply
#5

Continua o Mesmo problema, creio que nгo seja problema no comando.
Reply
#6

Veja se nгo estб faltando algum retorno em outro comando. Pode ser isto.
Reply
#7

Sу tem esse comando no GM, sу fiz para demostrar, mesmo assim o problema persiste.
Reply
#8

pawn Код:
CMD:grana(playerid,params[])
{
    new id , quantia;
    if(sscanf(params, "ud", id , quantia))
    {
        SendClientMessage(playerid, -1, "Correto: /grana [id] [quantia]");
    }
    else
    {
        if(IsPlayerConnected(id))
        {
            GivePlayerMoney(playerid, -quantia);
            GivePlayerMoney(id, quantia);
        }
        else
        {
            SendClientMessage(playerid,-1, "Este Jogador estб offline !");
        }
    }
    return 1;
}
Reply
#9

Nгo dб, n й problema no comando, e sim outra coisa que nгo sei o que й, baixei o novo sscanf, e estб o mesmo problema.
Reply
#10

Nгo precisa de IsPlayerConnected porque, no sscanf, se o player for invбlido, ele retorna 1.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)