[Ajuda] Sistema de duvida
#2

PHP код:
/*
    Consideraзхes:
    - Qualquer jogador tinha acesso ao comando /rDuvida.
        Eu adicionei uma condicional para isto, IsPlayerAdmin(somente Rcons), vocк pode alterar.
    - O timer no comando /rDuvida serve para quк?
        A resposta й enviada instantaneamente, se for para zerar a vбriavel DuvidaEntregue й
        desnecessбrio tambйm.
        Demais funзхes encontradas nele, SE NECESSБRIAS, remover o comentбrio no script.
    - A variбvel Duvida seja ela string(que teria que ser) ou nгo, й desnecessбria, eu usei 
        PVar's para guardar a dъvida do jogador, use apenas DuvidaEntregue para 
        verificaзхes de dъvidas.
            
    - Eu nгo testei o script, qualquer erro tente solucionar olhando o log do compilador,
        se mesmo assim nгo obter кxito vir ao fуrum solicitar ajuda.
        Se houver erros de lуgica no script e nгo conseguir solucionar, me chame no privado.
*/
if(strcmp(cmd"/duvida"true) == 0)
{
    if(
gPlayerLogged[playerid] == 0)
        return 
SendClientMessage(playeridCOLOR_GREY"Vocк nгo estб logado!");
    
GetPlayerName(playeridsendernamesizeof(sendername));
    new 
length strlen(cmdtext);
    while ((
idx length) && (cmdtext[idx] <= ' '))
    {
        
idx++;
    }
    new 
offset idx;
    new 
result[64];
    while ((
idx length) && ((idx offset) < (sizeof(result) - 1)))
    {
        
result[idx offset] = cmdtext[idx];
        
idx++;
    }
    
result[idx offset] = EOS;
    if(!
strlen(result))
        return 
SendClientMessage(playeridCOLOR_GRAD2"USE: /duvida [texto]");
    
format(stringsizeof(string), "Dъvida enviada de %s[%d]: {FFFF00}%s "sendernameplayerid, (result));
    
ABroadCast(COLOR_ORANGE,string,1);
    
SendClientMessage(playeridCOLOR_ORANGE"Sua dъvida foi enviada aos administradores, aguarde uma resposta...");
    
SetPVarString(playerid"duv", (result));
    
DuvidaEntregue[playerid] = 1;
    return 
1;
}
if(
strcmp(cmd"/rduvida"true) == 0)
{
    if(!
IsPlayerAdmin(playerid))
        return 
SendClientMessage(playeridCOLOR_GREY"Vocк nгo й um Administrador RCON!");
    if(
gPlayerLogged[playerid] == 0)
        return 
SendClientMessage(playeridCOLOR_GREY"Vocк nгo estб logado!");
    
tmp strtok(cmdtextidx);
    if(!
strlen(tmp))
        return 
SendClientMessage(playeridCOLOR_GRAD2"USE: /rduvida [id] [Resposta]");
    new 
length strlen(cmdtext);
    while ((
idx length) && (cmdtext[idx] <= ' '))
    {
        
idx++;
    }
    new 
offset idx;
    new 
result[64];
    while ((
idx length) && ((idx offset) < (sizeof(result) - 1)))
    {
        
result[idx offset] = cmdtext[idx];
        
idx++;
    }
    
result[idx offset] = EOS;
    if(!
strlen(result))
        return 
SendClientMessage(playeridCOLOR_GRAD2"USE: /rduvida [id] [Resposta]");
    new 
id strval(tmp);
    if(!
IsPlayerConnected(id))
        return 
SendClientMessage(playeridCOLOR_RED"O ID informado й invбlido.");
    if(
DuvidaEntregue[id] == 0// Verificar se o jogador enviou alguma dъvida, se nгo retorna erro para o Administrador
        
return SendClientMessage(playeridCOLOR_RED"O ID informado nгo possuн nenhuma dъvida pendente.");
    
GetPlayerName(idgiveplayersizeof(giveplayer));
    
GetPlayerName(playeridsendernamesizeof(sendername));
    new 
duv[128];
    
GetPVarString(id"duv"duvsizeof(duv));
    
format(stringsizeof(string), "Sua dъvida: {FFFF00}%s"duv);
    
SendClientMessage(idCOLOR_ORANGEstring);
    
format(stringsizeof(string), "O [%s] %s respondeu sua dъvida: {FFFF00}%s"CargoAdmin(playerid), sendername, (result));
    
SendClientMessage(idCOLOR_ORANGEstring);
    
format(stringsizeof(string), "Sua resposta foi enviada ao jogador {FFFF00}%s."giveplayer);
    
SendClientMessage(playeridCOLOR_ORANGEstring);
    
//SetTimerEx("MandarDuvida", 30000, false, "i", playerid); // Isso й necessбrio? A resposta й enviada instantaneamente.
    // Zerando a variбvel de dъvida do jogador.
    
DuvidaEntregue[id] = 0;
    return 
1;

Reply


Messages In This Thread
Sistema de duvida - by MateGPlay - 18.12.2018, 23:55
Re: Sistema de duvida - by InsaneBR - 19.12.2018, 11:40
Re: Sistema de duvida - by MateGPlay - 19.12.2018, 13:02
Re: Sistema de duvida - by MateGPlay - 19.12.2018, 19:16

Forum Jump:


Users browsing this thread: 1 Guest(s)