|
|
Модератор форума: Slon |
Форум РЕДАКТОР - ArmA 2 Operation Arrowhead Скрипты Функции (... чтоб их!) |
Функции |
› Суббота
› 18.08.2012
› 21:07
› Сообщение #
Доброго времени суток, Форумчане! =)
Бъюсь к вам челом - объясите: Quote ...работает на Арма-2 ОА и при активированном модуле Функции. Он может не сразу активироваться, поэтому рекомендую делать условие: waituntil {!isnil "bis_fnc_init"}; Вокруг игрока или другого объекта создается шторм: [player,-1,0.8,false] call bis_fnc_sandstorm; И так, я захожу в редактор, создаю Модуль, выбираю "Функции". Далее создаю Триггер. Условие: waituntil {!isnil "bis_fnc_init"};. Активация: [player,-1,0.8,false] call bis_fnc_sandstorm;. Тип: Переключить. Активация: Присутствует. В итоге ничего не работает и не срабатывает. Я знаю, что где-то что-то видимо не прописываю, но что - этого я не могу понять. Сижу в редакторе с обеда, так что вариантов за это время я перепробовал уже массу - ничего не срабатывает Спасайте! РЕШЕНО! Я продолбался с этим весь день, а в итоге надо было просто протянуть между Модулем и ГГ "нитку" Синхронизации НО! Проблема не решилась У меня не сработало условие "waituntil {!isnil "bis_fnc_init"};" и при записи его и подобных команд мне игра выдает "Tupe Script, expected Nothing". Что она от меня хочет, проклятая? Сообщение отредактировал Muv - Суббота, 18.08.2012, 21:39
|
› Воскресенье
› 19.08.2012
› 18:30
› Сообщение #
Muv, Так, разберем суть поля "условие".
В нем должно быть записано условие, что следует из его названия. НО, ты пишешь не условие, а команду., то бишь ждать пока загрузится функция. WaitUntil{}; используется в скриптах, а в графе условие надо записать просто - !isnil "bis_fnc_init";
Arma 3
Студент МТУСИ |
› Понедельник
› 20.08.2012
› 20:05
› Сообщение #
sanyokbig, хорошо, спасибо
А для чего вообще условие !isnil "bis_fnc_init", и надо ли оно вообще? (в конкретном примере соответственно) Сообщение отредактировал Muv - Понедельник, 20.08.2012, 20:06
|
› Вторник
› 21.08.2012
› 23:36
› Сообщение #
Это проверка на то, загружен ли файл, в котором находится функция bis_fnc_sandstorm, ибо если он не загружен, то и вызываться ничего не будет. Нужно ли это? Если миссия мала, допустим стоит один игрок, то может и загрузиться сразу, но если миссия тяжела, то это условие необходимо, так как загрузка может длиться довольно долго, у меня бывало грузилось секунд 5. Так что если используются бисовские функции, то да, условие необходимо.
Arma 3
Студент МТУСИ |
› Четверг
› 23.08.2012
› 20:32
› Сообщение #
Ага, разобрался
sanyokbig, можешь подсказать одну команду/условие (не знаю). Я помню только начало: {_x playMove "Имя анимации"} - по-моему так, мож где опечатался. Нужна для зацикливания анимки и для применения к группе юнитов. |
› Пятница
› 24.08.2012
› 01:51
› Сообщение #
Muv, Почти верно.
Для применения однотипных действий к группе объектов используется forEach. Для зацикливания анимки понятно нужен цикл, значит скрипт будет выглядеть примерно так. Code _loop_anim = { _ob = _this select 0; while {true} do {//Циклированная анимация _ob playMove "Анимашка"; sleep 10;//Ждем пока закончится анимация }; }; _units = units anim_group; { [_x] spawn _loop_anim; } foreach _units; Где anim_group имя группы, которая будет анимирована. Цикл вынесен в отдельную функцию _loop_anim, так как цикл прямо в foreach'е остановил бы его выполнение.
Arma 3
Студент МТУСИ |
| |||
| |||
Чат сайта |