Jump to content
Vincen

Скрипт на границы карты + киллтриггер

Recommended Posts

Чуть подправил. Вынес цикл в отдельный поток. А то если не в конец инита вставить, все что будет после него, не выполнится, пока игрок не умрет, само собой)

Share this post


Link to post
Share on other sites

А что происходит с тем кто пересек черту? Он тут же падает мертвый на месте? Или есть отсрочка? 

Возможно ли в этом скрипте сделать смерть от взрыва? Например я в условностях указываю так "... за обозначенными пределами  находятся недеактивированные минные поля с предыдущих войн. Настоятельно не рекомендуется пересекать линии разграничения. Даже в случае крайней необходимости вы будете действовать на свой страх и риск ..." ну и если пех заступил то громко взрывается чтобы другим было наглядно понятно. 

Edited by asys

Share this post


Link to post
Share on other sites
3 минуты назад, asys сказал:

А что происходит с тем кто пересек черту? Он тут же падает мертвый на месте? Или есть отсрочка? 

Возможно ли в этом скрипте сделать смерть от взрыва? Например я в условностях указываю так "... за обозначенными пределами  находятся недеактивированные минные поля с предыдущих войн. Настоятельно не рекомендуется пересекать линии разграничения. Даже в случае крайней необходимости вы будете действовать на свой страх и риск ..." ну и если пех заступил то громко взрывается чтобы другим было наглядно понятно. 

Цитата

Вместо setDamage можно использовать закомментированную строку: //vehicle player call BIS_fnc_neutralizeUnit;
Функция убивает юнита с помощью имитации какого то события (подрыв мины, пво ракета и тп.)

https://community.bistudio.com/wiki/BIS_fnc_neutralizeUnit

Share this post


Link to post
Share on other sites

@asys Таймер на 10 секунд (можно выставлять столько, сколько нужно). Игрок видит, сколько осталось до того момента, как он погибнет.

 

2 минуты назад, asys сказал:

Возможно ли в этом скрипте сделать смерть от взрыва?

=>

В 12.05.2019 в 15:48, Vincen сказал:

Вместо setDamage можно использовать закомментированную строку: //vehicle player call BIS_fnc_neutralizeUnit;
Функция убивает юнита с помощью имитации какого то события (подрыв мины, пво ракета и тп.)

Для каждого вида своя смерть. В вертолет летят ракеты ПВО, пехота наступает на мину.

Share this post


Link to post
Share on other sites

@Vincen Для удобства в начало можно выставить конфигуратор времени, да бы не менять постоянно 2-3 строчки со временем.
 

В 12.05.2019 в 15:48, Vincen сказал:

format ["Вы в опасной зоне! До уничтожения %1 сек.", (10-_time)] call _bt; _time = _time + 1; } else { _time = 0; }; if (_time > 10) then

 

10 - time заменить на переменную, так же использовать ее в time > 10 и т.п. Хоть сейчас я и указал где менять, но с одной стороны дело секундное, а упрощает как картоделу-новичку работу, так и проверяльщикам этих миссий. Мелочь, а приятно обеим сторонам.

Share this post


Link to post
Share on other sites
14 часов назад, First сказал:

@Vincen Для удобства в начало можно выставить конфигуратор времени, да бы не менять постоянно 2-3 строчки со временем.
 

10 - time заменить на переменную, так же использовать ее в time > 10 и т.п. Хоть сейчас я и указал где менять, но с одной стороны дело секундное, а упрощает как картоделу-новичку работу, так и проверяльщикам этих миссий. Мелочь, а приятно обеим сторонам.

Да, я тоже об этом думал. Сделаю на неделе

Share this post


Link to post
Share on other sites

Возможно я ошибаюсь, но по-моему init.sqf отрабатывает один раз при старте миссии и не поддерживает JIP.

https://community.bistudio.com/wiki/Initialization_Order

Соответственно, игрок вошедший после старта на брифинг не получит цикл подрыва.

Share this post


Link to post
Share on other sites
15 минут назад, Liquid сказал:

Возможно я ошибаюсь, но по-моему init.sqf отрабатывает один раз при старте миссии и не поддерживает JIP.

https://community.bistudio.com/wiki/Initialization_Order

Соответственно, игрок вошедший после старта на брифинг не получит цикл подрыва.

А брифинг он получает? Или тоже проблема возникает?

И вообще, согласно твоей ссылке JIP там есть. Мы ведь всё-таки не в Single Player Only.

Edited by Kato

Share this post


Link to post
Share on other sites

@Sharif

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

fnc_unitobserver = {
	if (!isDedicated) then {
		private _bt = {[format["<t size='1' color='#ff0000'>%1</t>",_this], -1,-1,2,0] spawn bis_fnc_dynamicText;};
		private _time = 0;
		while {alive player} do {
			if (((vehicle player inArea "southline")||(vehicle player inArea "westline") ||(vehicle player inArea "eastline") || (vehicle player inArea "northline")) && {vehicle player isKindOf "Land"}) then {
				format ["Вы в опасной зоне! До уничтожения %1 сек.", (10-_time)] call _bt;
				_time = _time + 1;
			} else {
				_time = 0;
			};
			if (_time > 10) then 
			{
				"Пока-пока!" call _bt;
				//vehicle player call BIS_fnc_neutralizeUnit;
				vehicle player setdamage 1;
			};
			sleep 1;
		};
	};
};
[] spawn fnc_unitobserver;

Нужно обратить внимание на строку с условием:

if (((vehicle player inArea "southline")||(vehicle player inArea "westline") ||(vehicle player inArea "eastline") || (vehicle player inArea "northline")) && {vehicle player isKindOf "Land"})

Здесь можно заметить перечисление маркеров, находясь в которых, игрок погибнет. Например, один из маркеров:

(vehicle player inArea "southline")

Соответственно, такие условия можно увеличивать/уменьшать по кол-ву, менять название маркеров в кавычках.

Share this post


Link to post
Share on other sites

@Vincen 

Спойлер

fnc_unitobserver = {
    if (!isDedicated && side player == west) then {
        private _bt = {[format["<t size='1' color='#ff0000'>%1</t>",_this], -1,-1,2,0] spawn bis_fnc_dynamicText;};
        private _time = 0;
        while {side player == west} do {
            if (((vehicle player inArea "southline")||(vehicle player inArea "westline") ||(vehicle player inArea "eastline") || (vehicle player inArea "northline")) && {vehicle player isKindOf "Land"}) then {
                format ["Вы в опасной зоне! До уничтожения %1 сек.", (10-_time)] call _bt;
                _time = _time + 1;
            } else {
                _time = 0;
            };
            if (_time > 10) then 
            {
                "Пока-пока!" call _bt;
                //vehicle player call BIS_fnc_neutralizeUnit;
                vehicle player setdamage 1;
            };
            sleep 1;
        };
    };
};
[] spawn fnc_unitobserver;

 

Share this post


Link to post
Share on other sites
1 час назад, Bogdan Spivak сказал:

@Vincen 

  Показать контент

 

Давай вот так попробуем:

if (!isDedicated && side player == west) then {
    [] spawn {
        private _bt = {[format["<t size='1' color='#ff0000'>%1</t>",_this], -1,-1,2,0] spawn bis_fnc_dynamicText;};
        private _time = 0;
        while {alive player} do {
            if (((vehicle player inArea "southline")||(vehicle player inArea "westline") ||(vehicle player inArea "eastline") || (vehicle player inArea "northline")) && {vehicle player isKindOf "Land"}) then {
                format ["Вы в опасной зоне! До уничтожения %1 сек.", (10-_time)] call _bt;
                _time = _time + 1;
            } else {
                _time = 0;
            };
            if (_time > 10) then {
                "Пока-пока!" call _bt;
                //vehicle player call BIS_fnc_neutralizeUnit;
                vehicle player setdamage 1;
            };
            sleep 1;
        };
    };
};

 

Share this post


Link to post
Share on other sites
23 минуты назад, Bogdan Spivak сказал:

@Vincen никто не умирает

Может зон-маркеров нет, которые перечислены? Или ты не в той зоне проверяешь?

Share this post


Link to post
Share on other sites
34 минуты назад, Bogdan Spivak сказал:

У меня просто все перестало работать :anifrog:

Может ты удалил верхнюю часть, которая создаёт маркеры? Или что ты вообще делаешь? Опиши задачу. Почему только синим запрещено выходить в триггер края карты? Это странно.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.