[Ajuda] RCON reiniciando o servidor
#1

E aн pessoal, eu estou com um servidor e estou com o seguinte contexto na OnRconLoginAttempt

pawn Код:
public OnRconLoginAttempt(ip[], password[], success)
{
    new playername[MAX_PLAYER_NAME];
    if(success)
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            GetPlayerName(i, playername, sizeof(playername));
            if(!strcmp(playername, "Non_Pareil", true))
            {
                SendClientMessage(i, -1, "Vocк estб autorizado a logar na RCON.");
            }
            else
            {
                SendClientMessage(i, -1, "Vocк nгo estб autorizado a logar na RCON.");
                Kick(i);
            }
        }
    }
    return 1;
}
Sempre quando eu logo na RCON o servidor reinicia pra todos menos pra mim, nгo sei se isso й causador do problema, alguma soluзгo?
Reply
#2

Vocк colocou para expulsar todo mundo que nгo tenha nome Non_Pareil

Retire o loop e coloque para obter o nome do playerid.
Reply
#3

Porque vocк usou uma loop ?
Reply
#4

Quote:
Originally Posted by Dolby
Посмотреть сообщение
Vocк colocou para expulsar todo mundo que nгo tenha nome Non_Pareil

Retire o loop e coloque para obter o nome do playerid.
Valeu cara, eu tirei funcionou, vou reprogramar
+rep
Reply
#5

OnRconLoginAttempt nгo tem playerid, portanto terб que usar o loop, mas estб usando de forma incorreta.

Forma correta:

pawn Код:
public OnRconLoginAttempt(ip[], password[], success)
{
    new playername[MAX_PLAYER_NAME];
    if(success)
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            GetPlayerName(i, playername, sizeof(playername));
            if(strcmp(playername, "Non_Pareil", true))
            {
                SendClientMessage(i, -1, "Vocк estб autorizado a logar na RCON.");
            }
            else
            {
                SendClientMessage(i, -1, "Vocк nгo estб autorizado a logar na RCON.");
                Kick(i);
            }
        }
    }
    return 1;
}
Um simbolo NOT faz diferenзa, nгo?
Reply
#6

Daniel na verdade o seu estб incorreto, e vai expulsar todos os jogadores
Mas bem notado que que nгo existe parвmetro playerid nesta callback, acabei esquecendo devido ao tempo que estou sem programar Pawn.

Podes tentar assim:
pawn Код:
public OnRconLoginAttempt(ip[], password[], success)
{
    new playername[MAX_PLAYER_NAME];
    if(success)
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            GetPlayerName(i, playername, sizeof(playername));
            if(IsPlayerAdmin(i) && !strcmp(playername, "Non_Pareil", true)) return SendClientMessage(i, -1, "Vocк estб autorizado a logar na RCON.");
            else return Kick(i);
        }
    }
    return 1;
}
Reply
#7

Quote:
Originally Posted by Dolby
Посмотреть сообщение
Daniel na verdade o seu estб incorreto, e vai expulsar todos os jogadores
Mas bem notado que que nгo existe parвmetro playerid nesta callback, acabei esquecendo devido ao tempo que estou sem programar Pawn.

Podes tentar assim:
pawn Код:
public OnRconLoginAttempt(ip[], password[], success)
{
    new playername[MAX_PLAYER_NAME];
    if(success)
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            GetPlayerName(i, playername, sizeof(playername));
            if(IsPlayerAdmin(i) && !strcmp(playername, "Non_Pareil", true)) return SendClientMessage(i, -1, "Vocк estб autorizado a logar na RCON.");
            else return Kick(i);
        }
    }
    return 1;
}
Acho que meu code irб pegar sim..

Seu code tambйm estб incorreto. aeahuea.

if(IsPlayerAdmin) й setado б true, quando estб logado na Rcon. E no caso ele estб logando agora, hue.


Quote:
Originally Posted by davi54723
Посмотреть сообщение
pawn Код:
new playername[MAX_PLAYER_NAME],PTiD;
    if(success)
    {
            GetPlayerName(PTiD, playername, sizeof(playername));
            if(!strcmp(playername, "Nick_Name", true))
            {
                SendClientMessage(PTiD, -1, "Vocк estб autorizado a logar na RCON.");
            }
            else
            {
                SendClientMessage(PTiD, -1, "Vocк nгo estб autorizado a logar na RCON.");
                Kick(PTiD);
            }
    }
Testei, e funcionou de boa !
Tenho certeza que vocк nгo testou, e isso concerteza nгo pegou, fera...
Reply
#8

Quote:
Originally Posted by DannielCooper
Посмотреть сообщение
Acho que meu code irб pegar sim..
Seu code tambйm estб incorreto. aeahuea.
if(IsPlayerAdmin) й setado б true, quando estб logado na Rcon. E no caso ele estб logando agora, hue.
Foi a dъvida que tive, mas como diz a prуpria descriзгo da callback na wiki

Quote:
Originally Posted by wiki
This callback is called when someone tries to login to RCON, succesful or not.
кnfase na parte do succesful or not. Para ser sincero й necessбrio um pequeno debug para verificar se tal funзгo jб tem valor true nesta callback.

De qualquer maneira, pode observar que seu cуdigo funciona de forma inversa, pois vocк nгo utilizou strcmp corretamente. Mas mesmo assim seu cуdigo vai expulsar quem tem nome Non_Pareil, seja ele que tentou entrar na rcon ou nгo, e vai enviar a string "Vocк estб autorizado a logar na RCON." a todos os jogadores restantes

Aguardando o autor testar o cуdigo.
Reply
#9

Quote:
Originally Posted by DannielCooper
Посмотреть сообщение
Acho que meu code irб pegar sim..

Seu code tambйm estб incorreto. aeahuea.

if(IsPlayerAdmin) й setado б true, quando estб logado na Rcon. E no caso ele estб logando agora, hue.




Tenho certeza que vocк nгo testou, e isso concerteza nгo pegou, fera...

Testei e funcionou sim fera.

Bota ai e vк se nгo funfa. '-'

Obs: "concerteza" nгo existe (COM CERTEZA)
Reply
#10

Quote:
Originally Posted by davi54723
Посмотреть сообщение
Testei e funcionou sim fera.

Bota ai e vк se nгo funfa. '-'

Obs: "concerteza" nгo existe (COM CERTEZA)
Obrigado pela correзгo, mas, vou postar aqui somente 4 linhas que irгo te dizer que COM CERTEZA nгo estб funcionando corretamente.

pawn Код:
new PTiD;
GetPlayerName(PTiD, playername, sizeof(playername));
SendClientMessage(PTiD, -1, "Vocк estб autorizado a logar na RCON.");
SendClientMessage(PTiD, -1, "Vocк nгo estб autorizado a logar na RCON.");
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)