Иван Бубнов
01.06.2016, 21:02
Описание:
Телепортирует игрока в необходимое место.
Параметры:
playerid - ID телепортируемого игрока
Float:x, y, z - координаты x,y,z куда будет телепортирован игрока
Float:angle - угол поворота после телепорта игрока
worldid - ид вирт. мира после телепорта (по умолчанию 0)
interiorid - ид интерьера после телепорта (по умолчанию 0)
Код:
stock TelPort(playerid, Float:x, Float:y, Float:z, Float:angle, worldid = 0, interiorid = 0)
{
new
Float:zx, Float:zy, Float:zz,
vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInAnyVehicle(playerid))
{
GetPlayerPos(playerid, zx, zy, zz);
SetPlayerPos(playerid, zx, zy, zz + 2.0);
}
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
for(new i = GetPlayerPoolSize() + 1; --i != -1;)
{
if(0 == IsPlayerConnected(i)) continue;
if(GetPlayerSurfingVehicleID(i) == vehicleid)
{
GetPlayerPos(i, zx, zy, zz);
SetPlayerPos(i, zx + 2.0, zy + 2.0, zz + 0.5);
}
if(GetPlayerVehicleID(i) == vehicleid || i == playerid) continue;
SetPlayerInterior(i, interiorid);
SetPlayerVirtualWorld(i, worldid);
}
SetVehiclePos(vehicleid, x, y, z);
SetVehicleZAngle(vehicleid, angle);
LinkVehicleToInterior(vehicleid, interiorid);
SetVehicleVirtualWorld(vehicleid, worldid);
PutPlayerInVehicle(playerid, vehicleid, 0);
SetPlayerVirtualWorld(playerid, worldid);
SetPlayerInterior(playerid, interiorid);
}
else
{
SetPlayerPos(playerid, x, y, z);
SetPlayerFacingAngle(playerid, angle);
SetPlayerVirtualWorld(playerid, worldid);
SetPlayerInterior(playerid, interiorid);
SetCameraBehindPlayer(playerid);
}
return 1;
}
Автор: Иван Бубнов
- - - Добавлено - - -
PS: Если игрок сидит в машине, и сидит на месте водителя, и если в транспорте есть другие игроки, то они будут тоже телепортированы.
PSS: Если на крыше авто кто-нибудь есть, он будет слапнут.
PSSS: Оформление темы украдена у Londlem
Телепортирует игрока в необходимое место.
Параметры:
playerid - ID телепортируемого игрока
Float:x, y, z - координаты x,y,z куда будет телепортирован игрока
Float:angle - угол поворота после телепорта игрока
worldid - ид вирт. мира после телепорта (по умолчанию 0)
interiorid - ид интерьера после телепорта (по умолчанию 0)
Код:
stock TelPort(playerid, Float:x, Float:y, Float:z, Float:angle, worldid = 0, interiorid = 0)
{
new
Float:zx, Float:zy, Float:zz,
vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInAnyVehicle(playerid))
{
GetPlayerPos(playerid, zx, zy, zz);
SetPlayerPos(playerid, zx, zy, zz + 2.0);
}
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
for(new i = GetPlayerPoolSize() + 1; --i != -1;)
{
if(0 == IsPlayerConnected(i)) continue;
if(GetPlayerSurfingVehicleID(i) == vehicleid)
{
GetPlayerPos(i, zx, zy, zz);
SetPlayerPos(i, zx + 2.0, zy + 2.0, zz + 0.5);
}
if(GetPlayerVehicleID(i) == vehicleid || i == playerid) continue;
SetPlayerInterior(i, interiorid);
SetPlayerVirtualWorld(i, worldid);
}
SetVehiclePos(vehicleid, x, y, z);
SetVehicleZAngle(vehicleid, angle);
LinkVehicleToInterior(vehicleid, interiorid);
SetVehicleVirtualWorld(vehicleid, worldid);
PutPlayerInVehicle(playerid, vehicleid, 0);
SetPlayerVirtualWorld(playerid, worldid);
SetPlayerInterior(playerid, interiorid);
}
else
{
SetPlayerPos(playerid, x, y, z);
SetPlayerFacingAngle(playerid, angle);
SetPlayerVirtualWorld(playerid, worldid);
SetPlayerInterior(playerid, interiorid);
SetCameraBehindPlayer(playerid);
}
return 1;
}
Автор: Иван Бубнов
- - - Добавлено - - -
PS: Если игрок сидит в машине, и сидит на месте водителя, и если в транспорте есть другие игроки, то они будут тоже телепортированы.
PSS: Если на крыше авто кто-нибудь есть, он будет слапнут.
PSSS: Оформление темы украдена у Londlem