Модератор форума: GUNNER161, Panikaha |
Форум РЕДАКТОР - ArmA 3 Скрипты Скриптовые команды (всякая всячина) |
Скриптовые команды |
› Четверг
› 09.01.2014
› 15:21
› Сообщение #
|
› Пятница
› 10.01.2014
› 13:16
› Сообщение #
alex70-03, идея была проста. Если в миномете заканчиваются обоймы, то подносчик боеприпасов берет боезапас в расположенном рядом ящике, и передает обоймы орудию, стрелок перезаряжает миномет. Все вроде бы логично и понятно.
С помощью ...addEventHandler ["fired",... определил название обоймы: "8Rnd_82mm_Mo_shells". Поставил проверку на наличие обойм в миномете: _magazine = "8Rnd_82mm_Mo_shells"; if !(_magazine in ( magazines _mortar) then {_helper action ["dropMagazine", _mortar, _magazine]; обоймы появляются, но миномет их не использует. Пробовал внаглую добавить обоймы: _mortar addMagazine [_magazine, 3]; - та же ситуация. Захотел посмотреть какие снаряды есть в ящике боеприпасов для техники - там ничего нет, в рюкзаке подносчика боеприпасов для миномета - тоже. Мало того, туда ничего нельзя положить. Зачем он тогда? Есть нюанс: в Wiki написано, что в грузовое пространство объекта можно положить только то, что используется пехотными частями. Как тогда добавить снаряды для зарядки орудия? |
› Пятница
› 10.01.2014
› 13:57
› Сообщение #
Индеец, а перезарятидь орудие пробывал?
http://community.bistudio.com/wiki/reload |
› Пятница
› 10.01.2014
› 18:28
› Сообщение #
|
› Среда
› 15.01.2014
› 02:05
› Сообщение #
Подскажите, как гарантированно развернуть один пустой объект относительно другого? А то наваял скрипт укреплений, а они пояляются то так, то эдак. Сам скрипт:
// объект _object = _this select 0; // создание укреплений _okop = "Land_HBarrierBig_F" createVehicle [0,0,0]; _okopLeft = "Land_HBarrierBig_F" createVehicle [0,0,0]; _okopRight = "Land_HBarrierBig_F" createVehicle [0,0,0]; // создание дополнительных объектов для открепления укреплений _null = "Land_HBarrierBig_F" createVehicle [0,0,0]; _nullLeft = "Land_HBarrierBig_F" createVehicle [0,0,0]; _nullRight = "Land_HBarrierBig_F" createVehicle [0,0,0]; // телепорт дополнительных объектов к позиции объекта _null attachTo [ _object, [0,4.5,-4]]; _nullLeft attachTo [ _object, [-4.5,1,-4]]; _nullRight attachTo [ _object, [+4.5,1,-4]]; // прикрепление укреплений к дополнительным объектам _okop attachTo [ _null, [0,0,0]]; _okopLeft attachTo [ _nullLeft, [0,0,0]]; _okopRight attachTo [ _nullRight, [0,0,0]]; // удаление дополнительных объектов deleteVehicle _null; deleteVehicle _nullLeft; deleteVehicle _nullRight; // разворот укреплений _okopLeft setDir +90; _okopRight setDir -90; |
› Среда
› 15.01.2014
› 08:18
› Сообщение #
http://community.bistudio.com/wiki/modelToWorld
_object = _this select 0; _okop = "Land_HBarrierBig_F" createVehicle [0,0,0]; _okopLeft = "Land_HBarrierBig_F" createVehicle [0,0,0]; _okopRight = "Land_HBarrierBig_F" createVehicle [0,0,0]; _okop setPos ( _object ModelToWorld [0,4.5,-4]); _okopLeft setPos ( _object ModelToWorld [-4.5,1,-4]); _okopRight setPos ( _object ModelToWorld [+4.5,1,-4]); _dir = getDir _object; _okopLeft setDir (_dir + 90); _okopRight setDir (_dir - 90); |
› Вторник
› 28.01.2014
› 00:50
› Сообщение #
Slon, вот спасибо!
Добавлено (28.01.2014, 00:50) |
› Вторник
› 28.01.2014
› 08:10
› Сообщение #
Это называется Функция, блок кода записанный в переменную
вызов функции командой Call или Spawn пример _Fn_1 = { скрипт; }; .. основной скрипт _vl = [] Call _Fn_1; .... _as = [] Spawn _Fn_1; |
› Вторник
› 28.01.2014
› 10:51
› Сообщение #
Спасибо Slon, немного отвлеченный вопрос:
В забугорных скриптах встречал, что локальная переменная создается с помощью команды private. В чем, тогда, разница между _var = ...; и private "_var";? |
› Вторник
› 28.01.2014
› 14:14
› Сообщение #
И вообще, есть смысл заранее создавать переменные с помощью private, тем более локальные? Ну, кроме, разве что массивов..
Или это просто привычка обозначать все переменные разом, до их использования? ------- modelToWorld - интересная команда. А можно ли с ее помощью организовать телепорт группы игрока (к примеру) с сохранением их расположения друг относительно друга? То есть игрок телепортируется через setpos на нужное место, а все остальные перемещаются "согласно купленным билетам".. Сообщение отредактировал andrucio - Вторник, 28.01.2014, 17:19
|
› Вторник
› 28.01.2014
› 19:18
› Сообщение #
|
› Вторник
› 28.01.2014
› 19:24
› Сообщение #
private - создаёт зону видимости переменной, в нутри указанного блока переменные с одинаковым именем буду незавиисимы. Это делается для функций и файлов вызываемых оператором Call и Exec. дабы не было совпадения имён.
alex70-03, нет такого обработчика. |
› Вторник
› 28.01.2014
› 19:27
› Сообщение #
|
› Вторник
› 28.01.2014
› 19:30
› Сообщение #
Так в чём проблема? установил обработчики, время прошло - удалил.
|
› Вторник
› 28.01.2014
› 19:57
› Сообщение #
alex70-03, а так не получится?..
допустим, _fired=addEventHandler ["fired", ....и тд sleep 5*60; if (isnil ("_fired")) then {стрельбы не было} чисто предположение Сообщение отредактировал andrucio - Вторник, 28.01.2014, 19:57
|
| |||
Чат сайта |