SA-MP Forums Archive
[Ajuda] Gente, me ajudem. Como me refiro a um player pelo id? - 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] Gente, me ajudem. Como me refiro a um player pelo id? (/showthread.php?tid=663728)



Gente, me ajudem. Como me refiro a um player pelo id? - Gabriel432135 - 09.02.2019

й que eu queria criar um comando para me teletransportar para um player especнfico, tipo /te id
O que eu sempre terei que fazer, quando quiser fazer um comando assim?


Re: Gente, me ajudem. Como me refiro a um player pelo id? - ipsLuan - 09.02.2019

Olб!

Estude GetPlayerPos e SetPlayerPos.


Re: Gente, me ajudem. Como me refiro a um player pelo id? - Gabriel432135 - 09.02.2019

Como eu me refiro a um player pelo id?


Re: Gente, me ajudem. Como me refiro a um player pelo id? - Marllun - 09.02.2019

Й muito fбcil mano..

vai precisar dos plugins pawncmd e sscanf, eles sгo mais fбceis.


Sscanf:https://sampforum.blast.hk/showthread.php?tid=570927
PawnCMD:https://sampforum.blast.hk/showthread.php?tid=608474

Code:
CMD:ir(playerid,params[]) { //Params й o que o jogador vai digitar depois do nome(parвmetros..)

    new id, //Armazena o id que jogador vai digitar(Pode utilizar o prуprio params tbm
    Float:x, //Variбvel para guardar a posiзгo x
    Float:y, //Variбvel para guardar a posiзгo y
    Float:z; //Variбvel para guardar a posiзгo z
    if(sscanf(params,"d",id)) return SendClientMessage(playerid, -1, "Use /Ir [ID]"); //Pode usar "u" para selecionar pelo nome tambйm
    GetPlayerPos(id, x,y,z); //Armazena nas variбveis X,Y,Z as coordenadas do id que jogador digitou
    SetPlayerPos(playerid, x,y,z); //Seta a posiзгo do playerid(o jogador que digitou o comando) para a posiзгo das variбveis X,Y,Z
    return 1;
}
й melhor fazer verificaзгo se o jogador estб online.

Para aprender mais: https://sampforum.blast.hk/showthread.php?tid=277842


utilize o sscanf - IsaacAsimov - 09.02.2019

Quote:
Originally Posted by Marllun
View Post
PHP Code:
    sscanf(params,"d",id
exatamente como o Marllun mostrou, porem pode usar o parametro "u" para capturar id, pelo nome ou inteiro


Re: Gente, me ajudem. Como me refiro a um player pelo id? - Gabriel432135 - 09.02.2019

Marllun, isso! Й porque os cуdigos que eu vejo, sempre tem algo como "if isplayerconnected", mas nгo entendo como й formulado. Obrigado!


Re: Gente, me ajudem. Como me refiro a um player pelo id? - Marllun - 09.02.2019

"!IsPlayerConnected" vocк jб sabe como й usado? se sim ele sу verifica se o id que estб dentro dos (Aqui) й igual a INVALID_PLAYER_ID ou -1


Re: Gente, me ajudem. Como me refiro a um player pelo id? - Gabriel432135 - 09.02.2019

Conhecem um de /ir e /trazer ?


Re: Gente, me ajudem. Como me refiro a um player pelo id? - Marllun - 09.02.2019

Mesma coisa......................... sу que ao contrбrio

Code:
CMD:trazer(playerid,params[]) { //Params й o que o jogador vai digitar depois do nome(parвmetros..)

    new id, //Armazena o id que jogador vai digitar(Pode utilizar o prуprio params tbm
    Float:x, //Variбvel para guardar a posiзгo x
    Float:y, //Variбvel para guardar a posiзгo y
    Float:z; //Variбvel para guardar a posiзгo z
    if(sscanf(params,"d",id)) return SendClientMessage(playerid, -1, "Use /Ir [ID]"); //Pode usar "u" para selecionar pelo nome tambйm
    GetPlayerPos(playerid, x,y,z);
    SetPlayerPos(id, x,y,z); 
    return 1;
}



Re: Gente, me ajudem. Como me refiro a um player pelo id? - zF3lKy3 - 09.02.2019

PHP Code:
CMD:trazer(playeridparams[])
{
     if(!
IsPlayerAdmin(playerid))
        return 
SendClientMessage(playerid0xFF0000FF"|ERRO| » Vocк nгo й um adm rcon!");
    new 
player1string[80];
    if(
sscanf(params"u"player1))
        return 
SendClientMessage(playerid0xFF0000FF"|USE| » /trazer [Playerid]");
    if(
player1 == INVALID_PLAYER_ID)
        return 
SendClientMessage(playerid0xFF0000FF"|ERRO| » O jogador nгo estб conectado.");
    if(
player1 == playerid)
        return 
SendClientMessage(playerid0xFF0000FF"|ERRO| » Vocк nгo pode usar este comando para si mesmo.");
    new 
Float:xFloat:yFloat:z;
    
GetPlayerPos(playeridxyz);
    
SetPlayerInterior(player1GetPlayerInterior(playerid));
    
SetPlayerVirtualWorld(player1GetPlayerVirtualWorld(playerid));
    if(
GetPlayerState(player1) == 2)
    {
        new 
VehicleID GetPlayerVehicleID(player1);
        
SetVehiclePos(VehicleIDx+3yz);
        
LinkVehicleToInterior(VehicleIDGetPlayerInterior(playerid));
        
SetVehicleVirtualWorld(GetPlayerVehicleID(player1), GetPlayerVirtualWorld(playerid));
    }
    else 
SetPlayerPos(player1x+2yz);
    
format(stringsizeof(string), "Vocк foi teleportado para o Admin: \"%s\""GetPlayerNameEx(playerid));
    
SendClientMessage(player10xFFFF00FFstring);
    
format(stringsizeof(string), "Vocк teleportou o jogador \"%s\" para sua localizaзгo atual."GetPlayerNameEx(player1));
    
SendClientMessage(playerid0x00FF00FFstring);
    return 
1;
}
GetPlayerNameEx(playerid)
{
    new 
pname[MAX_PLAYER_NAME];
    
GetPlayerName(playeridpnameMAX_PLAYER_NAME);
    return 
pname;