Dark_Ilya
Компетентный
Здравствуйте, написал систему, когда садишься пассажиром в шамал, то тебя тпхает в его салон. Но столкнулся с проблемой, как сделать взрыв именно в том виртуальном мире, ид которого равен иду самолёта на сервере :cf:. На время сделал, что игрок просто умирает, но там нет эффекта от взрыва
.Кароче, вот код.
Т.к. интерьер только один пришлось сделать виртуальные миры, но если просто создать взрыв, то он будет во всех мирах
К, сожалению, нашёл только это:
Важное Примечание: Взрывы показываются всем игрокам, всех интерьеров и виртуальных миров. В настоящее время от этого никуда не денешься.
Помогите тогда с решением, как можно сделать взрыв не задев интерьер самолёта, который ещё жив
PHP:
public OnVehicleSpawn(vehicleid)
{
if(VehicleInfo[vehicleid][vDestroyed] == 1 && !IsABMX(vehicleid) && !IsAPlane(vehicleid))SetVehiclePos(vehicleid,VehicleInfo[vehicleid][vDeadposX],VehicleInfo[vehicleid][vDeadposY],VehicleInfo[vehicleid][vDeadposZ]),SetVehicleZAngle(vehicleid,VehicleInfo[vehicleid][vDeadposR]), SetVehicleHealth(vehicleid,300.0),VehicleInfo[vehicleid][vDestroyed] = 0;
if(GetVehicleModel(vehicleid) == 519)
{
foreach(Player,i)
{
if(GetPVarInt(i,"IsInTR") > 0)SetPlayerInterior(i, 0),SetPVarInt(i,"IsInTR",0),SetPlayerVirtualWorld(i, 0),SetPlayerHealthAC(i,0),SCM(i,COLOR_GREY,"Самолёт, в котором вы находились, потерпел крушение...");
}
}
return true;
}
public OnVehicleDeath(vehicleid, killerid)
{
if(CreatedCar[vehicleid] == true)CreatedCar[vehicleid] = false,DestroyVehicle(vehicleid);
GetVehiclePos(vehicleid,VehicleInfo[vehicleid][vDeadposX],VehicleInfo[vehicleid][vDeadposY],VehicleInfo[vehicleid][vDeadposZ]);
GetVehicleZAngle(vehicleid,VehicleInfo[vehicleid][vDeadposR]); VehicleInfo[vehicleid][vDestroyed] = 1;
if(GetVehicleModel(vehicleid) == 519)
{
foreach(Player,i)
{
if(GetPVarInt(i,"IsInTR") > 0)SetPlayerInterior(i, 0),SetPVarInt(i,"IsInTR",0),SetPlayerVirtualWorld(i, 0),SetPlayerHealthAC(i,0),SCM(i,COLOR_GREY,"Самолёт, в котором вы находились, потерпел крушение...");
}
}
return true;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(VehicleInfo[vehicleid][vAlarmed] == 1)
{
foreach(Player,i)
{
if(!IsPlayerConnected(i)) continue;
if(Alarmed[i] == vehicleid)SCM(i,COLOR_LIGHTRED,"Информация: Ваш транспорт подвергся угону");
}
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid,engine,VEHICLE_PARAMS_ON,VEHICLE_PARAMS_ON,doors,bonnet,boot,objective);
}
else if(GetVehicleModel(vehicleid) == 519 && ispassenger != 0)
{
SetPlayerPos(playerid,1.808619,32.384357,1199.593750);
SetPlayerFacingAngle(playerid, 0);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid, 1);
SetPVarInt(playerid,"IsInTR",vehicleid);
SetPlayerVirtualWorld(playerid, vehicleid);
}
if(GetPVarInt(playerid,"Gps") == 1)TextDrawShowForPlayer(playerid, Textdraw53[playerid]);
return true;
}
К, сожалению, нашёл только это:
Важное Примечание: Взрывы показываются всем игрокам, всех интерьеров и виртуальных миров. В настоящее время от этого никуда не денешься.
Помогите тогда с решением, как можно сделать взрыв не задев интерьер самолёта, который ещё жив
Последнее редактирование:
