[Include] AddPlayerRcon
#1

Muitas pessoas jб passaram pelo problema de querer colocar alguйm em RCON, mas nгo querer passar a senha. Ou pela chatice de ter que estar digitando /rcon login a cada vez que conecta.

Pois bem. Criei esta biblioteca baseada em SendRconCommand:

Com este cуdigo vocк pode logar um jogador na RCON via Pawn. Sem precisar passar a senha para o jogador ou necessitar de rcon login


Cуdigo
pawn Код:
#define NOVA_RCON   "/adm"

#define AddPlayerRcon(%0)           (SetPVarInt(%0, "rcon_ademir", 1), printf("RCON (In-Game): Player %s (%d) has logged in.",%0, g@str_getname(%0)))
#define RemovePlayerRcon(%0)        (SetPVarInt(%0, "rcon_ademir", 0), printf("RCON (In-Game): Player %s (%d) has logged off.",%0, g@str_getname(%0)))

public OnPlayerCommandText(playerid, cmdtext[]) {
    if(!strcmp(cmdtext, #NOVA_RCON " ", false, 5) && strlen(cmdtext) > 6 && (GetPVarInt(playerid, "rcon_ademir") || IsPlayerAdmin(playerid))) {
        return SendRconCommand(cmdtext[5]), printf("RCON (In-Game): Player [%s] sent command: %s", g@str_getname(playerid), cmdtext[5]);
    }

    return
        (
            (!cmdtext[0] || (cmdtext[0] == 1 && !cmdtext[1])) ?
                CallLocalFunction("c_@_OnPlayerCommandText", "ds", playerid, "\1")
            :   CallLocalFunction("c_@_OnPlayerCommandText", "is", playerid, cmdtext)
        )
        ;
}

stock IsPlayerRcon(p) {
    return IsPlayerAdmin(p) && GetPVarInt(p, "rcon_ademir");
}

g@str_getname(pid) {
    static sname[MAX_PLAYER_NAME];
    return GetPlayerName(pid, sname, MAX_PLAYER_NAME), sname;
}

#if defined _ALS_OnPlayerCommandText
    #undef OnPlayerCommandText
#else
    #define _ALS_OnPlayerCommandText
#endif

#define OnPlayerCommandText     c_@_OnPlayerCommandText
#define IsPlayerAdmin           IsPlayerRcon

forward OnPlayerCommandText(playerid, cmdtext[]);






Modo de uso:

Basta salva-la o cуdigo acima como "rcon.inc" e colocar no seu gamemode
PHP код:
#include rcon 
Agora para adicionar um jogador a rcon basta:
AddPlayerRcon(jogador id)

Para deletar ele da RCON:
pawn Код:
RemovePlayerRcon(id)
O comando novo para rcon estб prй-definido como:
Quote:

/adm COMANDO RCON SEM "/rcon "

Mas vocк pode mudar de "/ADM" para outro mexendo na include ..





Exemplo:

Em OnPlayerConnect:
PHP код:
static name[MAX_PLAYER_NAME]; GetPlayerName(playeridnameMAX_PLAYER_NAME);
if(!
strcmp(name"ADMINISTRADOR"true))  AddPlayerRcon(playerid); 
Com este cуdigo. O jogador que entrar no servidor com nick "ADMINSTRADOR" serб logado automaticamente na rcon.



Se apresentar eventuais erros, estarei aqui para corrigir. Boa sorte com o uso do projeto

Espero que gostem.
Reply


Messages In This Thread
AddPlayerRcon - by ipsBruno - 11.07.2012, 07:28
Re: AddPlayerRcon - by andmeida10 - 11.07.2012, 08:10
Re: AddPlayerRcon - by Rick_DR - 11.07.2012, 09:08
Re: AddPlayerRcon - by CidadeNovaRP - 11.07.2012, 12:09
Re: AddPlayerRcon - by Nigel - 11.07.2012, 12:25
Re: AddPlayerRcon - by Kuddy - 11.07.2012, 12:53
Re: AddPlayerRcon - by Don_Speed - 11.07.2012, 13:23
Re: AddPlayerRcon - by paulor - 11.07.2012, 14:29
Respuesta: Re: AddPlayerRcon - by ipsBruno - 11.07.2012, 21:39
Re: Respuesta: Re: AddPlayerRcon - by paulor - 11.07.2012, 22:06

Forum Jump:


Users browsing this thread: 3 Guest(s)