[Ajuda] Comando desbanir
#1

Olб, eu estava criando um sistema de adm, porem eu nгo estou conseguindo criar o comando /Desbanir [Nick], preзo a ajuda de vocкs.

pawn Код:
YCMD:desbanir(playerid, params[], help)
{
    if(!IsPlayerAdmin(playerid))
    {
        SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Esse comando й para administradores!");
        return 1;
    }
    new nick;
    if(sscanf(params, "s", nick))
    {
        SendClientMessage(playerid, COR_C, "Use: /desbanir [Nick]");
        return 1;
    }
    new contas[40];
    format(contas, 40, "contas/%s.ini", nick);
    if(!DOF2_FileExists(contas))
    {
        SendClientMessage(playerid, 0xFF0000FF, "[CrAdmin] Esse NICK nгo existe!");
        return 1;
    }
    if(DOF2_FileExists(contas))
    {
        if(DOF2_GetString("Banidos.ini", nick) == 0)
        {
            SendClientMessage(playerid, 0xFF0000FF, "[CrAdmin] Esse jogador nгo estб banido!");
            return 1;
        }
        if(DOF2_GetString("Banidos.ini", nick) == 1)
        {
            new strlog[128];
            DOF2_SetInt("Banidos.ini", nick, 1);
            new ano, mes, dia;
            new hora, minuto, segundo;
            getdate(ano, mes, dia);
            gettime(hora, minuto, segundo);
            format(strin, sizeof(strin), "[CrAdmin] Vocк desbaniu o usuбrio %s com sucesso!", nick);
            SendClientMessage(playerid, 0x7FFF00AA, strin);
            format(strlog, sizeof(strlog),"| DESBAN | O administrador %s desbaniu o jogador %s (%d:%d:%d) (%d/%d/%d)", Nome(playerid), nick, hora, minuto, segundo, dia, mes, ano);
            BanLog(strlog);
            printf("[CrAdmin] O administrador %s desbaniu o jogador %s com sucesso!", Nome(playerid), nick);
        }
    }
    else SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Usuario inexistente!");
    return 1;
}
tem outros 2 comandos que me deu problemas mas eu apaguei, mas peзo a ajuda de vocкs para saber como cria-los
os comandos sгo:
/forcarcmd [id] [comando] = forcar um certo jogador a usar comando.
/fakechat [id] [mensagem] = fazer um fake chat com um jogador ou seja escrever coisas com o nome dele.
Reply
#2

Esqueci dos erros.
pawn Код:
C:\Users\Marcelo\Desktop\samp03x_svr_R1-2_win32\filterscripts\Admin.pwn(3532) : error 035: argument type mismatch (argument 2)
C:\Users\Marcelo\Desktop\samp03x_svr_R1-2_win32\filterscripts\Admin.pwn(3537) : error 035: argument type mismatch (argument 2)
C:\Users\Marcelo\Desktop\samp03x_svr_R1-2_win32\filterscripts\Admin.pwn(3540) : error 035: argument type mismatch (argument 2)
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.
Linha 3532:
pawn Код:
if(DOF2_GetString("Banidos.ini", nick) == 0)
Linha 3537:
pawn Код:
if(DOF2_GetString("Banidos.ini", nick) == 1)
Linha 3540:
pawn Код:
DOF2_SetInt("Banidos.ini", nick, 1);
Reply
#3

GetString usa-se assim:

pawn Код:
format(str, sizeof(str), "%s", DOF2_GetString(ficheiro, "Tag"));
Reply
#4

Quote:
Originally Posted by minimessi10
Посмотреть сообщение
Linha 3532:
pawn Код:
if(DOF2_GetString("Banidos.ini", nick) == 0)
Quando vocк usa "DOF2_GetString", vocк criando uma string, entгo vocк deve tentar assim:
Код:
new str[250];
format(str, 250, "%s", DOF2_GetString("Banidos.ini", nick); //Isso aqui formata a string

if(strcmp(str, "OUTRA STRING PARA COMPARAЗГO AQUI") == 0) //strcmp compara 2 strings, se retornar (==) 0, significa que sгo iguais.
Reply
#5

Na verdade o correto seria.

pawn Код:
YCMD:desbanir(playerid, params[], help)
{
    if(!IsPlayerAdmin(playerid))
    {
        SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Esse comando й para administradores!");
        return 1;
    }
    new nick;
    if(sscanf(params, "s", nick))
    {
        SendClientMessage(playerid, COR_C, "Use: /desbanir [Nick]");
        return 1;
    }
    new contas[40];
    format(contas, 40, "contas/%s.ini", nick);
    if(!DOF2_FileExists(contas))
    {
        SendClientMessage(playerid, 0xFF0000FF, "[CrAdmin] Esse NICK nгo existe!");
        return 1;
    }
    if(DOF2_FileExists(contas))
    {
        if(DOF2_GetInt("Banidos.ini", nick) == 0)
        {
            SendClientMessage(playerid, 0xFF0000FF, "[CrAdmin] Esse jogador nгo estб banido!");
            return 1;
        }
        if(DOF2_GetInt("Banidos.ini", nick) == 1)
        {
            new strlog[128];
            DOF2_SetInt("Banidos.ini", nick, 1);
            new ano, mes, dia;
            new hora, minuto, segundo;
            getdate(ano, mes, dia);
            gettime(hora, minuto, segundo);
            format(strin, sizeof(strin), "[CrAdmin] Vocк desbaniu o usuбrio %s com sucesso!", nick);
            SendClientMessage(playerid, 0x7FFF00AA, strin);
            format(strlog, sizeof(strlog),"| DESBAN | O administrador %s desbaniu o jogador %s (%d:%d:%d) (%d/%d/%d)", Nome(playerid), nick, hora, minuto, segundo, dia, mes, ano);
            BanLog(strlog);
            printf("[CrAdmin] O administrador %s desbaniu o jogador %s com sucesso!", Nome(playerid), nick);
        }
    }
    else SendClientMessage(playerid, 0xFF0000FF, "| ERRO | Usuario inexistente!");
    return 1;
}
eu coloquei DOF2_GetString para ver se saia os erros porem nгo saiu de nenhuma forma
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)