Модератор форума: GUNNER161, Panikaha |
Форум » РЕДАКТОР - ArmA 3 » Вопрос - ответ » Тема для небольших вопросов по Arma 3 (взаимопомощь в режиме вопрос-ответ) |
Тема для небольших вопросов по Arma 3 |
› Воскресенье
› 17.01.2016
› 13:36
› Сообщение #
Каунтсайд возвращает число. В данном случае - колво врагов в радиусе 400
Поэтому выражение _kollb select 0 не имеет смысла. _kollb не массив, а переменная. Лучше пользоваться другой конструкцией, вроде: _ms=[]; {if (Side _x == WEST) and (_x in (position (leader grpРН) nearEntities ["Man",400]))) then {_ms set[count _ms, _x]}; sleep 0.05} foreach AllUnits; |
› Воскресенье
› 17.01.2016
› 17:42
› Сообщение #
andrucio,
Тогда хватаем первого обнаруженного и распознанного командой knowsAbout врага из массива _ms? Тут загвоздка в том что бы не просто выделить массив людей в радиусе 400 от лидера группы, а получить сигнал только в случае если замечен враг, как в вейпоинте "часовой". Код _ms=[]; {if ((Side _x == WEST) and (_x in (position (leader grpРН) nearEntities ["Man",400])))) then {_ms set[count _ms, _x]}; sleep 0.05} foreach AllUnits; if ((leader grpРН knowsAbout (_ms select 0)) > 2) then {hint "Тревога, колонна РН заметила врага"}; Ругается на вторую строку на скобку почему то. |
› Воскресенье
› 17.01.2016
› 19:34
› Сообщение #
AleksSan, У тебя идет проверка на "узнаваемость" только первого члена массива то есть - ближайшего. А если этот ближайший находится в доме, или за гребнем, а видят они другого? А на него не сработает.
Думается, надо проверять по всему массиву, коль он уже есть. if ({leader grpРН knowsAbout _x > 2} count _ms > 0) then {hint...... А ругается - проверяй колво скобок |
› Понедельник
› 18.01.2016
› 00:45
› Сообщение #
andrucio, Спасибо заработало, Оказалось игра критично относится к регистру в имени группы, grpPH не принимается, а вот с grpph норм. Вот только в плане скорости foreach AllUnits под вопросом. Вся карта сканируется хотя нужен только участок радиусом 400. Простенький цикл для проверки запустил. Так при большом количестве солдат на карте код проверяет всех и идет с десяток секунд.
Код while {true} do { _ms=[]; {if ((Side _x == WEST) and (_x in (position (leader grpph) nearEntities ["Man",400]))) then {_ms set [count _ms, _x]}; sleep 0.1} foreach AllUnits; if ({leader grpph knowsAbout _x > 2} count _ms > 0) then {hint "Тревога, колонна РН заметила врага"} else {hint "врага не видно"}; }; |
› Понедельник
› 18.01.2016
› 18:49
› Сообщение #
Да, это некий излишек.
Если _ls = (leader grpРН) nearEntities [["Man"], 400]; считается правильно, тогда можно попробовать такое: _ms=[]; {if (Side _x == WEST) then {_ms set[count _ms, _x]}; sleep 0.05} foreach _ls; тогда _ms будет набираться только из массива _ls И совет: внутри цикла, после всех команд ставь паузу хотя бы секунду. Это будет не слишком критично, а в плане загрузки полегче Сообщение отредактировал andrucio - Понедельник, 18.01.2016, 18:53
|
› Понедельник
› 18.01.2016
› 21:40
› Сообщение #
Как отследить открытие двери в здании?
|
› Вторник
› 19.01.2016
› 00:11
› Сообщение #
Индеец, попробуй
if (ob animationPhase "Door_№_rot" == fl) then {....... ob - здание как объект № - номер двери fl - либо 1, либо 0, точно не помню Сообщение отредактировал andrucio - Вторник, 19.01.2016, 00:12
|
› Вторник
› 19.01.2016
› 18:25
› Сообщение #
|
› Среда
› 20.01.2016
› 00:21
› Сообщение #
andrucio, Благодарю, все работает как и хотел. Теперь корованы уничтоженные из засады не останутся не отмщеными. Делать засаду по сюжету в определенном месте не интересно, лучше делать рандомно, и с неизвестным параметром где может прятаться противник и будет ли он. Изначально хотел отслеживать повреждения грузовика, если есть значит под обстрелом колонна. Так наитупейшие ИИ вождения гробят машины сами, врезаясь в дома и в другие авто, вызывая ложные срабатывания.
|
› Среда
› 20.01.2016
› 15:38
› Сообщение #
Всем привет!. У меня проблемка такая, раньше в арме 3 играл спокойно без всяких глюков, но в последнее время игра сама по себе стала глючить сильно, подвисать и ФПС низкая колеблится от 20 до 30. Чем это может быть вызвано? Могут ли адонны, а именно их количество в игре влиять на производительность игры?
|
› Среда
› 20.01.2016
› 18:22
› Сообщение #
|
› Среда
› 20.01.2016
› 22:30
› Сообщение #
Santos2000, DEV обновления ставил? Вернись на стабильную. А описываемые проблемы как раз пошли с декабрьских обновлений.
|
› Четверг
› 21.01.2016
› 00:57
› Сообщение #
Делать засаду по сюжету в определенном месте не интересно, лучше делать рандомно, и с неизвестным параметром где может прятаться противник и будет ли он Santos2000, мне пару раз реально помогал Razer Game Booster, он отключает всю лишнюю виндовую хрень.. правда, я ее потом включал заново вручную. Зато быстро. |
› Четверг
› 21.01.2016
› 22:46
› Сообщение #
По просьбе отпишу код ожидания открытия двери
waitUntil {_house animationPhase "Door_1_rot" == 1}; где: _house - здание, в котором контролируем дверь, "Door_1_rot" - название двери ( находил опытным путем), 1 - номер фазы анимации (открыто). |
› Суббота
› 23.01.2016
› 22:26
› Сообщение #
Скажите, а можно заставить ботов воевать на БПА (UAV, беспилотная наземная тачанка с орудием) или эта прерогатива только игроков? Изначально хотел что бы малозаметная группа с стационарным пулеметом скрытно вышла на позицию и командой BIS_fnc_unpackStaticWeapon разложила орудие, но БИСовы дети опять что то поломали и данная функция не работает (в группе три юнита, ствол и станина в рюкзаках есть, раньше этот же скрипт сборки оружия работал).
В связи с этим хочу их заменить на группу из операторов БПА, но не знаю можно ли заставить операторов ботов ИИ подключиться к созданной рядом машине, проехаться по вейпоинтам и выйти на рубеж атаки, а там пострелять что в камеры увидят? Добавлено (23.01.2016, 22:26) |
| |||
Чат сайта |