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
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(playerid, params[])
{
if(!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, 0xFF0000FF, "|ERRO| » Vocк nгo й um adm rcon!");
new player1, string[80];
if(sscanf(params, "u", player1))
return SendClientMessage(playerid, 0xFF0000FF, "|USE| » /trazer [Playerid]");
if(player1 == INVALID_PLAYER_ID)
return SendClientMessage(playerid, 0xFF0000FF, "|ERRO| » O jogador nгo estб conectado.");
if(player1 == playerid)
return SendClientMessage(playerid, 0xFF0000FF, "|ERRO| » Vocк nгo pode usar este comando para si mesmo.");
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
SetPlayerInterior(player1, GetPlayerInterior(playerid));
SetPlayerVirtualWorld(player1, GetPlayerVirtualWorld(playerid));
if(GetPlayerState(player1) == 2)
{
new VehicleID = GetPlayerVehicleID(player1);
SetVehiclePos(VehicleID, x+3, y, z);
LinkVehicleToInterior(VehicleID, GetPlayerInterior(playerid));
SetVehicleVirtualWorld(GetPlayerVehicleID(player1), GetPlayerVirtualWorld(playerid));
}
else SetPlayerPos(player1, x+2, y, z);
format(string, sizeof(string), "Vocк foi teleportado para o Admin: \"%s\"", GetPlayerNameEx(playerid));
SendClientMessage(player1, 0xFFFF00FF, string);
format(string, sizeof(string), "Vocк teleportou o jogador \"%s\" para sua localizaзгo atual.", GetPlayerNameEx(player1));
SendClientMessage(playerid, 0x00FF00FF, string);
return 1;
}
GetPlayerNameEx(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
return pname;
}