Перейти к содержанию
Авторизация  
АЛЕКСАНДР МАМАЕВ

Не исчезает чекпоинт

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

АЛЕКСАНДР МАМАЕВ

Не исчезает чекпоинт когда на него наежаешь или встаёшь: 

public ActivateFire()
{
	if(FireInProgress == true)
	{
		KillFire();
		SendDepMessage(COLOR_WARNING,"[Диспетчер МЧС ВСЕМ ПОСТАМ] Пожар потушен, угроза ликвидирована! ");
		return 1;
	}
	switch(random(4))
	{
	case 0:
		{
			cf[0] = -19.72;
			cf[1] = 767.74;
			cf[2] = 11.62;
			CreateFire(cf[0], cf[1], cf[2], 0.0, -20.99, 770.42, 11.62,   0.00, -28.44, 775.32, 11.62,   0.00,-34.62, 772.25, 11.62,   0.00,-37.99, 768.37, 11.62,   0.00);
		}
	case 1:
		{
			cf[0] = 173.04;
			cf[1] = 495.02;
			cf[2] = 13.28;
			CreateFire(cf[0], cf[1], cf[2], 0.0, 176.70, 491.93, 17.37,   0.00, 177.27, 493.73, 13.28,   0.00,181.64, 491.24, 13.28,   0.00,181.31, 490.18, 19.72,   0.00);
		}
	case 2:
		{
			cf[0] = 1211.50;
			cf[1] = 2790.88;
			cf[2] = 11.53;
			CreateFire(cf[0], cf[1], cf[2], 0.0, 1217.45, 2791.31, 11.53,   0.00, 1215.59, 2787.26, 11.53,   0.00,1210.18, 2786.09, 11.53,   0.00,1205.76, 2788.21, 11.53,   0.00);
		}
	case 3:
		{
			cf[0] = 2561.93;
			cf[1] = -2200.49;
			cf[2] = 22.78;
			CreateFire(cf[0], cf[1], cf[2], 0.0, 2557.20, -2200.46, 22.78,   0.00,2563.12, -2195.77, 21.30,   0.00,2556.82, -2198.42, 21.30,   0.00,2554.61, -2205.72, 22.02,   0.00);
		}
	default: return true;
	}
	new string[100];
	format(string, sizeof(string), "[Диспетчер МЧС ВСЕМ ПОСТАМ]: Случился пожар, на помощь! СРОЧНО!");
	SendFractionMessage(13, COLOR_WARNING, string);
	SetFracCheckpointpo(13, cf[0], cf[1], cf[2],10.0);
	return 1;
} 
SetFracCheckpointpo(fracid, Float:x, Float:y, Float:z, Float:size)
{
	foreach( new i : Player)
	{
		if(!IsPlayerConnected(i)) continue;
		if(PLAYER_DATA[i][data_MEMBER] == fracid)
		{
			SCM(i, COLOR_WARNING, "(( Установлен фракционный чекпоинт! Он отмечен красным цветом на карте! ))");
			SetPlayerCheckpoint(i, x, y, z, size);
		}
	}
	return 1;
}

 if(GetPVarInt(playerid, "CHECKPOINT_FIRE") == 1)
 {
		PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
		DisablePlayerCheckpoint(playerid);
  DeletePVar(playerid, "CHECKPOINT_FIRE");
		SCM(playerid, COLOR_WARNING, "Вы прибыли на место пожара. Начинайте его тушить!");
		return true;
	}
Изменено пользователем АЛЕКСАНДР МАМАЕВ

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

UP

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

UP

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


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

Покажите CreateFire пожалуйста

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

@MOP TTEX,

stock CreateFire(Float:X1, Float:Y1, Float:Z1, Float:R1, Float:X2, Float:Y2, Float:Z2, Float:R2, Float:X3, Float:Y3, Float:Z3, Float:R3, Float:X4, Float:Y4, Float:Z4, Float:R4, Float:X5, Float:Y5, Float:Z5, Float:R5)
{
	fob[0] = CreateObject(18691, X1, Y1, Z1 - 1, 0, 0, R1, 1000.00);
	fob[1] = CreateObject(18691, X2, Y2, Z2 - 1, 0, 0, R2, 1000.00);
	fob[2] = CreateObject(18691, X3, Y3, Z3 - 1, 0, 0, R3, 1000.00);
	fob[3] = CreateObject(18691, X4, Y4, Z4 - 1, 0, 0, R4, 1000.00);
	fob[4] = CreateObject(18691, X5, Y5, Z5 - 1, 0, 0, R5, 1000.00);
	FireInProgress = true;
	FireStatus = 100;
	return 1;
}
//==============================================================================
stock KillFire()
{
	DestroyObject(fob[0]), DestroyObject(fob[1]), DestroyObject(fob[2]), DestroyObject(fob[3]), DestroyObject(fob[4]);
	FireInProgress = false;
	FireStatus = 0;
} 

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


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

В паблик

OnPlayerEnterCheckpoint

После первой

 {

добавьте

DisablePlayerCheckpoint(playerid);

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

@MOP TTEX, так вот этоже должно срабатывтаь это нипешет когда на чекпоинт заежаешь или заходишь

 if(GetPVarInt(playerid, "CHECKPOINT_FIRE") == 1)
 {
		PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);
		DisablePlayerCheckpoint(playerid);
  DeletePVar(playerid, "CHECKPOINT_FIRE");
		SCM(playerid, COLOR_WARNING, "Вы прибыли на место пожара. Начинайте его тушить!");
		return true;
	}

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

UP

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

UP

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

  UP

Изменено пользователем АЛЕКСАНДР МАМАЕВ

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

UP

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


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

Он у тебя и не будет исчезать, даже действия не будет, потому что, проверка идет на pVar чекпоинта, но этот pVar не создается. Я бы сделал переменную, а не pVar

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

@SCRIPTMAN, как? 

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


Ссылка на сообщение
Поделиться на другие сайты
MOP TTEX
SetFracCheckpointpo(fracid, Float:x, Float:y, Float:z, Float:size)
{
	foreach( new i : Player)
	{
		if(!IsPlayerConnected(i)) continue;
		if(PLAYER_DATA[i][data_MEMBER] == fracid)
		{
			SCM(i, COLOR_WARNING, "(( Установлен фракционный чекпоинт! Он отмечен красным цветом на карте! ))");
			SetPlayerCheckpoint(i, x, y, z, size);
                        SetPVarInt(i, "CHECKPOINT_FIRE", 1);
		}
	}
	return 1;
} 

попробуйте заменить на это

Изменено пользователем MOP TTEX
  • Like 1

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

@MOP TTEX, Работает а как тут сделать чтоб убирался это если не успел доехать и когда потушил ну или другой потушил  чтобы убирался пробывал так не выходит: 

if(FireInProgress == true)
	{
		new i;
		KillFire();
		SendDepMessage(COLOR_WARNING, "[Диспетчер МЧС ВСЕМ ПОСТАМ] Пожар потушен, угроза ликвидирована! ");
		SetPVarInt(i, "CHECKPOINT_FIRE", 2);
		return 1;
	}

		if(FireStatus <= 0)
			{
				new i;
				KillFire();
				new string[60+MAX_PLAYER_NAME];
				format(string, sizeof(string), "[Диспетчер МЧС ВСЕМ ПОСТАМ]: Пожар потушен, угроза ликвидирована!!",PLAYER_DATA[playerid][data_NAME]);
		        SetPVarInt(i, "CHECKPOINT_FIRE", 2);
				SendDepMessage(COLOR_WARNING, string);
				return 1;
			}



	 if(GetPVarInt(playerid, "CHECKPOINT_FIRE") == 2)
     {
		DisablePlayerCheckpoint(playerid);
        DeletePVar(playerid, "CHECKPOINT_FIRE");
		return true;
	}



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


Ссылка на сообщение
Поделиться на другие сайты
MOP TTEX
if(FireInProgress == true)
	{ 
		KillFire();
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(GetPVarInt(i, "CHECKPOINT_FIRE") == 1) DisablePlayerCheckpoint(i);
}
		SendDepMessage(COLOR_WARNING, "[Диспетчер МЧС ВСЕМ ПОСТАМ] Пожар потушен, угроза ликвидирована! ");
		SetPVarInt(playerid, "CHECKPOINT_FIRE", 2);
		return 1;
	}

Надеюсь сам стабулируешь, я просто с браузера.

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

@MOP TTEX, error 017: undefined symbol "playerid"

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


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

 

 


SetPVarInt(playerid, "CHECKPOINT_FIRE", 2);

 

удалите данную строку

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

@MOP TTEX, неисчезает 

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

UP

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


Ссылка на сообщение
Поделиться на другие сайты
АЛЕКСАНДР МАМАЕВ

UP

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


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

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

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

×

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

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