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

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

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

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

Рандомный спавн техники

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

__oFFmaN :3

Умник
Привет всем!
Вот решил сделать свой первый мануал для DM мода.
Суть его в том что техника будет появлятся в рандомных местах и только раз в час(Будет прикольно побегать и поискать её)!
Сделал на примере танка :3
И так начнем:
Ко всем #define:
PHP:
#define COLOR_RED 0xFF0000AA //красный цвет
но думаю этот дефайн есть у васех :)
Продолжим
Ко всем new:
PHP:
new bool:Tank = false; //приравниваем танк к 0(false)
new VehTank; //сам танк
и:
PHP:
new Float:TankSpawns[2][4] = // рандомный спавн танка
{ 
	{1722.5269,-2093.3813,13.5469,173.5631}, // координаты по которым он будет спавнится
	{2143.5352,-2062.5930,13.5544,225.7412} // координаты по которым он будет спавнится
};
Координаты можете изменить на свои..
Также их можно добовлять...

Продолжим
Ко всем forward:
PHP:
forward DestroyTank(); //форвард для паблика обновления
forward SpawnTank(); //форвард для паблика обновления
Далее в пбалик:
PHP:
public OnGameModeInit()
Вставляем:
PHP:
	SetTimer("DestroyTank", 1000, true); //таймер,где 1000 это 1 секунда
	SetTimer("SpawnTank", 3600000, true); //таймер,где 3600000 это 1 час
Теперь в самый конец мода:
PHP:
public SpawnTank()
{
	if(Tank == false) // проверка спавна танка
	{
		new rand = random(sizeof(TankSpawns)); // рандомный спавн танка
		VehTank = CreateVehicle(432,TankSpawns[rand][0],TankSpawns[rand][1],TankSpawns[rand][2],TankSpawns[rand][3],1,1,-1); // тут мы создаем танк,и выдаем ему рандомные координаты
		Tank = true; // приравниваем танк к 1(true)
		return SendClientMessageToAll(COLOR_RED,"Танк появился"); // заканчиваем,и выдаем сообщение
	}
	return true;
}
Каждый час будем проверять заспванен танк или нет,если нет(false) то тогда спавним его и выводим сообщение,если заспавнен нечего не делаем....
PHP:
public DestroyTank()
{
	new Float:health; 
	GetVehicleHealth(VehTank,health); // проверка на хп танка
	if(Tank == true) // проверка спавна танка
	{
		if(health == 0) // проверка на хп,если 0 тогда:
		{
			DestroyVehicle(VehTank); // уничтожаем танк
			Tank = false; // приравниваем танк к 0 
			return SendClientMessageToAll(COLOR_RED,"Танк уничтожен"); // заканчиваем,и выводим сообщение
		}
	}
	return true;
}
P.S. Этоже можно проделать и с другой техникой/машинами
Автор мануала __oFFmaN :3(Я)​


---------- Post added at 17:33 ---------- Previous post was at 17:24 ----------

Коментируем,Критикуем :D
PHP:
Ставим +сики :3
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу