Модератор форума: Slon |
Форум РЕДАКТОР - ArmA 2 Operation Arrowhead Скрипты Перенос оружия и другого с одной миссии в другую(компания). (Как это сделать?) |
Перенос оружия и другого с одной миссии в другую(компания). |
› Воскресенье
› 03.02.2013
› 01:17
› Сообщение #
|
› Пятница
› 04.10.2013
› 17:32
› Сообщение #
Я так понимаю, перенос юнитов и оружия в редакторе применить невозможно? (грубо говоря, все это хозяйство хранится в неком файле, который создается в папке кампании)
Что делать? В каждой следующей миссии ставить весь отряд и экипировать его как в первой? А потом применять загрузку сохраненного статуса с проверкой на предмет смерти членов отряда? Но опять же, в редакторе не проверишь. Как правильнее делать save-load? Через save/loadStatus или скриптами в примере SLONа, через saveVar? Как перенести бэкпаки с их содержимым? (И чтобы оно не превратилось в "санитара такистанской армии" ) Нужен перенос только отряда игрока (точнее, его живых и их экипировки, только пешие юниты) Сообщение отредактировал andrucio - Пятница, 04.10.2013, 17:45
|
› Пятница
› 04.10.2013
› 18:32
› Сообщение #
в редакторе перенос с одной карты на другую производится элементарно -
выделяеш, копируеш, открываеш другую карту, вставляеш. Цитата "Добавлено (24.11.2011, 20:52)" - мда, прошло больше года с тех пор, как я задал вопрос. А ответ непонятен. |
› Пятница
› 04.10.2013
› 19:29
› Сообщение #
Цитата (Slon) выделяеш, копируеш, открываеш другую карту, вставляеш. Ну копипаст я не имел в виду:) А так, как это в некоторых кампаниях сделано. Вот и спрашиваю - как лучше это сделать и можно ли проверить именно в редакторе, без запаковки пула миссий в кампанию и проверки в самой игре |
› Пятница
› 04.10.2013
› 22:03
› Сообщение #
перенос производится переменными, сделай подстановку примерных значений.
|
› Суббота
› 05.10.2013
› 13:43
› Сообщение #
Цитата (Slon) перенос производится переменными, Ну ладно. Вариант первый. Код {_x savestatus "state_"+"_x"} foreach (units _grpPlayer); здесь не уверен в кавычках, поправьте, если неправильно В след. миссии загружаем, заодно убираем трупы из группы, если есть Код {_x loadstatus "state"+"_x"} foreach (units _grpPlayer); {if (!alive _x) then {deleteVehicle _x}} foreach (units _grpPlayer); Вариант второй. Используется конструкция скриптов, приведенных страницей ранее и тд. с некоторой правкой ( _mass=((units _grpPlayer)-[player]) и сохранением только alive _x, damage _x, magazines _x, weapons _x) Первый вариант возможно сохраняет и бэкпаки, второй - похоже, нет. Какой из них наиболее правильный? Сообщение отредактировал andrucio - Суббота, 05.10.2013, 13:49
|
› Суббота
› 05.10.2013
› 14:04
› Сообщение #
Первый вариант работать не будет (кроме случая с именованными объектами)
"state_"+"_x"} foreach (units _grpPlayer) тут в имени переменной ИД объекта. вероятность что в следущей миссии ИД у подобных объектов совпадёт равна нулю. также - массив (units _grpPlayer) - даже при одинаковом составе группы не даёт гарантии одинаковой последовательности перечисления. |
› Суббота
› 05.10.2013
› 14:24
› Сообщение #
Я и имел в виду присвоенные ботам имена..
Ну либо персонально по каждому члену группы написать bot1 saveStatus "bot1state"; И загружать так же. А вообще в плане синтаксиса моя конструкция с кавычками правильно написана? Цитата также - массив (units _grpPlayer) - даже при одинаковом составе группы не даёт гарантии одинаковой последовательности перечисления. то есть даже при именованных юнитах при { _x loadstatus _xstate} можно получить статус одного юнита вместо другого? Сообщение отредактировал andrucio - Суббота, 05.10.2013, 14:33
|
› Суббота
› 05.10.2013
› 14:40
› Сообщение #
с именованными объектами проблем не будет, отсутствует элемент случайности.
|
› Воскресенье
› 10.08.2014
› 21:52
› Сообщение #
В процессе тестирования сборки кампании (pbo) выявилась неприятная вещь: бэкпаки группы отлично переносятся в следующую миссию, но если загрузиться с сохранения внутри (в том числе откатом), то они пропадают, хотя подобранные в процессе сохраняются.
Решил следующим образом: После загрузки статуса в скрипте сохраняется класснейм БП и содержимое, затем он удаляется, после чего выдается сохраненный с нужным содержимым. Кроме того, для каждой миссии статус сохраняю в разные имена, это позволяет грузить правильные статусы при возврате к предыдущим миссиям |
› Понедельник
› 02.05.2022
› 17:30
› Сообщение #
Добрый день прочитал данную тему и попробовал сделать. На персонажа все переноситься кроме рюкзака. Я пробовал и так код писать и сяк. Можете помочь и сказать что я не правильно написал.
Ниже мой код. _x = Player; Global_Player = [weapons _x, Headgear _x, Goggles _x, Vest _x, Uniform _x, hmd _x, primaryWeaponItems _x, vestItems _x, uniformItems _x, Backpack _x]; sleep 1; SaveVar "Global_Player"; sleep 1; endMission "END1"; removeAllWeapons Player; {Player addWeapon _x} forEach (Global_Player select 0); {Player addPrimaryWeaponItem _x} forEach (Global_Player select 6); Player selectWeapon PrimaryWeapon Player; Player addHeadgear (Global_Player select 1); Player addGoggles (Global_Player select 2); Player addVest (Global_Player select 3); {Player addItemToVest _x} forEach (Global_Player select 7); Player addUniform (Global_Player select 4); {Player addItemToUniform _x} forEach (Global_Player select 8); Player addhmd (Global_Player select 5); Player addBackpack (Global_Player select 9); |
› Суббота
› 08.10.2022
› 17:36
› Сообщение #
Я так и ничего не понял. Можно хотя бы пример, как юнитов переносить с одной миссии на другую (не просто переносить, а такими которыми они были в другой миссии, тоесть кто то погиб и т.д).
Хотябы с тремя юнитами сделайте пример. Так разбираться легче. Спасибо заранее Добавлено (09.10.2022, 03:05) |
| |||
Чат сайта |