Доступ к готовым решениям

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

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

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

Мануал Вышки Murkoff из Outlast II

Governor

Изучающий
Пользователь
Регистрация
30 Июл 2018
Сообщения
185
Лучшие ответы
0
Репутация
5
З.Ы. Да, я знаю, что система не нужная. Делал для своего мода, что-то типо отсылки. Вырезал не полностью, у меня - с изюминкой, гостям - без :D

К глобальным переменным:
PHP:
#define MURKOFF_TOWER_POS 936.634460, -26.253217, 97.610725

new Text:FlashingByMurkoffTower[2], // ТекстДравы
    murkoff_stage[MAX_PLAYERS char],
    FlashingTimer__[MAX_PLAYERS];
OnGameModeInit:
PHP:
CreateDynamicObject(8877, MURKOFF_TOWER_POS, 0.000000, 0.000000, 177.600067, -1, -1, -1, 300.00, 300.00); // Вышка 1
CreateDynamicObject(8877, MURKOFF_TOWER_POS, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00); // Вышка 2

SetTimer("murkoff_tower_timer",1000*60*25,true); // Таймер вышки Murkoff
В конец мода:
PHP:
forward murkoff_tower_timer();
public murkoff_tower_timer()
{
	foreach(Player, i)
	{
		if(IsPlayerNPC(i))continue;
		if(!IsPlayerConnected(i) || !Logged[i])continue;
		if(IsPlayerInRangeOfPoint(i, 125.0, MURKOFF_TOWER_POS))
		{
			StunFromMurkoffTower(i);
			if(IsPlayerInAnyVehicle(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
			{
				new bool:doors_z, bool:bonnet_z, bool:boot_z, bool:objective_z, bool:engine_z, bool:lights_z, bool:alarm_z;
				GetVehicleParamsEx(GetPlayerVehicleID(i), engine_z, lights_z, alarm_z, doors_z, bonnet_z, boot_z, objective_z);
				SetVehicleParamsEx(GetPlayerVehicleID(i), false, false, false, doors_z, bonnet_z, boot_z, objective_z);
			}
		}
		else if(IsPlayerInRangeOfPoint(i, 300.0, MURKOFF_TOWER_POS))
		{
			StunFromMurkoffTower(i);
		}
	}
	return 1;
}

stock StunFromMurkoffTower(playerid)
{
	FlashingTimer__[playerid] = SetTimerEx("timer_FlashingByMurkoffTower", 250, true, "i", playerid);
	return 1;
}

forward timer_FlashingByMurkoffTower(playerid);
public timer_FlashingByMurkoffTower(playerid)
{
	if(!IsPlayerConnected(playerid))return 0;
	murkoff_stage{playerid}++;
	switch(murkoff_stage{playerid})
	{
		case 1:
		{
			TextDrawShowForPlayer(playerid, FlashingByMurkoffTower[0]);
		}
		case 2:
		{
			TextDrawHideForPlayer(playerid, FlashingByMurkoffTower[0]);
			TextDrawShowForPlayer(playerid, FlashingByMurkoffTower[1]);
		}
		case 3:
		{
			TextDrawHideForPlayer(playerid, FlashingByMurkoffTower[1]);
			TextDrawShowForPlayer(playerid, FlashingByMurkoffTower[0]);
		}
		default: 
		{
			ResetPlayerMurkoffStat(playerid);
			TextDrawHideForPlayer(playerid, FlashingByMurkoffTower[0]);
            KillTimer(FlashingTimer__[playerid]);
		}
	}
	return 1;
}

stock ResetPlayerMurkoffStat(playerid)
{
	murkoff_stage{playerid}=0;
}
OnPlayerConnect:
PHP:
ResetPlayerMurkoffStat(playerid);
Видеоролик: (Перематывайте на 0:30)
Outlast wiki (описание, для тех, кто не в курсе что это такое): (не реклама)


Критика приветствуется.
 
Последнее редактирование:
Сверху Снизу