POWER4727 | Дата: Суббота, 06.07.2013, 01:25 | Сообщение # 1 |
Группа: Удаленные
| Приветствую, если возможно сделайте подробное видео по правильной компоновке миссий в кампанию и чтобы оружие, количество оставшихся солдат из твоего отряда и твое здоровье переходили на следующую миссию сохраняя изменения из предыдущей. Где можно все это прописать, желательно с брифингом и другими примочками, чтобы сто разных видео не создавать. Я в интернете ничего подобного пока не нашел, только устные объяснения и не всегда понятные. Спасибо.
|
|
| |
Fess | Дата: Воскресенье, 07.07.2013, 21:31 | Сообщение # 2 |
Добрый админ
Сообщений: 2339
Статус:
| Цитата (POWER4727) Приветствую, если возможно сделайте подробное видео по правильной компоновке миссий в кампанию и чтобы оружие, количество оставшихся солдат из твоего отряда и твое здоровье переходили на следующую миссию сохраняя изменения из предыдущей. Где можно все это прописать, желательно с брифингом и другими примочками, чтобы сто разных видео не создавать. Я в интернете ничего подобного пока не нашел, только устные объяснения и не всегда понятные. Спасибо. Привет! Боюсь, сейчас я смогу только текстом ответить на твой вопрос. Сам я знаком с этим только в теории, и никогда не пробовал создавать компании.
Для примера давай разберём небольшую компанию, автором которой является Lex90. Чтобы наглядно увидеть, как это делается, мы распакуем pbo файл с этой компанией программой PboView.
Там мы увидим: - Папку campaign - Файл config.cpp
Начнём с конфига. Цитата (config.cpp) class CfgPatches {
class Lex90_Missions { units[] = {}; weapons[] = {}; requiredVersion = 0.100000; requiredAddons[] = {"CA_Missions"}; }; };
class CfgMissions {
class Campaigns {
class KOLONNA { directory = "KOLONNA\campaign"; }; }; }; Здесь всё можно тупо скопировать, лишь только изменить KOLONNA на название своей папки, в которой у тебя будут распологаться файлы компании.
Теперь перейдем к папке campaign, она содержит: - Папку Missions - stringtable.xml - overview.html - description.ext - kolonna.jpg
Ну, тут уже проще! По крайней мере для меня тут есть знакомые файлы. Объясняю от простого к сложному:
kolonna.jpg - это картинка, которая будет представлять компанию в списке выбора миссий в игре. overview.html - этот файл как раз и отвечает за то, как будет выглядеть описание компании; написано все на обычном html, и вставлена тегом img картинка "kolonna.jpg" stringtable.xml - здесь этот файл содержит название компании; именно в этом файле прописываются названия для других локализаций.
Здесь указана только одна локализация - "родная", а так как других локализаций нет, то и у англичан и у немцев компания будет называться именно так, как прописал автор, т.е. < Колонна >. Добавить другие локализации можно так: Код <Project name="Operation_vus"> <Package name="Opetation_vus"> <Container name="Breefing"> <Key ID="STRD_KOLONNA"> <Original>Колонна</Original> <English>Column</English> <Russian>Колонна</Russian> <German>Säule</German> </Key> </Container> </Package> </Project> Далее смотрим description.ext
Код class MissionDefault { lives = -1;
lost = ; end1 = ; end2 = ; end3 = ; end4 = ; end5 = ; end6 = ; };
class Campaign { name = "$STRD_KOLONNA"; firstBattle = Intro; class Intro { name = "Start"; cutscene = intro.spritzisland;
firstMission = mission1; end1 = ; lost = ; class mission1: MissionDefault { end1 = mission2; lost = mission1; template = kolonna1.spritzisland; }; class mission2: MissionDefault { end1 = ; lost = ; template = kolonna2.spritzisland; };
}; }; Здесь всё должно быть понятно, если разобраться. lives = -1 означает, что ты можешь умирать сколько угодно раз $STRD_KOLONNA - это код, который шифрует название миссии из stringtable.xml , мы с тобой его рассмотрели уже.
Далее смотрим: Код class mission1: MissionDefault { end1 = mission2; lost = mission1; template = kolonna1.spritzisland; }; Тут у нас end1 - это если ты закончил миссию на первую концовку; если знаешь, в редакторе можно задавать Конец 1, Конец 2, Конец 3 и т.п. Так вот если игрок заканчивает миссию на эту концовку, то ему открывается mission2
Соответственно строчка lost = mission1; отвечает за то, что будет происходить при поражении. А именно - ему придется перепроходить ту же самую миссию mission1
template = kolonna1.spritzisland - здесь вместо kolonna1.spritzisland пишешь название папки со своей миссией.
Как делать одиночные миссии ты уже, надеюсь, должен знать. Теперь поговорим о переносе оружия из миссии в миссию.
Есть такая замечательная команда, называется она addWeaponPool . Она добавляет оружие как бы в такой мешок, из которого в последующих миссиях это оружие можно вытаскивать. Именно через эту фишку и делается перенос оружия через миссии.
Например: тебе надо сделать так, чтобы игрок в начале второй миссии начал игру с оружием, с которым он завершил первую миссию. Вполне логично. Тогда в конце первой миссии напиши такой код:
addWeaponPool [primaryWeapon player,1]; // Это сохранит в пул основное оружие игрока (автомат) addWeaponPool [secondaryWeapon player,1]; // Это сохранит оружие, которое занимает нижний слот (гранатомет)
Или давай сделаем проще и быстрее:
{addWeaponPool [_x,1]} forEach weapons player; // Эта команда добавит ВСЁ оружие игрока (бинокль и ПНВ тоже оружие) в пул {addMagazinePool [_x,1]} forEach magazines player; // Эта команда добавит ВСЕ патроны игрока в пул
Всё, мы теперь добавили все пожитки игрока пул, мы классные. Теперь лезем в следующую миссию и будем выдергивать оружие обратно.
Вот тут начинаются проблемы. Есть несколько команд, которые выдирают из пула оружие.
queryMagazinePool "M16" // вернёт количество магазинов для M16 в пуле queryWeaponPool "M16" // вернёт количество винтовок M16 в пуле
Эти команды для нас неудобные, потому что редко когда мы можем точно знать, какие винтовки и патроны во время миссии насобирал игрок!
fillWeaponsFromPool player // в зависимости от оружия игрока добавляет из пула ему магазины для этого оружия
Эта команда нам тоже не подходит, поскольку мы не знаем, какое оружие будет у игрока. Ведь мы должны узнать сначала оружие. Я больше не нашел команд, которые бы работали с юнитами. Ни одна в нашем случае не помогла. Вывод? А вывод такой, что придется нам хорошенько подумать, как же перенести оружие. И пока я писал эти строки, я, кажется, придумал.
Вот моя мысль: что если все оружие и все патроны игрока в конце миссии сложить в пул, затем уже в следующей миссии переложить из пула в какой-нибудь ящик, а затем из ящика уже снова вернуть игроку? Команды для такого маневра мне известны. Итак, продолжим.
Мы сложили оружие игрока в пул, теперь перекладываем в ящик: Надеюсь понятно, что придется где-нибудь в невидимом месте создать ящик и назвать его box?
clearWeaponCargo box; // очищаем созданный тобой ящик от оружия на случай, если оно там было clearMagazineCargo box; // очищаем ящик от патронов putWeaponPool box; // вываливаем пул в ящик removeAllWeapons player; // Забираем все оружие у игрока в начале миссии
{player addMagazine _x} forEach magazines box; // добавляем все магазины из ящика игроку {player addWeapon _x} forEach weapons box; // добавляем всё оружие из ящика игроку
Вуаля. Игрок появляется с оружием из первой миссии.
Создаешь таким образом несколько миссий, кладешь их в папку со своей компанией, прописываешь пути к миссиям в config.cpp , затем всю компанию запаковываешь при помощи PboView в .pbo файл. Затем запускаешь её как аддон к игре, как запускать аддоны поищи в интернете.
Бррр ну и понаписал я тут. Скажу ещё раз, что это только теория, на практике я это не применял.
|
|
| |
Fess | Дата: Воскресенье, 07.07.2013, 21:35 | Сообщение # 3 |
Добрый админ
Сообщений: 2339
Статус:
| Ну а теперь признавайся, сколько процентов из этой писанины тебе понятно Вообще, чтобы что-то узнать, рекомендую брать чужое и смотреть, как там всё устроено.
|
|
| |
POWER4727 | Дата: Вторник, 09.07.2013, 19:06 | Сообщение # 4 |
Группа: Удаленные
| Спасибо за ответ. Ну в принципе разобраться можно, а так конечно с видео было бы супер, я думаю по этой теме очень многие любители редактора армы были бы благодарны, так как именно по данным вопросам:наглядное создание брифинга, овервью, кампании, переноса оружия и здоровья из миссии в миссию в интернете грамотного видео на русском языке практически нет. Вот Lex90 молодец, у него очень много полезных видео уроков по брифингу и остальному, к сожалению качество видео хромает, плохо видно, что он там пишет, но в остальном супер. Я вобще нацелен поюзать редактор армы 3, но думаю там все также примерно. Ну вобщем создадим пару миссий, а там может и разберемся как все это дело правильно обстряпать, распакуем кампании других, где есть примеры которые меня интересуют, главное знать файлы где это нужно делать. Я чего сюда написал, мне понравились твои видео уроки про маячки и бомбы и видео четкое без лагов, все видно и понятно, ну может когда-нибудь сделаешь и про мою тему.
|
|
| |
Корней1997 | Дата: Пятница, 23.08.2013, 00:35 | Сообщение # 5 |
Группа: Удаленные
| Как миссию из компании добавить в редактор????
|
|
| |
Fess | Дата: Пятница, 23.08.2013, 12:54 | Сообщение # 6 |
Добрый админ
Сообщений: 2339
Статус:
| Цитата (Корней1997) Как миссию из компании добавить в редактор???? Распакуй pbo файл с компанией, затем войди в папку campaign и перетащи оттуда любую папку с миссией в то место, где хранятся файлы редактора. У меня это C:\Users\Admin\Documents\ArmA 2 Other Profiles\Fess25\missions
|
|
| |
Корней1997 | Дата: Среда, 28.08.2013, 05:30 | Сообщение # 7 |
Группа: Удаленные
| Это с программой pbo viev????????
|
|
| |
Fess | Дата: Среда, 28.08.2013, 12:13 | Сообщение # 8 |
Добрый админ
Сообщений: 2339
Статус:
| Цитата (Корней1997) Это с программой pbo viev???????? Совершенно верно. Или программой ArmAUnPBO
|
|
| |
Корней1997 | Дата: Суббота, 31.08.2013, 06:52 | Сообщение # 9 |
Группа: Удаленные
| Как сделать чтоб после редактирования одиночного задания, сделать так чтоб оно было в одиночной миссии??? Например, я изменил в редакторе миссию "Глаз за глаз" как сделать чтоб после редактирования она появлялась в одиночных заданиях, без стандартной?????
|
|
| |
Fess | Дата: Суббота, 31.08.2013, 12:01 | Сообщение # 10 |
Добрый админ
Сообщений: 2339
Статус:
| Цитата (Корней1997) Как сделать чтоб после редактирования одиночного задания, сделать так чтоб оно было в одиночной миссии??? Например, я изменил в редакторе миссию "Глаз за глаз" как сделать чтоб после редактирования она появлялась в одиночных заданиях, без стандартной????? Сохранить как -> одиночное задание (как-то так)
|
|
| |
Корней1997 | Дата: Воскресенье, 03.11.2013, 07:40 | Сообщение # 11 |
Группа: Удаленные
| Fess, можешь скинуть ссылку или объяснить как пользоватся модулем стройки. (Развернуть штаб, построить казармы, заводы и т.д)
|
|
| |