AddPlayerRcon -
ipsBruno - 11.07.2012
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
Agora para adicionar um jogador a rcon basta:
AddPlayerRcon(jogador id)
Para deletar ele da RCON:
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(playerid, name, MAX_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.
Re: AddPlayerRcon -
andmeida10 - 11.07.2012
Bom trabalho
Acho q pode ser util para servidores q n tem sistema de PLayerInfo....
Re: AddPlayerRcon -
Rick_DR - 11.07.2012
Muito bom !
Re: AddPlayerRcon -
CidadeNovaRP - 11.07.2012
Parabйns, irei usar!
Re: AddPlayerRcon -
Nigel - 11.07.2012
Otimo trabalho
Re: AddPlayerRcon -
Kuddy - 11.07.2012
O que eu entendi: Tem um player chamado ademir.... (rcon_ademir)
<brinks>
Brincadeiras a parte, sempre quis saber se isso era possнvel
Bom trabalho Bruno xD
Re: AddPlayerRcon -
Don_Speed - 11.07.2012
Como sempre otimo!
Re: AddPlayerRcon -
paulor - 11.07.2012
Уtimo pensamento! Muito bom!
Isso nгo vai Print como deve neh!
pawn Код:
#define AddPlayerRcon(%0) (SetPVarInt(%0, "rcon_ademir", 1), printf("RCON (In-Game): Player %d (%d) has logged in.",%0, g@str_getname(%0)))
#define RemovePlayerRcon(%0) (SetPVarInt(%0, "rcon_ademir", 0), printf("RCON (In-Game): Player %d (%d) has logged off.",%0, g@str_getname(%0)))
//Correto.
#define AddPlayerRcon(%0) (SetPVarInt(%0, "rcon_ademir", 1), printf("RCON (In-Game): Player %d (%s) has logged in.",%0, g@str_getname(%0)))
#define RemovePlayerRcon(%0) (SetPVarInt(%0, "rcon_ademir", 0), printf("RCON (In-Game): Player %d (%s) has logged off.",%0, g@str_getname(%0)))
Respuesta: Re: AddPlayerRcon -
ipsBruno - 11.07.2012
Quote:
Originally Posted by paulor
Уtimo pensamento! Muito bom!
Isso nгo vai Print como deve neh!
pawn Код:
#define AddPlayerRcon(%0) (SetPVarInt(%0, "rcon_ademir", 1), printf("RCON (In-Game): Player %d (%d) has logged in.",%0, g@str_getname(%0))) #define RemovePlayerRcon(%0) (SetPVarInt(%0, "rcon_ademir", 0), printf("RCON (In-Game): Player %d (%d) has logged off.",%0, g@str_getname(%0)))
//Correto. #define AddPlayerRcon(%0) (SetPVarInt(%0, "rcon_ademir", 1), printf("RCON (In-Game): Player %d (%s) has logged in.",%0, g@str_getname(%0))) #define RemovePlayerRcon(%0) (SetPVarInt(%0, "rcon_ademir", 0), printf("RCON (In-Game): Player %d (%s) has logged off.",%0, g@str_getname(%0)))
|
Nem vi o erro
Obrigado paulinho .. Arrumado !!
Quote:
Originally Posted by Mr.Hardy
Boa Lуgica!
Mбs podia melhorar nй mano!
Ai estб mais externo e nгo uso interno se й q me entende..
Nгo ira funcionar /adm varlist
/adm cmdlist
Sу irб printar cmdlist, varlist no console.
|
Funcionarб com SendRconCommand, й praticamente uma nova rcon .. cmdlist nгo irб funcionar porque nгo tem o jogador pra mandar, mas pra isto basta colocar uns SendClientMessages !! Obrigado pela dica.
Re: Respuesta: Re: AddPlayerRcon -
paulor - 11.07.2012
Quote:
Originally Posted by [FeK]DraKiNs
Nem vi o erro Obrigado paulinho .. Arrumado !!
|
Sem problemas, Tamo junto! kkkkk