Ladmin - Vehicle doesn't teleport -
MustangV10 - 30.06.2017
Hello,
I'm using this Pawn from LAdmin:
https://pastebin.com/raw/rAtMKpnc
When using /ltele and teleporting to a location, the player's vehicle doesn't travel with the player's character
Does anyone know how to fix this?
Thanks
Re: Ladmin - Vehicle doesn't teleport -
Freedom. - 30.06.2017
Add this stock. And replace SetPlayerPos to SetPlayerPos_Ex
Code:
stock SetPlayerPos_Ex(playerid, Float:x, Float:y, Float:z)
{
new vID = GetPlayerVehicleID(playerid);
if(!IsPlayerInAnyVehicle(playerid))
{
SetPlayerPos(playerid, x, y, z);
}
else
{
SetVehiclePos(vID, x, y, z);
}
return 1;
}
Re: Ladmin - Vehicle doesn't teleport -
MustangV10 - 30.06.2017
Hi there - many thanks for the reply!
Is it possible to do something similar to /goto instead? This teleports the player + vehicle:
Code:
CMD:goto(playerid, params[])
{
if(PlayerInfo[playerid][Level] < 2 && !IsPlayerAdmin(playerid))
return SendClientMessage(playerid, red, "ERROR: You are not a high enough level admin to use this command.");
new player1, string[128];
if(sscanf(params, "u", player1))
return SendClientMessage(playerid, red, "USAGE: /goto [playerid]");
if(player1 == INVALID_PLAYER_ID)
return SendClientMessage(playerid, red, "ERROR: Player is not connected.");
CMDMessageToAdmins(playerid,"GOTO");
new Float:x, Float:y, Float:z;
GetPlayerPos(player1, x, y, z);
SetPlayerInterior(playerid, GetPlayerInterior(player1));
SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(player1));
if(GetPlayerState(playerid) == 2)
{
SetVehiclePos(GetPlayerVehicleID(playerid), x+3, y, z);
LinkVehicleToInterior(GetPlayerVehicleID(playerid), GetPlayerInterior(player1));
SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GetPlayerVirtualWorld(player1));
}
else SetPlayerPos(playerid, x+2, y, z);
format(string, sizeof(string), "You have teleported to \"%s\"", pName(player1));
SendClientMessage(playerid, green, string);
return 1;
}
Re: Ladmin - Vehicle doesn't teleport -
1fret - 30.06.2017
Just add this to the necessary places on the script
PHP Code:
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
SetVehiclePos(GetPlayerVehicleID(playerid),"CHANGE THIS TO THE POSITION");
LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(playerid));
SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(playerid));
}
else SetPlayerPos(playerid,"CHANGE THIS TO THE POSITION");
SetPlayerFacingAngle(playerid,"CHOOSE AN ANGEL");
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,0);
CMDMessageToAdmins(playerid," /ltele ");
return 1;
}
Also that stock is more useful but i guess you want this so...
Re: Ladmin - Vehicle doesn't teleport -
ColdGamePlay - 02.07.2017
Original CMD from ladmin
Code:
CMD:goto(playerid,params[]) {
if(PlayerInfo[playerid][Level] >= 2 || IsPlayerAdmin(playerid)) {
if(isnull(params)) return SendClientMessage(playerid,red,"USAGE: /goto [playerid]");
new player1, string[128];
if(!IsNumeric(params)) player1 = ReturnPlayerID(params);
else player1 = strval(params);
if(IsPlayerConnected(player1) && player1 != INVALID_PLAYER_ID && player1 != playerid) {
CMDMessageToAdmins(playerid,"GOTO");
new Float:x, Float:y, Float:z; GetPlayerPos(player1,x,y,z); SetPlayerInterior(playerid,GetPlayerInterior(player1));
SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(player1));
if(GetPlayerState(playerid) == 2) {
SetVehiclePos(GetPlayerVehicleID(playerid),x+3,y,z); LinkVehicleToInterior(GetPlayerVehicleID(playerid),GetPlayerInterior(player1));
SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),GetPlayerVirtualWorld(player1));
} else SetPlayerPos(playerid,x+2,y,z);
format(string,sizeof(string),"You have teleported to \"%s\"", pName(player1));
return SendClientMessage(playerid,blue,string);
} else return SendClientMessage(playerid, red, "Player is not connected or is yourself");
} else return SendClientMessage(playerid,red,"[ERROR]: You are not a high enough level to use this command");
}