• Страница 2 из 2
  • «
  • 1
  • 2
Форум » Мастерская » В помощь картоделу » Скрипты » Useless scripts (Некоторые бес_полезные скрипты)
Useless scripts
BendeR
Суббота, 18.07.2020, 11:02
Онлайн
Пользователь
скрипт выбора времени из миссии ФАБРИКА

Код
time_set=[[13,00],[00,00]];
private _who_can_select=[b_ks];

time_select=1;
private _str_time="";
private ["_display","_ctrl","_ctrlButton"];

if(isServer) then{
   _g=[] spawn {
      private _time_select_ons=0;
      private _new_date_time=[];
      waitUntil {(!isNil("WMT_pub_frzTimeLeft"))&&(!isNil("wmt_param_PrepareTime"))&&(!isNil("WMT_pub_frzState"))};
      waitUntil {!isNil("WMT_pub_frzBeginDate")};
      while{(WMT_pub_frzTimeLeft>=(wmt_param_PrepareTime*60))&&(WMT_pub_frzState<3)} do {
         if(time_select!=_time_select_ons) then {
            _new_date_time=date select [0,3];
            _new_date_time append (time_set select time_select);
            WMT_pub_frzBeginDate=_new_date_time;
            publicVariable "WMT_pub_frzBeginDate";
            _time_select_ons=time_select;
         };
         uiSleep(1);
      };
   };
};

//Брифинг и прочие красивости
if(isDedicated||(!hasInterface)) exitWith {};
waitUntil { player == player };
player createDiarySubject ["ts_brf", "ВЫБОР ВРЕМЕНИ"];
player createDiaryRecord ["ts_brf", ["Пояснения","Выбор работает только на брифинге.<br />Рекомендуется выбирать через 30с после прогрузки на брифинг и не позже чем за 10с до старта в игру.<br />Текущий выбор-самая верхняя строчка в разделе Выбранное время<br />Раздел Инструктаж-Мое отделение при работе скрипта не обновляется"]];
{   
   _str_time="";
   if((_x select 0)<10) then {_str_time="0";};
   _str_time=_str_time+str (_x select 0)+":";
   if((_x select 1)<10) then {_str_time=_str_time+"0";};
   _str_time=_str_time+str (_x select 1);
   if(player in _who_can_select) then{
    _str_time="<execute expression='time_select="+str(_forEachIndex)+";publicVariable ""time_select"";'>"+_str_time+"</execute>";
   };
   player createDiaryRecord ["ts_brf", ["Выбор времени",_str_time]];
} foreach time_set;

if(!(player in _who_can_select)) exitWith{};
   _display = uinamespace getVariable ["RscDiary",displaynull];
   if (isnull _display) exitwith {};
   disableSerialization;
   uisleep 1;
   _ctrl = _display ctrlCreate ["RscText", -1];
   _ctrl ctrlSetPosition [0.5, safezoneY+0.07, 0.07, 0.05];
   _ctrl ctrlSetBackgroundColor [0, 0, 0, 0.7];
   _ctrl ctrlSetText "00:00";
   _ctrl ctrlCommit 0;
   
   _ctrlButton = _display ctrlCreate ["RscShortcutButton", -1];
   _ctrlButton ctrlSetPosition [0.57, safezoneY+0.07, 0.24, 0.05];
   _ctrlButton ctrlSetStructuredText parseText "<t align='center'>Сменить время</t>";
   _ctrlButton buttonSetAction format["
   time_select=time_select-1;
   if(time_select<0)then{time_select=%1};
   publicVariable ""time_select"";
   ",(count time_set)-1];
   _ctrlButton ctrlCommit 0;

_g2=[_ctrl,_ctrlButton] spawn {
   params ["_ctrl","_ctrlButton"];
   private _str_sel_time="";
   private _time_select_ons=0;
   waitUntil {(!isNil("WMT_pub_frzTimeLeft"))&&(!isNil("wmt_param_PrepareTime"))&&(!isNil("WMT_pub_frzState"))};
      while{(WMT_pub_frzTimeLeft>=(wmt_param_PrepareTime*60))&&(WMT_pub_frzState<3)} do {
      if(time_select!=_time_select_ons) then {
         _str_sel_time="";
         if(((time_set select time_select) select 0)<10) then {_str_sel_time="0";};
         _str_sel_time=_str_sel_time+str ((time_set select time_select) select 0)+":";
         if(((time_set select time_select)select 1)<10) then {_str_sel_time=_str_sel_time+"0";};
         _str_sel_time=_str_sel_time+str ((time_set select time_select) select 1);
         player createDiaryRecord ["ts_brf", ["Выбранное временя",_str_sel_time]];
         
         _ctrl ctrlSetText _str_sel_time;
         _ctrl ctrlCommit 0;
         
         _time_select_ons=time_select;
      };
      uiSleep(1);
   };
   ctrlDelete _ctrl;
   ctrlDelete _ctrlButton;
};


все как обычно:
1. поменять варианты выбора в первой строчке в формате [часы.минуты] (time_set)
2. присвоить "имя переменной" юнитам которые могут выбирать и вписать во вторую (_who_can_select)
3. вызвать это дело в init.sqf: [] execVM "time_select.sqf";

известны "глюки":
1) при работе скрипта в начале (обычно на хардфризтайме) можно увидить как несколько раз меняется время. это связано с работой платформы WMT, на функционал никак не влияет
2) не тестировано если в списке тех кто может делать выбор есть несколько юнитов (за ненадобностью). в теории-тот кто последний сделает выбор на брифинге тот и прав
Сообщение отредактировал BendeR - Суббота, 18.07.2020, 11:08

 
BendeR
Воскресенье, 02.08.2020, 13:32
Онлайн
Пользователь
маленький фикс скрипта анализатора спектра
(v1.1a версия sa_ewar.sqf)
-фикс UI

https://drive.google.com/drive....qdQjDr8
Сообщение отредактировал BendeR - Воскресенье, 02.08.2020, 13:32

 
BendeR
Четверг, 06.08.2020, 15:33
Онлайн
Пользователь
Собака в виде демонстрационной не запакованной миссии

https://drive.google.com/drive....sharing

Выложена "как есть", написана мб через жопу но в целом как показали тесты на ТВТ1 и ТВТ2-работает. Если нужно нечто прям идеальное-юзать не рекомендую.

Зависимости: WMT, ACE, Taskforce (запускалась на сборках твт и IF, остальные не проверял)

Маленький мануал как запилить в свое поделие



Известные баги, которые следует включать в условности миссии для собаки:


Кнопки:


готовый код для брифинга для ленивых

Код
player createDiaryRecord ["diary", ["! СОБАКА (функционал и условности)","
      Скрипт воскрешающий функционал ванильного юнита собаки v1.1 by [STELS]BendeR<br />
      <br />
      ЗАПРЕЩЕНО:<br />
      -заходить в воду (собака не плавает, а бегает по дну)<br />
      -взаимодействовать с объектами через ace-меню<br />
      <br />
      ОГРАНИЧЕНИЯ:<br />
      -Возможность 'прямой речи' taskforce radio у собаки отключена до попадания в канал 200-х. Слышать что вам говорят вы можете как обычно<br />
      -карта отключена после окончания брифинга<br />
      -нет возможности садиться в технику<br />
      -бесконечная стамина<br />
      -нет возможности ходить назад (стоит быть осторожным в узких коридорах)<br />
      <br />
      УПРАВЛЕНИЕ:<br />
      -звуки на клавиши 1-2-3, переключение громкости-Tab<br />
      -атака на клавишу 'выстрел' (действует только после фризтайма, нет анимации-только звук). требует 2-3 атаки чтобы выключить цель. Действует только на пехоту<br />
      -сесть/встать на клавишу 'сесть'<br />
      -имитация нюха через тепловизор (клавиша включения пнв). Обозор затемняется если смотреть против ветра (отображение направления ветра Shift+K по умолчанию). В этом режиме работает подсветка мин и растяжек в поле зрения в радиусе 8м<br />
   "] ];

Видео с ТВТ (старая версия скрипта):
Сообщение отредактировал BendeR - Четверг, 06.08.2020, 15:56

 
BendeR
Понедельник, 10.08.2020, 21:36
Онлайн
Пользователь
хотфикс скрипта анализатора спектра
(v1.1b версия sa_ewar.sqf)
-фикс фикса UI

https://drive.google.com/drive....qdQjDr8

 
BendeR
Вторник, 11.08.2020, 10:30
Онлайн
Пользователь
хотфикс скрипта анализатора спектра
(v1.1с версия sa_ewar.sqf)
-фикс фикса фикса UI (баг с перезаходом)

https://drive.google.com/drive/folders/11j-1GZAlLP5uWU0jrzp1A7_7tqdQjDr8

 
BendeR
Суббота, 15.08.2020, 15:01
Онлайн
Пользователь
обновление скрипта анализатора спектра
v1.4b
-добавлена дополнительная синхронизация сигналов после старта в игру для тормозящих на прогрузе
-синхронизация для переконектившихся теперь работает только в мп
-в sa_ewar убраны забытые отладочные строки

LINK

 
BendeR
Суббота, 29.08.2020, 14:47
Онлайн
Пользователь
v1.5 (обновлены обе части скрипта, версия файлов теперь одна)
-при сканирование свой-чужой теперь отображается сторона видимого сигнала терминала бпа
-импульсные сигналы (генерируемые анализаторами при сканирование/джаме) теперь корректно удаляются
-убрано сканирование свой-чужой без установленной антенны

LINK

 
BendeR
Понедельник, 31.08.2020, 09:57
Онлайн
Пользователь
Не совсем скрипт.
Туториал для анализатора спектра: https://steamcommunity.com/sharedfiles/filedetails/?id=2214415193
Полезно для тех кто хочет пощупать все функции в сингле и понять надо ли оно вам-вписываться на такой слот на твт.

Сообщение отредактировал BendeR - Понедельник, 31.08.2020, 10:08

 
BendeR
Вторник, 01.09.2020, 20:11
Онлайн
Пользователь
анализатор v1.5a
-еще чутка уменьшена нагрузка от сигналов-импульсов
-фикс для отключения импульсных сигналов через параметр SA_DISABLE_SPIKE_SIGNALS
-подредактирован stringtable.xml

LINK

 
BendeR
Вторник, 08.09.2020, 12:06
Онлайн
Пользователь
анализатор v1.6
-фикс джама
-добавлены импульсные сигналы джаму аналогично со сканом
-фикс сообщений если не используется stringtable.xml

LINK

 
BendeR
Четверг, 19.11.2020, 17:24
Онлайн
Пользователь
Скрипт выпила арткомпов у всего живого из миссии Марксмена Загнанные в угол

Проблема в том что WMT в некоторые моменты перевыставляет enableEngineArtillery в true, поэтому нужен такой костыль.
Публикую этот кусок кода потому что этот же костыль позволяет при желание рисовать на экране арткомпа, добавлять и удалять элементы пользовательского интерфейса на нем и тп (пример, правда для окошка gps, есть в миссии Ion storm).

Код
_g=[] spawn {
   if(isDedicated||(!hasInterface)) exitWith {};
   enableEngineArtillery false;
   while{true} do {
      if(shownArtilleryComputer) then {
         enableEngineArtillery false;
         {
            if (!isNull (_x displayCtrl 500)) then {_x closeDisplay 0;};
         } forEach (allDisplays + (uiNamespace getVariable "IGUI_Displays"));
      };
      uisleep 0.5;
   };
};


можно воткнуть прямо в инит.скф, можно вызвать от туда же как отдельный файл
Сообщение отредактировал BendeR - Четверг, 19.11.2020, 17:30

 
Форум » Мастерская » В помощь картоделу » Скрипты » Useless scripts (Некоторые бес_полезные скрипты)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:


Правила чата
Мини-чат
+Мини-чат
0