Модератор форума: Slon |
Форум » РЕДАКТОР - ArmA 2 Operation Arrowhead » Вопрос - ответ » Тема для небольших вопросов по ArmA 2 Operation Arrowhead |
Тема для небольших вопросов по ArmA 2 Operation Arrowhead |
› Вторник
› 18.09.2012
› 20:53
› Сообщение #
Quote (Andreey) поставь триггер на активацию необходимой стороны: в активацию триггера напиши In_List = True в инит.sqf напиши: Code In_list = False; [] spawn { waitUntil {(In_list)}; if (*имя* in *имя триггера*) then {null = [*имя*] ExecVM "Script.sqf"}; if (*имя2* in *имя триггера*) then {null = [*имя2*] ExecVM "Script.sqf"}; if (*имя3* in *имя триггера*) then {null = [*имя3*] ExecVM "Script.sqf"}; }; есть 4 триггера, и 5 машин. Нужно чтобы триггер писал хинт если определенная машина будет уничтожена в опредиленном триггере. Я сделал так как в твоем варианте: if (!(alive M1) and (M1 in T1)) then {Hint "Первая машина уничтожена."}; if (!(alive M2) and (M2 in T1)) then {Hint "Вторая машина уничтожена."}; if (!(alive M3) and (M3 in T1)) then {Hint "Третья машина уничтожена."}; if (!(alive M4) and (M4 in T1)) then {Hint "Четвертая машина уничтожена."}; if (!(alive M5) and (M5 in T1)) then {Hint "Пятая машина уничтожена."}; все как бы должно работать но не хочет. M1 имя машины, T1 имя триггера. !(alive M1) просчитывается норм, а вот (M1 in T1) не хочет хоть убей. как сделать так чтоб проститывалось нахождение машины в зоне триггера??? |
› Вторник
› 18.09.2012
› 21:15
› Сообщение #
возможно триггер не видит, т.к. Единица уничтожена. Попробуй
if (!(alive M5) and (M5 in list T1)) then {Hint "Пятая машина уничтожена."}; возможно придётся аттачить логику и определять по ней. |
› Вторник
› 18.09.2012
› 21:15
› Сообщение #
Ребят,я играю на Тушино с отрядом, тренировки идут на их сервере. Который держит человек,не хост.
И в чем проблема... Я не вижу наш сервер через фильтр,через "удаленный" могу найти. А через фильтр не находит. В чем проблема? Фильтр настроен,поиск Интернет. И не видит. Хотя Тушино находит через фильтр. Пытался друг создать сервер,создал и я его не вижу. Только через IP могу. Раньше находил сервера через фильтр. В чем проблема? |
› Вторник
› 18.09.2012
› 21:45
› Сообщение #
Andreey, Пасиба ушел пробывать.
Добавлено (18.09.2012, 21:45) |
› Среда
› 19.09.2012
› 02:45
› Сообщение #
да, даже на радио ставил. Скрипт запускается, не работает в нем только это - (M5 in list T1). Пробовал называть М1 человека.
Во, нашел обходной способ: if (!(alive M1) and (m1 distance t1 <50)) then {Hint "Первая машина уничтожена."}; Но всеже осталось интересно почему не работает первый вариант, ведь таким образом можно только на круглый триггер назначить, а если элипс либо квадрат???? |
› Среда
› 19.09.2012
› 08:09
› Сообщение #
Люди подскажите или скиньте ссылку. Что бы:
1.) на красный/зелёный дым прилетал верталёт для эвакуации. 2.) на тот же дым или ИК метку обозначать цели для удара. 3.) по месту клика на карте туда приезжал транспорт. Извините если повторяюсь, возможно где не увидел. Заранее спасибо. |
› Среда
› 19.09.2012
› 14:37
› Сообщение #
Andreey,
Происходят непонятные аномалии, сначала скрипт работает нормально, потом я его пытаюсь изминить и он выдает ошибку в коде, потом возвращаю в первоначальное рабочее состояние и он и там ошибку находит, что за?!?!?! Вот что происходит: В инит.SQF пишу это _a = 0; WaitUntil { sleep 1; Hint "Trololo"; _a = _a + 1; _a == 5 }; Первый раз работало на ура, я от радости несколько раз жал просмотр и наблюдал как пять раз вылазиит хинт. Но потом попытался заминить на свою и работать перестало, причем вернул все вышенаписанное в первоначальное положение и арма начала ругацца на неправильность и перестала выполнять его. Ругается сначала на одно, а потом, после пересохранения, может и на другое место. _a = 0; |#|WaitUntil - раз было тут sleep 1; Hint "Trololo"; |#|_a = _a + 1; - раз было тут _a == 5 }; Что это могут быть за ошибки я не пойму потому как все написано идентично. -------------------------- Наканец то заработало, сто раз писал одно и то же, и вот заработало. WaitUntil { sleep 1; if (!(alive M1) and (M1 distance T1 <50)) then {Hint "Первая машина уничтожена в зоне 1."}; if (!(alive M1) and (M1 distance T2 <50)) then {Hint "Первая машина уничтожена в зоне 2."}; if (!(alive M1) and (M1 distance T3 <50)) then {Hint "Первая машина уничтожена в зоне 3."}; if (!(alive M1) and (M1 distance T4 <50)) then {Hint "Первая машина уничтожена в зоне 4."}; !(alive M1) }; никаких триггеров, T1 может быть любой обьект, в моем случае невидимая верт площадка. 4 площадки, Т1,Т2,Т3,Т4. 5 машин М1,М2,М3,М4,М5. При уничтожении любой машины в любой из зон, выскакивает хинт. Создал 5 таких скриптов SQF, только заменил циферки в скрипте у М Машинам в инит прописал x = [] execvm "M1.sqf"; для каждой со своей циферкой соответственно. Единственный минус, нельзя назначить элипс либо квадрат, остается загадкой почему не просчитывает условие нахождения обьекта в зоне триггера (M1 in T1). Сообщение отредактировал Doomigor - Среда, 19.09.2012, 14:56
|
› Среда
› 19.09.2012
› 14:58
› Сообщение #
Quote (Doomigor) WaitUntil { sleep 1; if (!(alive M1) and (M1 distance T1 <50)) then {Hint "Первая машина уничтожена в зоне 1."}; if (!(alive M1) and (M1 distance T2 <50)) then {Hint "Первая машина уничтожена в зоне 2."}; if (!(alive M1) and (M1 distance T3 <50)) then {Hint "Первая машина уничтожена в зоне 3."}; if (!(alive M1) and (M1 distance T4 <50)) then {Hint "Первая машина уничтожена в зоне 4."}; !(alive M1) }; Вы наркоманы штоле? В waitUntil пишется только условие, никаких sleep и if. |
› Среда
› 19.09.2012
› 15:44
› Сообщение #
Можно без sleep, просто скрипт повторяется не миллион раз в секунду а всего лишь 1.
Кста в WaitUntil { условия нет, есть условие на завершение в конце !(alive M1). Я нуб в скриптописании и множество терминов и понятий для меня непонятны покачто, могу сказать что видел условие в команде while, выглядело это так: _i=0; while {_i<=5} do { _i=_i+1; sleep 1; hint format ["%1", _i]; }; В моем случае все что под WaitUntil зациклено до того момента как М1 не будет уничтожена, тоесть условие в конце. В случае while, условие пишется сразу ----- while {_i<=5} do { ------- пока {значение _i не станет <=5} делать {код}; |
› Среда
› 19.09.2012
› 17:21
› Сообщение #
while и WaitUntil разные команды
WaitUntil - ожидание условия while - петля, пока истина, например: while {true} then {что выполнять} else {ели не истина} тобишь - пока так {делать} если нет {делать если нет} |
› Среда
› 19.09.2012
› 20:10
› Сообщение #
Ну примерно понятно, а кто нибудь пробовал в редакторе поставить триггер и проверить работает ли скрипт с условием на нахождение обьекта в зоне триггера?
|
› Вторник
› 25.09.2012
› 17:24
› Сообщение #
Уважаемые коллеги, встретил в коде миссии следующий код
Code getNumber (configFile >> "CfgSettings" >> "ACRE" >> "TVT_ChannelSwitch" >> "mode") причем вышеупомянутый код исполняется на сервере в мультиплеере, вопрос в какой конфиг нужно прописывать ожидаемое значение? И как, вообще, арма обрабатывает конфиг-файлы? Создается впечатление что она все что находит в конфигах аддонов, мисссий и папке userconfig склеивает в некий один большой "суперконфиг" для скриптов, я прав или нет? |
› Четверг
› 27.09.2012
› 07:27
› Сообщение #
|
| |||
Чат сайта |