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

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

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

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

Прокол колёс

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

fakeN

Умник
Суть фишки, если колёса машины будут проколоты, то они ещё и будут гореть!

В начало мода ко всем new:
PHP:
new panels, doors, lights, tires;
new fire[MAX_PLAYERS][4], isfire[MAX_PLAYERS] = 0;
в OnPlayerUpdate(playerid)
PHP:
    GetVehicleDamageStatus(GetPlayerVehicleID(playerid), panels, doors, lights, tires);
    if(tires == 15 && isfire[playerid] == 0)
	{
		fire[playerid][0] = CreateObject(18694,0,0,0,0,0,0);
		fire[playerid][1] = CreateObject(18694,0,0,0,0,0,0);
		fire[playerid][2] = CreateObject(18694,0,0,0,0,0,0);
		fire[playerid][3] = CreateObject(18694,0,0,0,0,0,0);
		AttachObjectToVehicle(fire[playerid][0], GetPlayerVehicleID(playerid), -0.8, 2.0, -2.0, 0.0, 0.0, 180.0);
		AttachObjectToVehicle(fire[playerid][1], GetPlayerVehicleID(playerid), 0.8, 2.0, -2.0, 0.0, 0.0, 180.0);
		AttachObjectToVehicle(fire[playerid][2], GetPlayerVehicleID(playerid), -0.8, -2.0, -2.0, 0.0, 0.0, 180.0);
		AttachObjectToVehicle(fire[playerid][3], GetPlayerVehicleID(playerid), 0.8, -2.0, -2.0, 0.0, 0.0, 180.0);
		isfire[playerid] = 1;
	}
	else if(tires == 0 && isfire[playerid] == 1)
	{
		DestroyObject(fire[playerid][0]);
		DestroyObject(fire[playerid][1]);
		DestroyObject(fire[playerid][2]);
		DestroyObject(fire[playerid][3]);
		isfire[playerid] = 0;
	}
Вот и всё!

Теперь немного объясню что да как, а то многие скажут что я вырезал откуда и т.п.

PHP:
new panels, doors, lights, tires;
new fire[MAX_PLAYERS][4], isfire[MAX_PLAYERS] = 0;
Ну с этим я думаю понятно, создаём переменные!

PHP:
GetVehicleDamageStatus(GetPlayerVehicleID(playerid), panels, doors, lights, tires);
Узнаём повреждения машины, подробнее о функции

PHP:
if(tires == 15 && isfire[playerid] == 0)
Тут делаем проверку на то что все 4 колеса проколоты + проверку что огонь уже не горит, т.к. в паблике OnPlayerUpdate создавалось бы много объектов, затем вылет игрока.

PHP:
fire[playerid][0] = CreateObject(18694,0,0,0,0,0,0);
fire[playerid][1] = CreateObject(18694,0,0,0,0,0,0);
fire[playerid][2] = CreateObject(18694,0,0,0,0,0,0);
fire[playerid][3] = CreateObject(18694,0,0,0,0,0,0);
Создаём 4 объекта т.е. 1 об. = 1 колесу)

PHP:
AttachObjectToVehicle(fire[playerid][0], GetPlayerVehicleID(playerid), -0.8, 2.0, -2.0, 0.0, 0.0, 180.0);
AttachObjectToVehicle(fire[playerid][1], GetPlayerVehicleID(playerid), 0.8, 2.0, -2.0, 0.0, 0.0, 180.0);
AttachObjectToVehicle(fire[playerid][2], GetPlayerVehicleID(playerid), -0.8, -2.0, -2.0, 0.0, 0.0, 180.0);
AttachObjectToVehicle(fire[playerid][3], GetPlayerVehicleID(playerid), 0.8, -2.0, -2.0, 0.0, 0.0, 180.0);
Прикрепим объекты огонь к авто

PHP:
isfire[playerid] = 1;
Придаём переменой isfire значение 1, т.е. в нашем случаи чтобы сказать что колёса зажглись

PHP:
else if(tires == 0 && isfire[playerid] == 1)
если колёса горят и больше не проколоты то тушим огонь


PHP:
DestroyObject(fire[playerid][0]);
DestroyObject(fire[playerid][1]);
DestroyObject(fire[playerid][2]);
DestroyObject(fire[playerid][3]);
Удаляем объекты огня

PHP:
isfire[playerid] = 0;
Присваиваем переменной isfire значение 0 т.к. колёса мы потушили и они больше не горят


Вот и всё, удачи вам! Не стал делать проверки на мотик и т.п. если надо, сделаете сами!
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу