Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Взрыв в виртуальном мире.

Статус
В этой теме нельзя размещать новые ответы.

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;
}
Т.к. интерьер только один пришлось сделать виртуальные миры, но если просто создать взрыв, то он будет во всех мирах

К, сожалению, нашёл только это:
Важное Примечание: Взрывы показываются всем игрокам, всех интерьеров и виртуальных миров. В настоящее время от этого никуда не денешься.

Помогите тогда с решением, как можно сделать взрыв не задев интерьер самолёта, который ещё жив :(
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу