[Pedido] Comando para desban de rcon
#1

Sabe quando vocк coloca la no comando de /banir aquela funзгo: Ban(id);. Poise essa funзгo coloca o nome do jogador lб naquele arquivo chamado Samp.ban, desta forma: "187.80.7.251 [08/10/10 | 21:38:26] Natan - INGAME BAN", bom chega de explicacoes, afinal todo mundo sabe disso. Agora, eu quero um comando para retirar a linha com o nome do jogador deste arquivo, resumindo, vou desbanir ele, no meu server tem um aquivo chamado Banidos.ini onde tambйm fica guardado os nomes dos banidos, e o comando pra tirar o nome do jogador desse arquivo й assim:
pawn Код:
if(strcmp(cmd, "/desbanir", true) == 0)
    {
        if(IsPlayerAdmin(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, ADMIN_CORRETO, "Uso: /desbanir [Nick]");
                return 1;
            }
            new conta[128], str[256];
            format(conta, sizeof(conta), "contas/usuarios/%s.ini", tmp);
            if(dini_Exists(conta))
            {
                if(dini_Int("Banidos.ini", tmp) == 0)
                {
                    SendClientMessage(playerid, 0xFF0000AA, "(ERRO) Esse jogador nгo estб banido!");
                    return 1;
                }
                if(dini_Int("Banidos.ini", tmp) == 1)
                {
                    new nome[MAX_PLAYER_NAME], strlog[128];
                    dini_Unset("Banidos.ini", tmp);
                    new ano, mes, dia;
                    new hora, minuto, segundo;
                    getdate(ano, mes, dia);
                    gettime(hora, minuto, segundo);
                    format(str, sizeof(str), "[i7Admin] Vocк desbaniu o jogador %s com sucesso!", tmp);
                    SendClientMessage(playerid, 0x7FFF00AA, str);
                    GetPlayerName(playerid, nome, sizeof(nome));
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    format(strlog, sizeof(strlog),"(DESBAN) O administrador %s desbaniu o jogador %s (%d:%d:%d) (%d/%d/%d)", sendername, tmp, MSG, hora, minuto, segundo, dia, mes, ano);
                    BanLog(strlog);
                    printf("[i7Admin] O administrador %s desbaniu o jogador %s com sucesso!", nome, tmp);
                }
            }
            else
            {
                SendClientMessage(playerid, 0xFF0000AA, "(ERRO) Conta Inexistente!");
            }
        }
        else
        {
            SendClientMessage(playerid, 0xFF0000AA, "(ERRO) Vocк nгo й um administrador");
        }
        return 1;
    }
Mas, esse comando so funfa para o "Banidos.ini" com o "Samp.ban" nгo funciona, alguem pode fazer um comando para o Samp.ban pra mim? se puder colocar ele junto com o comando de cima (2 funcoes em 1 comando ) eu agradeco muito, mas se nao poder eu agradeco de qualquer forma rs.
Reply
#2

mano vc pode logar na rcon e usar o CMD /rcon unbanip q ira remover ele daquele arquivo
OBS:vc deve colocar o ip do jogador banido...
Reply
#3

Quote:
Originally Posted by Nost
Посмотреть сообщение
mano vc pode logar na rcon e usar o CMD /rcon unbanip q ira remover ele daquele arquivo
OBS:vc deve colocar o ip do jogador banido...
Sу que talvez eu queira colocar esse comando no sistema de moderador? faco como? o moderador nгo vai esta logado na rcon.
Reply
#4

tenta

pawn Код:
CMD:desbanir(playerid, params[])
{
    new ip[20], string[128];
    if(sscanf(params, "s[128]", ip))
    {
        SendClientMessage(playerid, Verde, "Use /desbanir [ip]");
        return 1;
    }
    format(string, sizeof(string), "unbanip %s", ip);
    SendRconCommand(string);
    return 1;
}
Reply
#5

Quote:
Originally Posted by PT
Посмотреть сообщение
tenta

pawn Код:
CMD:desbanir(playerid, params[])
{
    new ip[20], string[128];
    if(sscanf(params, "s[128]", ip))
    {
        SendClientMessage(playerid, Verde, "Use /desbanir [ip]");
        return 1;
    }
    format(string, sizeof(string), "unbanip %s", ip);
    SendRconCommand(string);
    return 1;
}
Cara, ainda sou noob, й sу jogar isso dentro do GM e pronto? rs
Reply
#6

nao o seu e strcmp

coloca este

pawn Код:
if(strcmp(cmd, "/desbanir", true) == 0)
{
    if(/*variavel de adm level 3*/)
    {
        new ip[20], string[128];
        if(sscanf(params, "s[128]", ip))
        {
            SendClientMessage(playerid, Verde, "Use /desbanir [ip]");
            return 1;
        }
        format(string, sizeof(string), "unbanip %s", ip);
        SendRconCommand(string);
    }
    return 1;
}
Reply
#7

Quote:
Originally Posted by PT
Посмотреть сообщение
nao o seu e strcmp

coloca este

pawn Код:
if(strcmp(cmd, "/desbanir", true) == 0)
{
    if(/*variavel de adm level 3*/)
    {
        new ip[20], string[128];
        if(sscanf(params, "s[128]", ip))
        {
            SendClientMessage(playerid, Verde, "Use /desbanir [ip]");
            return 1;
        }
        format(string, sizeof(string), "unbanip %s", ip);
        SendRconCommand(string);
    }
    return 1;
}
I:\Servers Samp\--------\filterscripts\admin.pwn(1153) : warning 219: local variable "string" shadows a variable at a preceding level
I:\Servers Samp\--------\filterscripts\admin.pwn(1154) : error 017: undefined symbol "sscanf"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


1 Error.

Linhas: new ip[20], string[128];
if(sscanf(params, "s[128]", ip))
respectivamente.
Reply
#8

Baixa a include http://www.solidfiles.com/d/ba2f/

Coloca na pasta include dentro da pasta pawno

coloca no topo do GM

pawn Код:
#include sscanf
e usa o comando

pawn Код:
if ( strcmp ( cmdtext, "/desbanir", true ) == 0 ) {

    if ( IsPlayerAdmin ( playerid ) ) {

        new ip[16];
        if ( sscanf ( cmdtext, "s[16]", ip ) )
            return SendClientMessage ( playerid, -1, "[ USE ]: /desbanir [ip]");
     
        format ( string, 30, "unbanip %s", ip);
        SendRconCommand ( string ) ;
    }
    return 1;
}
Reply
#9

Quote:
Originally Posted by iSmirnoff
Посмотреть сообщение
Baixa a include http://www.solidfiles.com/d/ba2f/

Coloca na pasta include dentro da pasta pawno

coloca no topo do GM

pawn Код:
#include sscanf
e usa o comando

pawn Код:
if ( strcmp ( cmdtext, "/desbanir", true ) == 0 ) {

    if ( IsPlayerAdmin ( playerid ) ) {

        new ip[16];
        if ( sscanf ( cmdtext, "s[16]", ip ) )
            return SendClientMessage ( playerid, -1, "[ USE ]: /desbanir [ip]");
     
        format ( string, 30, "unbanip %s", ip);
        SendRconCommand ( string ) ;
    }
    return 1;
}
sem esquecer tambem do plugin, colocar na pasta plugins e depois no server.cfg colocar tbm la caso seja windows

Quote:

plugins sscanf.dll

e se for linux

Quote:

plugins sscanf.so

Reply
#10

Quote:
Originally Posted by iSmirnoff
Посмотреть сообщение
Baixa a include http://www.solidfiles.com/d/ba2f/

Coloca na pasta include dentro da pasta pawno

coloca no topo do GM

pawn Код:
#include sscanf
e usa o comando

pawn Код:
if ( strcmp ( cmdtext, "/desbanir", true ) == 0 ) {

    if ( IsPlayerAdmin ( playerid ) ) {

        new ip[16];
        if ( sscanf ( cmdtext, "s[16]", ip ) )
            return SendClientMessage ( playerid, -1, "[ USE ]: /desbanir [ip]");
     
        format ( string, 30, "unbanip %s", ip);
        SendRconCommand ( string ) ;
    }
    return 1;
}
Desculpe o Double post mas, tenho mais 1 duvida, ao identar o code do jeito:
pawn Код:
if(strcmp(cmdtext, "/desbanir", true) == 0)
    {
        if(IsPlayerAdmin(playerid))
        {
            new ip[16];
            if(sscanf(cmdtext, "s[16]", ip))
            {
                SendClientMessage(playerid, ADMIN_CORRETO, "Uso: /desbanir [ip]");
                return 1;
            }
            format(string, 30, "unbanip %s", ip);
            SendRconCommand(string);
        }
        return 1;
    }
Percebi que faltava algo do tipo:

pawn Код:
format(string, 30, "reloadban");
SendRconCommand(string);
Seila se й assim mesmo kkk. Alguem pode add a outra funзгo da forma correta ao code pra mim?
Reply


Forum Jump:


Users browsing this thread: 6 Guest(s)