[Ajuda] Gente, me ajudem. Como me refiro a um player pelo id?
#1

й 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?
Reply
#2

Olб!

Estude GetPlayerPos e SetPlayerPos.
Reply
#3

Como eu me refiro a um player pelo id?
Reply
#4

Й 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
Reply
#5

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
Reply
#6

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

"!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
Reply
#8

Conhecem um de /ir e /trazer ?
Reply
#9

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;
}
Reply
#10

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;

Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)