GetPlayerInterior
#1

This no work, i goto a bot in interior but i just fall down in map, no work

pawn Код:
new Float:x, Float:y, Float:z;
    GetPlayerPos(pID, x, y, z);
    if(IsPlayerInAnyVehicle(pID)) SetPlayerPos(playerid, x, y, z+1.6);
    else
    {
        switch(random(3))
        {
            case 0: SetPlayerPos(playerid, x + 1.5, y, z);
            case 1: SetPlayerPos(playerid, x, y + 1.5, z);
            case 2: SetPlayerPos(playerid, x+0.7, y+0.7, z+1);
        }
    }
    SetPlayerInterior(playerid, GetPlayerInterior(pID));
    SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(pID));
Reply
#2

You must set the interior before the position.
Reply
#3

It the same....
Reply
#4

Bump
Reply
#5

Why do you set player's interior to the same and world to the same?
Reply
#6

Quote:
Originally Posted by kamiliuxliuxliux
Посмотреть сообщение
Why do you set player's interior to the same and world to the same?
What

pID = target and playerid is the admin
Reply
#7

Oww, now I understand
Reply
#8

That should work...
pawn Код:
new Float:x, Float:y, Float:z;
    SetPlayerInterior(playerid, GetPlayerInterior(pID));
    SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(pID));
    GetPlayerPos(pID, x, y, z);
    if(IsPlayerInAnyVehicle(pID)) SetPlayerPos(playerid, x, y, z+1.6);
    else switch(random(3))
    {
        case 0: SetPlayerPos(playerid, x + 1.5, y, z);
        case 1: SetPlayerPos(playerid, x, y + 1.5, z);
        case 2: SetPlayerPos(playerid, x+0.7, y+0.7, z+1);
    }
Otherwise, if you really want to make it foolproof:
pawn Код:
new Float:x, Float:y, Float:z;
    TogglePlayerControllable(playerid, false);
    SetPlayerInterior(playerid, GetPlayerInterior(pID));
    SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(pID));
    GetPlayerPos(pID, x, y, z);
    if(IsPlayerInAnyVehicle(pID)) SetPlayerPos(playerid, x, y, z+1.6);
    else switch(random(3))
    {
        case 0: SetPlayerPos(playerid, x + 1.5, y, z);
        case 1: SetPlayerPos(playerid, x, y + 1.5, z);
        case 2: SetPlayerPos(playerid, x+0.7, y+0.7, z+1);
    }
    SetTimerEx("UnfreezePlayer", 1000, false, "i", playerid);
At the bottom of your script:
pawn Код:
forward UnfreezePlayer(playerid);
public UnfreezePlayer(playerid) return TogglePlayerControllable(playerid, true);
--

If that doesn't work, the problem is with WHERE you are teleporting the player in terms of the bot, you could be teleporting outside the interior's walls etc, or the interior itself might not be solid. (For whatever reason that might be...)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)