15.07.2012, 12:26
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
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);
pawn Код:forward ChangePos(playerid);
public ChangePos(playerid)
{
for (new i = 0; i < 13; i++)
{
GivePlayerWeapon(playerid,weapons[i][0], weapons[i][1]);
}
return 1;
}
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;
}