Перейти к содержанию
Авторизация  
Maks_King77

Система Пожаров

Рекомендуемые сообщения

Maks_King77

Собственно проблема такова, объект (тобишь огонь) спавнится, но потушить его никак нельзя.
 

forward FireWorld();
public FireWorld()
{
new rand;
	if(rand != 0) SendClientMessageToAll(0xFF0000FF, "???????? ?? ?????? ???????? ?????!");
	for(new i; i < sizeof(FireObject); i++)
	{
	    if(IsValidObject(FireObject[i])) DestroyObject(FireObject[i]);
	}
	rand = random(MAX_FIRE);
	new string[128];
	string[0] = 0;
	switch(rand)
	{
	    case 0:
		{
			strcat(string, "????? : ????? ????-????!! ????? : '??????? (?????)'!");
			FireObject[0] = CreateObject(18688, 564.2454,1363.7264,13.1696, 0.0, -90.0, -90.0);
			FireObject[1] = CreateObject(18688, 564.2454,1363.7264,13.1696, 0.0, -90.0, -90.0);
		}
	    case 1:
		{
			strcat(string, "????? : ????? ????? ???!! ????? : '??????? (?????)'!");
			FireObject[0] = CreateObject(18688, 556.7134,1286.4109,13.1692, 0.0, -90.0, 0.0);
			FireObject[1] = CreateObject(18688, 556.7134,1286.4109,13.1692, 0.0, -90.0, 0.0);
		}
	    case 2:
		{
			strcat(string, "????? : ????? ??? ????? ?????!! ????? : '???????'");
			FireObject[0] = CreateObject(18688, 97.7122,1289.7321,12.0000, 0.0, -90.0, -90.0);
			FireObject[1] = CreateObject(18688, 97.7122,1289.7321,12.0000, 0.0, -90.0, -90.0);
		}
		case 3:
		{
			strcat(string, "????? : ????? ????? ??? ? ???? ???!! ????? : '???????'");
			FireObject[0] = CreateObject(18688, 696.5754,1510.7745,13.1689, 0.0, -90.0, -90.0);
			FireObject[1] = CreateObject(18688, 696.5754,1510.7745,13.1689, 0.0, -90.0, -90.0);
		}
		case 4:
		{
			strcat(string, "????? : ????? ????? ??? ? ???? ???!! ????? : '???????'");
			FireObject[0] = CreateObject(18688, 670.1229,664.3307,12.0000, 0.0, -90.0, -90.0);
			FireObject[1] = CreateObject(18688, 670.1229,664.3307,12.0000, 0.0, -90.0, -90.0);
		}
		case 5:
		{
			strcat(string, "????? : ????? ??????? ???????????, ? ??????!! ????? : '???????'");
			FireObject[0] = CreateObject(18688, -846.1000,1203.3153,11.5469, 0.0, -90.0, -90.0);
			FireObject[1] = CreateObject(18688, -846.1000,1203.3153,11.5469, 0.0, -90.0, -90.0);
		}
		case 6:
		{
			strcat(string, "????? : ????? ?????? ?????? ?????, ? ???????? ????? : '???????'");
			FireObject[0] = CreateObject(18688, -154.2322,600.8942,12.1255, 0.0, -90.0, -90.0);
			FireObject[1] = CreateObject(18688, -154.2322,600.8942,12.1255, 0.0, -90.0, -90.0);
		}
	    default: strcat(string, "?????? ???????...");
	}

	for(new i, j = GetMaxPlayers(); i != j; i++)
	{
	    if(!IsPlayerConnected(i)) continue;
	    if(IsPlayerNPC(i)) continue;
	    if(PlayerInfo[i][pMember] != 19 && PlayerInfo[i][pLeader] != 19) continue; // 10 - ????? ???????, 5 - ????? ?????? (???????? ?? ????)
		SendClientMessage(i, 0xFF0000FF, "[????????? ?? ?2] ???????? ????? ?? ??????????!");
		SendClientMessage(i, 0xFF0000FF, string);
	}
	return 1;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
TrollFace

Ну и правильно, что нельзя. Обработчик то не написан.

Без обработчика клика кнопки, так называемого "тушения", это просто кусок кода, который создает объекты, не более.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Kapral

Из мода Grand взял?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Maks_King77

@TrollFace, я понимаю, что это лишь создание объекта огня, как написать тот самый "обработчик"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
TrollFace

@Maks_King77, OnPlayerKeyStateChange в руки вам.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Maks_King77

@TrollFace,

public OnPlayerEnterCheckpoint(playerid)
{
    new name[MAX_PLAYER_NAME];
	new string[256];
	if(FindCar[playerid] == 1)	DisablePlayerCheckpoint(playerid);
	if(gpspoint[playerid] == 1)  return DisablePlayerCheckpoint(playerid);
	if(PlayerInfo[playerid][pJob]==14&&onbusreis[playerid]==1)
	{
		if(chekpointm4c)
   		{
	 		DisablePlayerCheckpoint(playerid);
 			DestroyObject(pojarobj);
    		SetTimer("OnPlayerPojar",5000,0);
    		SendClientMessage(playerid,0x03c03cFF,"Вы успешно загасили пожар");
   		}
	} 

Нашел в моде данный код. Если честно, в павно не бум-бум. Сможете объяснить всё по полочкам, и что как сделать надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
TrollFace

@Maks_King77, алгоритм я вам составил, остается лишь самое простое - написать его.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Maks_King77

@TrollFace,И сколько стоит данная работа? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
TrollFace

@Maks_King77, пишите в ЛС тут, или в личку ВК, обсудим.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.