Jump to content

Добро пожаловать на проект
Weekly Open Games

Weekly Open Games — это проект для людей, которым интересен хардкорный тип игры. Мы стараемся максимально эффективно использовать структуру, слабые и сильные стороны, а также технику и вооружение различных сторон конфликта, но не ставим перед собой цель провести 100% сбалансированного боестолкновения. Командная игра, командное взаимодействие — фундамент нашего проекта.
О проекте WOG Как начать играть Правила серверов
Sign in to follow this  
KOHCTPYKTOP

Глушилка рации.

Recommended Posts

Скрипт отключает  возможность общаться (появляется TFAR-сообщение "Вы не способны пользоваться рацией") с помощью КВ/ДВ в пешем порядке и в технике на территории с некоторым радиусом, покинув который, связь восстановится. При деактивации связь тоже восстановится. Данную глушилку можно использовать как дополнительную неформальную зону (возможность включения/выключения), бои за которую необязательны, но крайне критически влияют на взаимодействия противника. Объект "выключатель" стоит устанавливать на защищенной территории на удалении от спаунов противоборствующих сторон, которые смогут с относительно равными шансами добраться до него.

Подключение "Глушилки" в своей миссии:

1. В фале init в папке с миссией дописать:

Спойлер

silencerRadio = 0;
fnc_silencerRadio = {
	params [["_k", true, [true]]];
	silencerRadio = silencerRadio + ([-1, 1] select _k);
	player setVariable ["tf_unable_to_use_radio", (silencerRadio > 0)];
};

if (isServer) then {
	missionNamespace setVariable ["silencerRadio_2", false, true];
};
	
	laptop2 addAction ["<t color='#FF0033'>Запустить глушилку</t>", {
	missionNamespace setVariable ["silencerRadio_2", true, true];
	["Глушилка активирована!"] remoteExec ["WMT_fnc_ShowTaskNotification"];
}, nil, 1.5, true, true, "", "", 2];
laptop2 addAction ["<t color='#22FF00'>Выключить глушилку</t>", {
	missionNamespace setVariable ["silencerRadio_2", false, true];
	["Глушилка деактивирована!"] remoteExec ["WMT_fnc_ShowTaskNotification"];
}, nil, 1.5, true, true, "", "", 2];

 

2. На карте миссии вставляем объект "Триггер" (быстрая клавиша F3). Заполняем поля:

- Имя переменной (оставить как у меня). 

- Размер А и В - радиусы эллипса по горизонтали и вертикали, в пределах которого глушится радио. 

- Активация: Кто угодно. Тип активации: Присутствует.

-Триггер: Выражение

Спойлер

Условие:


((vehicle player) in thisList) && (missionNamespace getVariable ['silencerRadio_2', false])

При активации:


[true] call fnc_silencerRadio

При деактивации:


[false] call fnc_silencerRadio

 

DIUh_WbRWXM.jpg

 

Для визуализации границы действия глушилки можно добавить объект "Маркер" (эллипс) с центром и радиусами, совпадающими с такими у объекта "Триггер". 

 

3. Создать объект (например лэптоп), установить его в неком укромном месте поблизости от "Триггера", присвоить ему имя переменной laptop2. Можно указать положение этого лэптопа маркером или в описании миссии, а можно оставить это в секрете для дополнительного челленджа.

Спойлер

_O4FopVJKlg.jpg

pAa1jmWHdpc.jpg

 

Edited by KOHCTPYKTOP

Share this post


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

Как прикрутить к объекту экшн-меню?

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

1 час назад, KOHCTPYKTOP сказал:

Как заставить это экшн-меню выключать возможность общения по радио?

Выдержка из вики рации:

player setVariable ["tf_unable_to_use_radio", true]
При значение true — игрок не способен воспользоваться рацией.

Ещё можно сделать функцию, которая будет отслеживать дальность от человека до глушилки и менять ему коэффициент. По аналогии с глушилкой.

player setVariable ["tf_sendingDistanceMultiplicator", 0.5]
Множитель увеличивающий или уменьшающий дальность передачи.

Но, кажется мне, что ты хочешь готовый скрипт и не собираешься разбираться со всем этим.:neponi:

Share this post


Link to post
Share on other sites

@Kato это не то. Надо не отрезать громкость, а именно забивать частоту помехами так, чтобы игрок не мог разобрать ничего кроме дикого шума наведенных помех. Надо будет мне у автора спросить можно ли вообще такое реализовать. 

Share this post


Link to post
Share on other sites

@DAP

При увеличении расстояния между рациями возникают помехи. А если множитель в переменной tf_sendingDistanceMultiplicator поставить на 0.01 то такое шипение будет уже метрах на 50, теоретически.

Share this post


Link to post
Share on other sites
3 часа назад, DAP сказал:

@Kato интересная идея. Надо будет провести пару экспериментов на ВТНовцах :yoba-arma:

У нас уже TF_terrain_interception_coefficient =32.0;

Share this post


Link to post
Share on other sites
On 15.02.2018 at 1:20 PM, Kato said:

@DAP

При увеличении расстояния между рациями возникают помехи. А если множитель в переменной tf_sendingDistanceMultiplicator поставить на 0.01 то такое шипение будет уже метрах на 50, теоретически.

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

Share this post


Link to post
Share on other sites

@almost

Если верить вики, то эта переменная влияет на конкретного пользователя. Например, если он зашёл в какой-нибудь триггер. А если вышел из него, коэффициент можно и откатить.

Edited by Kato

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
Sign in to follow this  

  • 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.