SetPlayerPos problem
#6

Hi, wiki said that Players will die if teleported while diving with a parachute. (WEAPON ID PAGE)

I made a quick test code to teleport player with killing them using timers.

Edit it according to your needs
  • First I gave players parachute
    pawn Код:
    if (strcmp("/para", cmdtext, true, 10) == 0)
        {
            GivePlayerWeapon(playerid,46,1);
            SetPlayerPos(playerid,0,0,100000);
            return 1;
        }
  • Now to set their position to something different and to get weapons they had , I declared a Global variable Weapons
    pawn Код:
    new weapons[13][2];
    if (strcmp("/pos", cmdtext, true, 10) == 0)
    {
        for (new i = 0; i < 13; i++)
        {
              GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
        }
    }
  • Now, take all their weapons (main thing is to take parachute]
    pawn Код:
    ResetPlayerWeapons(playerid);
  • As they dont have parachute now, you can teleport them easily using SetPlayerPos.
    pawn Код:
    //Or maybe X,Y,Z;
    SetPlayerPos(playerid,1000,-500,1000);
  • Set a timer of 1 sec, which will give player their weapons (parachute included.)
    GIVING THEM WEAPON WITHOUT TIMER WILL LEAD TO DEATH
    pawn Код:
    SetTimerEx("ChangePos",500,false,"i",playerid);
    ==> TIMER FUNCTION
    pawn Код:
    forward ChangePos(playerid);
    public ChangePos(playerid)
    {
        for (new i = 0; i < 13; i++)
        {
            GivePlayerWeapon(playerid,weapons[i][0], weapons[i][1]);
        }
        return 1;
    }
Full Code :
pawn Код:
new weapons[13][2];
public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/para", cmdtext, true, 10) == 0)
    {
        GivePlayerWeapon(playerid,46,1);
        SetPlayerPos(playerid,0,0,100000);
        return 1;
    }

    else if (strcmp("/pos", cmdtext, true, 10) == 0)
    {
        for (new i = 0; i < 13; i++)
        {
            GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
        }
        ResetPlayerWeapons(playerid);
        SetPlayerPos(playerid,1000,-500,1000);
        SetTimerEx("ChangePos",500,false,"i",playerid);
        return 1;
    }
    return 0;
}

forward ChangePos(playerid);
public ChangePos(playerid)
{
    for (new i = 0; i < 13; i++)
    {
        GivePlayerWeapon(playerid,weapons[i][0], weapons[i][1]);
    }
    return 1;
}
Reply


Messages In This Thread
SetPlayerPos problem - by Superthijs - 15.07.2012, 11:41
Re: SetPlayerPos problem - by Faisal_khan - 15.07.2012, 11:47
Re: SetPlayerPos problem - by Superthijs - 15.07.2012, 11:49
Re: SetPlayerPos problem - by Andi_Evandy - 15.07.2012, 11:59
Re: SetPlayerPos problem - by clarencecuzz - 15.07.2012, 12:19
Re: SetPlayerPos problem - by [MM]RoXoR[FS] - 15.07.2012, 12:26
Re: SetPlayerPos problem - by leonardo1434 - 15.07.2012, 12:35
Re: SetPlayerPos problem - by Superthijs - 15.07.2012, 16:54

Forum Jump:


Users browsing this thread: 2 Guest(s)