Модератор форума: Slon |
Форум РЕДАКТОР - ArmA 2 Operation Arrowhead Скрипты Перенос оружия и другого с одной миссии в другую(компания). (Как это сделать?) |
Перенос оружия и другого с одной миссии в другую(компания). |
› Среда
› 23.03.2011
› 09:20
› Сообщение #
Я даже не знаю у кого спрашивать,вероятно у Slon'а.
Допустим в миссии сталкиваются двы отряда.10(запад) -10(восток). Как зделать так что бы результат конца миссии перешел в начало другой. (вместе с оружием,остав-ся боеприпаспми,и остав-ся солдатами,и координатами всех солдат.) Короче говоря со всеми теми параметрами,каторые были в конце первой миссии. Я понимаю что есть такие команды как: addWeaponPool [name, count] addMagazinePool [name, count] Но нужно что бы знающий человек зделал наглядный,абсолютно рабочий пример о том как это зделать ПРАВИЛЬНО. Может кто-нибудь зделать наглядный ПРИМЕР(миссию)?Я думаю это очень многим будет интерестно и нужно. Сообщение отредактировал 147258369s - Среда, 23.03.2011, 19:23
|
› Среда
› 23.03.2011
› 21:44
› Сообщение #
нето, тебе ведь надо запомнить состояние объекта.
например все боты (пока кроме игроков, там свои особенности) формат записи делаем такой [[тип бота, группа, место, угол, жив/труп, дамаж, оружие, магазины, анимка], [следущий], [следущий]....] _mass = nearestObjects [_pos, ["Man"], 10000]; в начале следущей миссии по этому масиву боты создаются |
› Среда
› 23.03.2011
› 21:59
› Сообщение #
В активации финала 1 миссии:
(сохранение массива мгновенное?Или нужно лучше с паузой?) _mass = nearestObjects [_pos, ["Man"], 10000]; |
› Среда
› 23.03.2011
› 22:28
› Сообщение #
это просто переменная, содержит массив и её читают как любую другую
примерно так _grps = []; private ["_g"]; { if !(_x select 1 in _grps) then { _grps set [count _grps, _x select 1]; _g = createGroup (_x select 0); }; _un = _g createUnit [_x select 2, _x select 3, [], 0 "None"]; _un setDir (_x select 4); if (_x select 5) then {_un setDamage (_x select 6)} else {_x setDamage 1}; removeAllWeapons _un; {_un addMagazine _x} forEach (_x select 7); {_un addWeapon _x} forEach (_x select 8); _un SwitchMove (_x select 9); } forEach Global_bots; |
› Четверг
› 24.03.2011
› 09:07
› Сообщение #
Нет, я хотел все для сингл.
Не думал что все так сложно.Думал что одна команда сохраняет другая тупо загружает. что-то типа: player saveStatus "статус игрока"; player loadStatus "статус игрока"; Вот тут saveVar все довольно просто описывается. "unstring" the varname (_car = call compile (SavedVars select 0);)-Вот тут вообще не понимаю!Что это за команда?compile. Как это работает? - "unstring" the varname (_car = call compile (SavedVars select 0);) Сохраните и загрузите))))))) |
› Четверг
› 24.03.2011
› 19:07
› Сообщение #
147258369s,
Не всё прочитал, там указано как правильно выбирать технику с таким же именем SavedVars = [str(Car1)] _car = call compile (SavedVars select 0) пример компании Прикрепления:
test_compain.pbo
(38.4 Kb)
|
› Вторник
› 21.06.2011
› 23:01
› Сообщение #
Уважаемый Slon, а как сделать, чтобы сохранялись все предметы, находящиеся в зоне триггера? Надо для кампании - есть лагерь, откуда каждую миссию группа уходит на задание и куда возвращается, и хотелось бы, чтобы в следующей миссии было доступно все, что они туда приволокут (танк, машину ит.п.). Если не очень напряжет, дай пример, а?
|
› Среда
› 22.06.2011
› 16:27
› Сообщение #
adw8613,
тригер бесполезен, поставил логику Прикрепления:
Test_compain.rar
(9.0 Kb)
|
› Суббота
› 01.10.2011
› 20:07
› Сообщение #
Slon, разобрался.
При завершении первой миссии запускается скрипт: spez1 saveStatus "spez1state"; spez2 saveStatus "spez2state"; и т.д. для каждого члена отряда. Во второй миссии в редакторе ставим весь отряд, который начинал первую миссию. При начале второй миссии запускаем скрипт: spez1 loadStatus "spez1state"; spez2 loadStatus "spez2state"; и т.д. для каждого члена отряда. Все члены отряда появляются с тем же оружием и боеприпасами, с тем же уровнем здоровья, какие имели на конец предыдущей миссии. Чтобы погибшие в первой миссии не валялись здесь же, дальше пишем для каждого члена отряда: if (!alive spez2) exitwith {deleteVehicle spez2}; Вуаля! Все покойники исчезли с карты. Ну а объекты переносим из миссии в миссию, как в примере http://arma.at.ua/forum/76-6015-97345-16-1308682883. Возможно, есть более простые и изящные решеня, но так тоже работает. Может, еще кому-нибудь и пригодится. Добавлено (01.10.2011, 20:07) --------------------------------------------- Slon, снова возвращаюсь к этой теме. Как сделать перенос оружия, боеприпасов и техники из миссии в миссию в кампании, разобрались. А как сделать, если одна из миссий выполняется на другой карте? Чтобы через одну миссию отряд вернулся на свою базу на предыдущей карте и там все было так, как оставлено перед переходом на другую карту? Сообщение отредактировал adw8613 - Суббота, 01.10.2011, 20:07
|
› Воскресенье
› 02.10.2011
› 11:18
› Сообщение #
Просто. Сохраняй инфу, и передавай из миссии в миссию.
Загрузку статуса после проверки названия миссии http://community.bistudio.com/wiki/worldName Сообщение отредактировал Slon - Воскресенье, 02.10.2011, 11:21
|
› Воскресенье
› 02.10.2011
› 11:38
› Сообщение #
Не совсем понял ответ. В предыдущей миссии сохраняются объекты, прописанные в определеной зоне, в следующей загружаются в той же зоне. Но на новой карте этой зоны нет.
Добавлено (02.10.2011, 11:38) Quote (adw8613) Загрузку статуса после проверки названия миссии http://community.bistudio.com/wiki/worldName Ты как истинный спартанец говоришь лаконично. А о смысле фразы надо догадываться по ключевым словам. За ссылку на wiki спасибо, попробую разобраться, хоть и не знаю англицкого. |
› Воскресенье
› 02.10.2011
› 11:45
› Сообщение #
Объекты сохранённые таким образом
http://arma.at.ua/forum/76-6015-88956-16-1300905844 сами в новой миссии не появится, надо ставить скриптом. если в текущей миссии они не востребованы, нужно сохранить переменную в конце, какбы передать эстафету. ЗЫ. Quote (adw8613) Ты как истинный спартанец говоришь лаконично. а что ещё писать? на мой взгляд - всё понятно. |
› Четверг
› 24.11.2011
› 20:52
› Сообщение #
Спасибо, попробую.
Добавлено (24.11.2011, 20:52) |
› Вторник
› 29.01.2013
› 08:44
› Сообщение #
Почитав данную тему и посмотрев примеры понял что с помощью скрипта в конце миссии сораняется сотояние ботов находящихся внутри триггера, в следующей миссии с помощью инита прогружаются ранее сохранненые боты.
А вот если мне надо сделать сохраннение вполне определенных поименованных ботов которые составляют отряд игрока и допустим технику в которую они складывают оружие и что бы при старте миссии можно было оружие сохраненное из арсенала выбирать?! Подскажите плиз кто уже разобрался и если можно в форме примеров??? Сообщение отредактировал Panikaha - Вторник, 29.01.2013, 08:45
|
› Четверг
› 31.01.2013
› 20:02
› Сообщение #
adw8613
если ранцы и их содержимое не входит в статус, сохраняй их отдельно. Panikaha Тригер создаёт список находящихся в них ботов и состав зарание неизвестен. С именоваными ботами намного проще, просто сделай список. |
| |||
Чат сайта |