SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    [Tutorial] /relogar

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11381
    Moedas : 1031991
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    [Tutorial] /relogar Empty [Tutorial] /relogar

    Mensagem por Weslley_Script Ter 11 Abr 2023 - 14:30

    Muitas pessoas que têm o comando /relogar usam a maneira com "banip 04.04.04.04", assim como no exemplo:
    peão Код:

    Código:
    #include <zcmd>

    #define FILTERSCRIPT
    novo ireconnect [ MAX_PLAYERS ] ;

    public OnPlayerDisconnect ( playerid, razão )
    {
        if ( ireconnect [ playerid ]  ==  1 )
        {
                new unbanningip [ 16 ] , string [ 128 ] ;
                GetPVarString ( playerid, "reconectar" , unbanningip, 16 ) ; // Obtém a string msg do
                formato PVar( string, sizeof ( string ) , "unbanip %s" , unbanipip ) ;
                SendRconCommand ( string ) ;
                printf ( string ) ;
                SendRconCommand ( "reloadbans" ) ;
                ireconnect [ playerid ]  =  0 ;
        }
        retorna  1 ;
    }

    //==================================================== ===============================
    //Reconectar
    //================================================ ==============================
    COMANDO : reconectar ( playerid, params [ ] )
    {
        novo pid;
        if ( sscanf ( params, "us" , pid, params [ 2 ] ) )  return SendClientMessage ( playerid, 0xFF0000AA, "Uso do Comando: /reconectar [playerid] [motivo]" ) ;
        if ( nível [ playerid ]  >=  1 || viplevel [ playerid]  ==  2 ) //altere-os para o jeito que você obteve em seu script de administração. foi assim que consegui, então..
        {
            if ( ! IsPlayerConnected ( pid ) )  return SendClientMessage ( playerid, red, "ERRO: Esse jogador não está online." ) ;
            novo adminname [ MAX_PLAYER_NAME ] , paramname [ MAX_PLAYER_NAME ] , string [ 180 ] ;
            novo ip [ 16 ] ;
            GetPlayerIp( pid, ip, sizeof ( ip ) ) ;
            GetPlayerName ( pid, paramname, sizeof ( paramname ) ) ;
            GetPlayerName ( playerid, adminname, sizeof ( adminname ) ) ;
            format ( string, sizeof ( string ) , "Administrador %s forçou %s a se reconectar. [Razão: %s]" , adminname, paramname, params [ 2 ] ) ;
            SendClientMessageToAll (vermelho, corda ) ;
            imprimir ( string ) ;
            formato ( string, sizeof ( string ) , "banip %s" , ip ) ;
            SetPVarString ( pid, "reconectar" , ip ) ;
            conectar [ pid ]  =  1 ;
            SendRconCommand ( string ) ;
        }  
        else SendClientMessage ( playerid, red,"Erro: você deve ser um administrador de nível superior para usar esse comando." ) ;
        retornar  1 ;
    }


    Logo após ser lançada a função BlockIpAddress lá na 0.3z R2 (Não tenho certeza se foi a R2 rs), o comando para o jogador reconectar ao servidor pode ser feito de uma maneira muito mais simples, sem complicações e o risco do servidor travar (por outro motivo) na hora que o ip do tal jogador foi banido para relogar, irá continuar banido no samp.ban.
    peão Код:

    Código:
    [size=14][size=13]#include <zcmd> //inclui um include do processador de comandos
    CMD : relogar ( playerid )
    {
         SendClientMessage ( playerid, - 1 , "{ffff00}Reconectando, aguarde..." ) ; //envia uma mensagem ao cliente
         BlockIpAddress ( GetPlayerIpEx ( playerid ) , 11000 ) ; //gera e bloqueia o ip do cliente por 11 segundos, assim dando tempo certo dele relogar
        return  1 ;
    }

    estoque GetPlayerIpEx ( playerid ) //a stock onde gera o ip com mais facilidade, também podendo ser usado em outros scripts
    {
        new pip [ 16 ] ;
        GetPlayerIp ( playerid, pip, 16 ) ; pip
        de retorno ;
    }[/size][/size]


    [center][/center]

    Algo simples e ъtil, espero ter ajudado.

    Creditos: Krusheer



    [Tutorial] /relogar D07Xwqb
    [Tutorial] /relogar Yjab9HN

      Data/hora atual: Sex 17 maio 2024 - 1:55