Перейти к содержимому


Фотография

Вопросы по скриптингу

Arma3 как плотформа для созда Скритпы

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 1486

#1421 OFFLINE   dos130

dos130

    Рядовой

  • Пользователи
  • 17 сообщений
  • Откуда:Murmansk

Отправлено 12 August 2019 - 05:39

 

dos130,
 

500 cutRsc ["TestDisp","PLAIN"];
_ui = uiNameSpace getVariable "TestDisp";
_text = _ui displayCtrl 3604;
_icon = _ui displayCtrl 3605;
_ui closeDisplay 1; 

Спасибо :) Искал в командах армы не нашел :(


  • 0

#1422 OFFLINE   dos130

dos130

    Рядовой

  • Пользователи
  • 17 сообщений
  • Откуда:Murmansk

Отправлено 17 August 2019 - 01:39

Создаю ТС

_Veh = "CUP_B_M1133_MEV_Desert_Slat" createVehicle ([_VehPos select 0, (_VehPos select 1) - 4, 0]);    
_Veh setVariable["deployed", 0, true];

Добавляю addAction

["Deploy", "script", [], 6, true, true, "", "(typeOf cursorObject == 'CUP_B_M1133_MEV_Desert_Slat') && ((player distance cursorObject) < 5) && ((cursorObject getVariable 'deployed') == 0)"];

При наведение ничего не отображается пока не уберешь. "  ((cursorObject getVariable 'deployed') == 0) ".


Сообщение отредактировал dos130: 17 August 2019 - 03:20

  • 0

#1423 OFFLINE   nIkRon

nIkRon

    Сержант

  • Пользователи
  • 195 сообщений
  • Откуда:Донецк

Отправлено 17 August 2019 - 03:50

dos130, измените в экшене cursorObject на передачу объекта, и повесьте экшен на саму технику.


Сообщение отредактировал nIkRon: 17 August 2019 - 03:52

  • 0

#1424 OFFLINE   dos130

dos130

    Рядовой

  • Пользователи
  • 17 сообщений
  • Откуда:Murmansk

Отправлено 17 August 2019 - 05:22

if (_class == "CUP_B_M1133_MEV_Desert_Slat") then {
_object addAction ["Test", "script", [], 1, true, true, "", "(_player distance _object < 3)"];
};
if (_class == "CUP_B_M1133_MEV_Desert_Slat") then {

_object addAction ["Test", "script", [], 1, true, true, "", ""];
};

Как только не пробовал не появляется -_-


  • 0

#1425 OFFLINE   nIkRon

nIkRon

    Сержант

  • Пользователи
  • 195 сообщений
  • Откуда:Донецк

Отправлено 17 August 2019 - 22:36

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

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


  • 0

#1426 OFFLINE   Leo Dev

Leo Dev

    Рядовой

  • Пользователи
  • 1 сообщений

Отправлено 01 October 2019 - 08:51

Всем доброго времени суток! Какую функцию прописать что бы можно было в офлайн заспавнить машину уже с запущеным двигателем?
  • 0

#1427 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1844 сообщений

Отправлено 02 October 2019 - 13:11

Leo Dev, надо использовать 2 команды:

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


  • 0

#1428 OFFLINE   lopster102

lopster102

    Ст.сержант

  • Пользователи
  • 267 сообщений
  • Откуда:mscw

Отправлено 08 October 2019 - 10:56

здрв!напомните пожалуйста access = 0; 1 2 3  какой разрешит добавления класса?


  • 0

#1429 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1844 сообщений

Отправлено 08 October 2019 - 11:11

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


  • 0

#1430 OFFLINE   lopster102

lopster102

    Ст.сержант

  • Пользователи
  • 267 сообщений
  • Откуда:mscw

Отправлено 08 October 2019 - 11:26

о спс


  • 0

#1431 OFFLINE   GansGaintsev

GansGaintsev

    Рядовой

  • Пользователи
  • 2 сообщений

Отправлено 25 May 2020 - 16:33

Ребят, в процессе ваяния возник вопрос. 

Вот есть команда playSound3D которая позволяет приаттачить звук к объекту, есть команда playMusic которая просто играет в фоне любую композицию. А теперь вопрос: можно ли как то сделать, чтобы музыка проигрывалась именно возле объекта? Просто cfgSound воспринимает только ogg файлы весом до 50кб, полноценный трек туда не запилить... Для понимания - нужно что то типа радио в транспорте, возможность переключать треки не предусмотрена, просто должно срабатывать по триггеру и играть до конца трека. 

Я уже грешным делом подумываю нарезать трек в 1мб на 20 кусков по 50кб но как playSound3d будет воспроизводить массив треков я пока слабо представляю. 

Просто я в модах (в том же алайве) встречал длинные звуки, которые играют из радио или телевизора. 

Буду очень благодарен за помощь.


  • 0

#1432 OFFLINE   dreamforce

dreamforce

    Рядовой

  • Пользователи
  • 3 сообщений
  • Откуда:Крайний Север

Отправлено 06 June 2020 - 09:50

Всем привет.
Почитал уроки КК про триггеры, почитал про event scripts, но так и не понял как запустить свой скрипт один раз при старте сервера, при этом чтобы в папке с миссией вообще не было упоминания про мой скрипт, т.е. запуск через Init.sqf, initServer.sqf не рассматривается.
Конкретно - надо расставить несколько триггеров на карте.
  • 0

#1433 OFFLINE   Denispetrov123

Denispetrov123

    Ефрейтор

  • Пользователи
  • 82 сообщений
  • Откуда:Москва

Отправлено 07 June 2020 - 11:29

Всем привет.
Почитал уроки КК про триггеры, почитал про event scripts, но так и не понял как запустить свой скрипт один раз при старте сервера, при этом чтобы в папке с миссией вообще не было упоминания про мой скрипт, т.е. запуск через Init.sqf, initServer.sqf не рассматривается.
Конкретно - надо расставить несколько триггеров на карте.

Галочка только сервер.


  • 0

#1434 OFFLINE   dreamforce

dreamforce

    Рядовой

  • Пользователи
  • 3 сообщений
  • Откуда:Крайний Север

Отправлено 07 June 2020 - 12:56

 

Всем привет.
Почитал уроки КК про триггеры, почитал про event scripts, но так и не понял как запустить свой скрипт один раз при старте сервера, при этом чтобы в папке с миссией вообще не было упоминания про мой скрипт, т.е. запуск через Init.sqf, initServer.sqf не рассматривается.
Конкретно - надо расставить несколько триггеров на карте.

Галочка только сервер.

 

Мне бы через скрипт, а не через редактор.


  • 0

#1435 OFFLINE   ToxaBes

ToxaBes

    Ефрейтор

  • Пользователи
  • 34 сообщений

Отправлено 18 June 2020 - 16:40

Всем привет.
Почитал уроки КК про триггеры, почитал про event scripts, но так и не понял как запустить свой скрипт один раз при старте сервера, при этом чтобы в папке с миссией вообще не было упоминания про мой скрипт, т.е. запуск через Init.sqf, initServer.sqf не рассматривается.
Конкретно - надо расставить несколько триггеров на карте.

 

Как я понял Вы хотите защитить свой скрипт от посторонних глаз. Единственный надежный способ это сделать - написать свой мод куда перенести этот скрипт, там же объявить его через publicVariable "DF_fnc_someScript"; Этот мод нужно подключать только на сервере, параметром -servermod=@ваш_мод

 

После чего Вы вызываете свой скрипт например initServer.sqf: [] call DF_fnc_someScript;

На Вашем сервере все будет работать т.к. функция DF_fnc_someScript у Вас определена в подключенном моде, в самой миссии будет только одна строка в initServer.sqf, код Вашей функции в миссии не находится и поэтому не доступен ни для кого.

При попытке запустить миссию на другом сервере или в редакторе без этого мода будет вылезать ошибка о том что не определена переменная "DF_fnc_someScript" и миссия работать не будет.


Сообщение отредактировал ToxaBes: 18 June 2020 - 16:40

  • 0

#1436 OFFLINE   CuPOTA

CuPOTA

    Рядовой

  • Пользователи
  • 17 сообщений

Отправлено 09 December 2020 - 20:09

Здравствуйте. Я новичок в скриптописании, знаю пару команд, но тут решил написать миссию чисто для тренировки полностью на скрипте, столкнулся с такой проблемой (Миссию пишу не для игры а просто в качестве тренировки для себя)

Остановка скрипта с помощью waitUntil до момента пока боты не будут в технике.

Есть боты, не являющиеся группой засунутые в один массив 

box_players = [s1,s2,s3,s4,s5];

Но приостановить выполнение скрипта с помощью команды : 

waitUntil {{_x in bus1} forEach box_players}; // bus1 - Имя автобуса.

не получается, выдает ошибку, но при этом вариант:

waitUntil {s1 in bus1 && s2 in bus1 && s3 in bus1 && s4 in bus1 && s5  in bus1};

Работает.

 

В чем моя ошибка подскажите? 

Заранее спасибо за ответ.


  • 0

#1437 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1844 сообщений

Отправлено 09 December 2020 - 20:32

В чем моя ошибка подскажите?

В неправильном коде -- в waitUntil будет передан результат проверки (_x in bus1) только для последнего юнита, а тебе нужно проверить всех юнитов:

waitUntil { (box_players findIf { _x in bus1 }) < 0 };

  • 0

#1438 OFFLINE   CuPOTA

CuPOTA

    Рядовой

  • Пользователи
  • 17 сообщений

Отправлено 09 December 2020 - 21:32

 

В чем моя ошибка подскажите?

В неправильном коде -- в waitUntil будет передан результат проверки (_x in bus1) только для последнего юнита, а тебе нужно проверить всех юнитов:

waitUntil { (box_players findIf { _x in bus1 }) < 0 };

Спасибо за ответ. пока сложно дается все это понимание отдельных моментов, но буду учиться =) спасибо еще раз) Будем изучать) 

 

 

UPD: Где то на просторах ютуба наткнулся на скрипт, в котором увидел данную проверку наличия юнитов в технике:

вдруг таким же новичкам пригодится, спасибо.

waitUntil {
		sleep 2;
		({_x in bus1} count box_players) isEqualTo (count box_players);
		};

Сообщение отредактировал CuPOTA: 12 December 2020 - 20:54

  • 0

#1439 OFFLINE   olimpset

olimpset

    Рядовой

  • Пользователи
  • 2 сообщений
  • Откуда:Никополь

Отправлено 13 December 2020 - 03:56

Здравствуйте! Возникла проблема с doFSM. Хотелось бы сделать атомарную команду эвакуации (прилетел вертолет -> забрал отряд -> улетел обратно). На высоком уровне (execFSM) реализовал, но хотелось бы doFSM. Проблема в том, что при использовании _heli land "LAND", он смещает свою позицию x y в поисках свободного места, соответственно, после приземления, сразу взлетает и летит на прежний moveTo, как можно прервать moveTo, не убивая fsm? Спасает только принудительно ставить flyInHeight, но это не так эффектно.

Сообщение отредактировал olimpset: 13 December 2020 - 03:57

  • 0

#1440 OFFLINE   Schatten

Schatten

    Капитан

  • Пользователи
  • 1844 сообщений

Отправлено 13 December 2020 - 13:54

Где то на просторах ютуба наткнулся на скрипт, в котором увидел данную проверку наличия юнитов в технике:
вдруг таким же новичкам пригодится, спасибо.

waitUntil {
		sleep 2;
		({_x in bus1} count box_players) isEqualTo (count box_players);
		};

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

.


  • 0




Яндекс.Метрика