/goto teleport + car
#1

Hello!
I have a /goto [playerid] command,but if I use it when I am incar,my car doesn't teleport,only myself.Can you guys help me? Thank you!

Код:
CMD:goto(playerid, params[])
{
    new id;
	if(IsPlayerConnected(id))
	{
	    if ( GetPVarInt( playerid, "AdminLevel" ) < 1)
	        return SendClientMessage( playerid, -1, "You are not allowed to use this command!");
	    {
			if(!sscanf(params, "ui", id))
			{
			    new string[64];
			    new name[MAX_PLAYER_NAME];
			    new Float:x, Float:y, Float:z;	GetPlayerPos(id,x,y,z); SetPlayerInterior(playerid,GetPlayerInterior(id));
			    GetPlayerName(playerid, name, sizeof(name));
			    GetPlayerName(id, PlayerName, sizeof(PlayerName));
			    format(string, sizeof(string), ""ORANGESV"%s {FFFFFF}teleported his self to you.", name);
			    SendClientMessage(id, -1, string);
			    format(string, sizeof(string), "You teleported yourself to "ORANGESV"%s.", PlayerName);
			    SendClientMessage(playerid, -1, string);
				SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));
			    SetPlayerPos(playerid,x+2,y,z);
			    return 1;
			}
			else return SendClientMessage(playerid, -1, "Usage : /goto [id/name]");
	    }
	}
	else return SendClientMessage(playerid, -1, "Player is not connected.");
}
Reply
#2

add if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) and then setvehiclepos and don't use setplayerpos
Reply
#3

PHP код:
CMD:goto(playeridparams[])
{
    new 
id;
    if(
IsPlayerConnected(id))
    {
        if ( 
GetPVarIntplayerid"AdminLevel" ) < 1)
            return 
SendClientMessageplayerid, -1"You are not allowed to use this command!");
        {
            if(!
sscanf(params"ui"id))
            {
                new 
string[64];
                new 
vehid GetPlayerVehicleID(playerid);;
                new 
name[MAX_PLAYER_NAME];
                new 
Float:xFloat:yFloat:z;
                
GetPlayerPos(id,x,y,z);
                
GetVehiclePos(vehid,x,y,z);
                
SetPlayerInterior(playerid,GetPlayerInterior(id));
                
GetPlayerName(playeridnamesizeof(name));
                
GetPlayerName(idPlayerNamesizeof(PlayerName));
                
format(stringsizeof(string), ""ORANGESV"%s {FFFFFF}teleported his self to you."name);
                
SendClientMessage(id, -1string);
                
format(stringsizeof(string), "You teleported yourself to "ORANGESV"%s."PlayerName);
                
SendClientMessage(playerid, -1string);
                
SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));
                
SetPlayerPos(playerid,x+2,y,z);
                
SetVehiclePos(vehid,x+2,y,z);
                
PutPlayerInVehicle(playeridvehid0);
                return 
1;
            }
            else return 
SendClientMessage(playerid, -1"Usage : /goto [id/name]");
        }
    }
    else return 
SendClientMessage(playerid, -1"Player is not connected.");

Reply
#4

=WoR=G4M3Ov3r, you didn't check if player is in any vehicle, and you didn't getvehicleid
try it:
Код:
CMD:goto(playerid, params[])
{
    new id;
	if(IsPlayerConnected(id))
	{
	    if ( GetPVarInt( playerid, "AdminLevel" ) < 1)
	        return SendClientMessage( playerid, -1, "You are not allowed to use this command!");
	    {
			if(!sscanf(params, "ui", id))
			{
			    new string[64];
			    new name[MAX_PLAYER_NAME];
			    new Float:x, Float:y, Float:z;	GetPlayerPos(id,x,y,z); SetPlayerInterior(playerid,GetPlayerInterior(id));
			    GetPlayerName(playerid, name, sizeof(name));
			    GetPlayerName(id, PlayerName, sizeof(PlayerName));
			    format(string, sizeof(string), ""ORANGESV"%s {FFFFFF}teleported his self to you.", name);
			    SendClientMessage(id, -1, string);
			    format(string, sizeof(string), "You teleported yourself to "ORANGESV"%s.", PlayerName);
			    SendClientMessage(playerid, -1, string);
				SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));
			    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
			    {
				    SetVehiclePos(GetPlayerVehicleID(playerid),x+2,y,z);
			    }else{
				    SetPlayerPos(playerid,x+2,y,z);
				}
			    return 1;
			}
			else return SendClientMessage(playerid, -1, "Usage : /goto [id/name]");
	    }
	}
	else return SendClientMessage(playerid, -1, "Player is not connected.");
}
Reply
#5

Quote:
Originally Posted by Sielly
Посмотреть сообщение
=WoR=G4M3Ov3r, you didn't check if player is in any vehicle, and you didn't getvehicleid
try it:
Код:
CMD:goto(playerid, params[])
{
    new id;
	if(IsPlayerConnected(id))
	{
	    if ( GetPVarInt( playerid, "AdminLevel" ) < 1)
	        return SendClientMessage( playerid, -1, "You are not allowed to use this command!");
	    {
			if(!sscanf(params, "ui", id))
			{
			    new string[64];
			    new name[MAX_PLAYER_NAME];
			    new Float:x, Float:y, Float:z;	GetPlayerPos(id,x,y,z); SetPlayerInterior(playerid,GetPlayerInterior(id));
			    GetPlayerName(playerid, name, sizeof(name));
			    GetPlayerName(id, PlayerName, sizeof(PlayerName));
			    format(string, sizeof(string), ""ORANGESV"%s {FFFFFF}teleported his self to you.", name);
			    SendClientMessage(id, -1, string);
			    format(string, sizeof(string), "You teleported yourself to "ORANGESV"%s.", PlayerName);
			    SendClientMessage(playerid, -1, string);
				SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(id));
			    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
			    {
				    SetVehiclePos(GetPlayerVehicleID(playerid),x+2,y,z);
			    }else{
				    SetPlayerPos(playerid,x+2,y,z);
				}
			    return 1;
			}
			else return SendClientMessage(playerid, -1, "Usage : /goto [id/name]");
	    }
	}
	else return SendClientMessage(playerid, -1, "Player is not connected.");
}
You don't need to, vehid = GetPlayerVehicleID(playerid);


Edit: Nvm
Reply
#6

if you don't check if player is in any vehicle, your vehid = 0, so it will change pos of vehicle which you don't use (I am not sure, but I think it will).
Reply
#7

Quote:
Originally Posted by Sielly
Посмотреть сообщение
if you don't check if player is in any vehicle, your vehid = 0, so it will change pos of vehicle which you don't use (I am not sure, but I think it will).
Right.. I thought I already used vehid = GetPlayerVehicleID(playerid); xD.

Anyways edited.
Reply
#8

It is my false too, because i am from Poland and I couldn't explain what I wanted to say.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)