SA-MP Forums Archive
[Ajuda] Dъvidas. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Dъvidas. (/showthread.php?tid=526443)



Dъvidas. - Ts3 - 17.07.2014

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;




Re: Dъvidas. - Duun - 17.07.2014

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 /\


Re: Dъvidas. - Ts3 - 17.07.2014

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?


Re: Dъvidas. - MultiKill - 17.07.2014

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.
*/



Re: Dъvidas. - ViniBorn - 17.07.2014

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...


Re: Dъvidas. - Ts3 - 17.07.2014

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;
}



Re: Dъvidas. - ViniBorn - 17.07.2014

new ID = strval(params);


Re: Dъvidas. - PT - 17.07.2014

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;
}



Re: Dъvidas. - Schocc - 17.07.2014

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.