[AJUDA] helper system
#1

pawn Код:
CMD:pedirajuda(playerid, params[])
{
    new nome[24], string[128];
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(PlayerInfo[i][mAdmin] > 0 && PlayerInfo[i][mAdmin] < 6)
                {
                    GetPlayerName(playerid, nome, 24);
                    format(string, sizeof(string), "[INFO]: O jogador [ID:%d] %s pediu ajuda! /recusarajuda ou /aceitarajuda!", playerid, nome);
                    SendClientMessage(i, AMARELO, string);
                }
        }
    }
    return 1;
}

CMD:recusarajuda(playerid, params[])
{
    new id, string[128];
    if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
    if(sscanf(params, "d", id)) return SendClientMessage(playerid, BRANCO, "[INFO] /recusarajuda [id]");
    {
        format(string, sizeof(string), "[INFO]: O administrador recusou seu pedido de ajuda!");
        SendClientMessage(id, VERMELHO, string);
    }
    return 1;
}

CMD:aceitarajuda(playerid, params[])
{
    new id, string[128];
    if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
    if(sscanf(params, "d", id)) return SendClientMessage(playerid, BRANCO, "[INFO] /aceitarajuda [id]");
    {
        format(string, sizeof(string), "[INFO]: O administrador aceitou seu pedido de ajuda!");
        SendClientMessage(id, AZUL, string);
    }
    return 1;
}
Sу que eu preciso, se o id do /aceitarajuda e o /recusarajuda, nгo mandou um pedido de ajuda mandar a mensagem para o admin : "Este jogador nгo pediu ajuda". Sу que infelizmente nгo estou conseguindo.

Exemplo:
pawn Код:
Jogador: /pedirajuda
Dai aparece pro admin: O jogador [ID:0] Mengueh, pediu ajuda /aceitarajuda ou recusarajuda.
Se o administrador usar : /aceitarajuda 1<<  manda a mensagem que este jogador nгo pediu ajuda...
Reply
#2

pawn Код:
new bool:ajuda[MAX_PLAYERS];

//quando pedir ajuda
ajuda[playerid] = true;

//no aceitar
if(!ajuda[id])
    return SendClientMessage(playerid, -1, "Esse jogador ainda nгo pediu ajuda");
//no recusar.
if(!ajuda[id])
    return SendClientMessage(playerid, -1, "Esse jogador ainda nгo pediu ajuda");
Reply
#3

Ta ae:
pawn Код:
//TOPO DO GM
new bool:Ajuda[MAX_PLAYERS];
//CMD
CMD:pedirajuda(playerid, params[])
{
    new nome[24], string[128];
    if(Ajuda[playerid] == false)
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(PlayerInfo[i][mAdmin] > 0 && PlayerInfo[i][mAdmin] < 6)
            {
                GetPlayerName(playerid, nome, 24);
                format(string, sizeof(string), "[INFO]: O jogador [ID:%d] %s pediu ajuda! /recusarajuda ou /aceitarajuda!", playerid, nome);
                SendClientMessage(i, AMARELO, string);
                Ajuda[playerid] = true;
            }
        }
    }
    else
    {
        SendClientMessage(playerid, AMARELO, "Vocк jб pediu ajuda...");
    }
    return 1;
}

CMD:recusarajuda(playerid, params[])
{
    new id, string[128];
    if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
    if(Ajuda[playerid] == false) return SendClientMessage(playerid, AMARELO, "Esse jogador nгo pediu ajuda...");
    if(sscanf(params, "d", id)) return SendClientMessage(playerid, BRANCO, "[INFO] /recusarajuda [id]");
    {
        format(string, sizeof(string), "[INFO]: O administrador recusou seu pedido de ajuda!");
        SendClientMessage(id, VERMELHO, string);
        Ajuda[id] = false;
    }
    return 1;
}

CMD:aceitarajuda(playerid, params[])
{
    new id, string[128];
    if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
    if(Ajuda[playerid] == false) return SendClientMessage(playerid, AMARELO, "Esse jogador nгo pediu ajuda...");
    if(sscanf(params, "d", id)) return SendClientMessage(playerid, BRANCO, "[INFO] /aceitarajuda [id]");
    {
        format(string, sizeof(string), "[INFO]: O administrador aceitou seu pedido de ajuda!");
        SendClientMessage(id, AZUL, string);
        Ajuda[id] = false;
    }
    return 1;
}
#EDIT Nгo vi o Post acima...
Use um Timer para setar o "Ajuda" a false, para o cara nгo ficar eternamente pedindo ajuda...
Reply
#4

@edit tб funcionando xD
Reply
#5

Bom, Nгo entendi seu pedido, entгo apenas adicionei caso o admin digite um id errado, irб retorna uma mensagem.
pawn Код:
CMD:pedirajuda(playerid, params[])
{
    new nome[24], string[128];
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(PlayerInfo[i][mAdmin] > 0 && PlayerInfo[i][mAdmin] < 6)
                {
                    GetPlayerName(playerid, nome, 24);
                    format(string, sizeof(string), "[INFO]: O jogador [ID:%d] %s pediu ajuda! /recusarajuda ou /aceitarajuda!", playerid, nome);
                    SendClientMessage(i, AMARELO, string);
             }
        }
    }
    return 1;
}

CMD:recusarajuda(playerid, params[])
{
    new id, string[128];
    if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
    if(sscanf(params, "d", id)) return SendClientMessage(playerid, BRANCO, "[INFO] /recusarajuda [id]");
    {
        format(string, sizeof(string), "[INFO]: O administrador recusou seu pedido de ajuda!");
        SendClientMessage(id, VERMELHO, string);
    }
        else if(id == INVALID_PLAYER_ID) return SendClientMessag(playerid, vermelho, o jogador nгo estб conectado !);
    return 1;
}

CMD:aceitarajuda(playerid, params[])
{
    new id, string[128];
    if(PlayerInfo[playerid][mAdmin] < 1) return SendClientMessage(playerid, VERMELHO, falha);
    if(sscanf(params, "d", id)) return SendClientMessage(playerid, BRANCO, "[INFO] /aceitarajuda [id]");
    {
        format(string, sizeof(string), "[INFO]: O administrador aceitou seu pedido de ajuda!");
        SendClientMessage(id, AZUL, string);
    }
        else if(id == INVALID_PLAYER_ID) return SendClientMessag(playerid, vermelho, o jogador nгo estб conectado !);
    return 1;
}
Reply
#6

pawn Код:
CMD:pedirajuda(playerid, params[])
{
    new nome[24], string[128];
    if(ajuda[playerid] == false)
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(PlayerInfo[i][mAdmin] > 0 && PlayerInfo[i][mAdmin] < 6)
                {
                    GetPlayerName(playerid, nome, 24);
                    format(string, sizeof(string), "[INFO]: O jogador [ID:%d] %s pediu ajuda! /recusarajuda ou /aceitarajuda!", playerid, nome);
                    SendClientMessage(i, AMARELO, string);
                    tempoajuda[playerid] = SetTimerEx("PedirAjuda", 60000, true, "i", playerid);
                    ajuda[playerid] = true;
                }
        }
    }
    else
    {
        SendClientMessage(playerid, VERMELHO, "Vocк jб pediu ajuda.");
    }
    return 1;
}
pawn Код:
public TempoAjuda(playerid)
{
    ajuda[playerid] = false;
}
pawn Код:
new tempoajuda[MAX_PLAYERS];
forward TempoAjuda(playerid);
A lуgica tб certa nй?
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)