[Ajuda] Dъvidas.
#1

Tenho duas dъvidas, a 1° se tem alguma funзгo que vocк coloque no GM e jб fique logado na rcon, tipo eu definiria dois nicks no GM entгo eles poderiam usar os comandos rcon sem ficar logando sempre.

A segunda dъvida, o comando /tapa aparentemente estб bugado, se eu digitar /tapa 0 eu recebo um tapa, se digitar /tapa 1 mesma coisa um tapa, e com o resto dos ids(2,3,4,5...) eu recebo o tapa, no caso era pra aparecer Jogador nгo conectado. Mas nгo aparece.

PS: estб com: IsPlayerConnected porйm n pega ._.

PHP Code:
 command(tapaplayeridparams[])
{
     if(
PlayerInfo[playerid][pAdmin] == 0)return SendClientMessage(playerid, -1"{FF0000}[ x ] Vocк nгo tem permissгo para usar esse comando!");
     if(
sscanf(params"u"ID)) return SendClientMessage(playerid,-1,"{CAFF70}[ > ] Use: /tapa [ID]");
     if(!
IsPlayerConnected(ID))return SendClientMessage(playerid,-1,"{FF0000}[ x ] Jogador(a) estб conectado(a)!");
     new 
Float:Pos[3];
     
GetPlayerPos(IDPos[0], Pos[1], Pos[2]), SetPlayerPos(IDPos[0], Pos[1], Pos[2]+20);
     
format(dstringsizeof dstring ,"[Admin] %s vocк levou um tapa do(a) administrador(a) %s."Nome(ID), Nome(playerid));
     
SendClientMessage(playeridAzul,dstring);
     return 
true;

Reply
#2

no comando tapa falta vocк declarar a variбvel ID.
pawn Code:
command(tapa, playerid, params[])
{
     if(PlayerInfo[playerid][pAdmin] == 0)return SendClientMessage(playerid, -1, "{FF0000}[ x ] Vocк nгo tem permissгo para usar esse comando!");

      new ID;
     if(sscanf(params, "u", ID)) return SendClientMessage(playerid,-1,"{CAFF70}[ > ] Use: /tapa [ID]");
     if(!IsPlayerConnected(ID))return SendClientMessage(playerid,-1,"{FF0000}[ x ] Jogador(a) estб conectado(a)!");
     new Float:Pos[3];
     GetPlayerPos(ID, Pos[0], Pos[1], Pos[2]), SetPlayerPos(ID, Pos[0], Pos[1], Pos[2]+20);
     format(dstring, sizeof dstring ,"[Admin] %s vocк levou um tapa do(a) administrador(a) %s.", Nome(ID), Nome(playerid));
     SendClientMessage(playerid, Azul,dstring);
     return true;
}
faz assim /\
Reply
#3

Estou de saнda, quando tiver um tempo vou ver se funciona.. quanto a minha duvida vocк ou alguйm sabe algo a respeito? Se existe algo assim?
Reply
#4

A primeira dъvida:
Nгo existe, uma funзгo nativa para isso. Vocк precisaria criar um variбvel para definir se ele estб logado na RCON ou nгo.

Um exemplo:

Eu conecto no servidor, e tem sу dois nicks que podem logar na RCON quando ele conecta, vocк tem que comparar os nomes e para isso vocк vocк teria que usar a funзгo strcmp, que compara strings.
Exemplo de uso de strcmp:
pawn Code:
if(strcmp("Test", "Teste", true) == 0)
{
    print("Test й igual a Teste");
}
/*
Neste exemplo, caso a palavra Test for igual a Teste ele envia a mensagem no console dizendo que Test й igual a Teste.

O true indica que caso Test for igual a Teste ele retorna enviando uma mensagem no console.
*/
Reply
#5

Nunca testei, mas vale a pena testar o uso de OnPlayerText pra "forзar" o jogador a digitar aquilo que o faz logar na rcon.

Vai que cola...
Reply
#6

Nгo funcionou, continua do mesmo jeito, /tapa [ID 1,2,3,4.....] continuo recebendo o tapa em vez da mensagem..

pawn Code:
command(tapa, playerid, params[])
{
     if(PlayerInfo[playerid][pAdmin] == 0)return SendClientMessage(playerid, -1, "{FF0000}[ x ] Vocк nгo tem permissгo para usar esse comando!");
     if( isnull( params ) ) return SendClientMessage(playerid, -1,"{CAFF70}[ > ] Use: /tapa [ID]");
     if(!IsPlayerConnected(ID))return SendClientMessage(playerid,-1,"{FF0000}[ x ] Jogador(a) estб conectado(a)!");
     new Float:Pos[3];
     GetPlayerPos(ID, Pos[0], Pos[1], Pos[2]), SetPlayerPos(ID, Pos[0], Pos[1], Pos[2]+20);
     format(dstring, sizeof dstring ,"[Admin] %s vocк levou um tapa do(a) administrador(a) %s.", Nome(ID), Nome(playerid));
     SendClientMessage(playerid, Azul,dstring);
     return true;
}
Reply
#7

new ID = strval(params);
Reply
#8

pawn Code:
command(tapa, playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] == 0)
        return SendClientMessage(playerid, -1, "{FF0000}[ x ] Vocк nгo tem permissгo para usar esse comando!");
    if( isnull( params[0] ) )
        return SendClientMessage(playerid, -1,"{CAFF70}[ > ] Use: /tapa [ID]");
    if(!IsPlayerConnected(strval(params[0])))
        return SendClientMessage(playerid,-1,"{FF0000}[ x ] Jogador(a) estб conectado(a)!");
    new Float:Pos[3];
    GetPlayerPos(strval(params[0]), Pos[0], Pos[1], Pos[2]);
    SetPlayerPos(strval(params[0]), Pos[0], Pos[1], Pos[2]+20);
    format(dstring, sizeof dstring ,"[Admin] %s vocк levou um tapa do(a) administrador(a) %s.", Nome(strval(params[0])), Nome(playerid));
    SendClientMessage(playerid, Azul,dstring);
    return true;
}
Reply
#9

1 - Sim e possнvel fazer isso de vбrias formas.

2 - Para usar o especificador 'u' vocк deve fazer alteraзхes sobre as configuraзхes do sscanf, isso tambйm depende a versгo do sscanf que vocк esta utilizando.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)