Корсары 1 создание модов: Action файлы

пятница, 14 июля 2017 г.

Action файлы


С помощью Action файлов происходит управление ходом всей игры, с их помощью  выполняются все основные операции,  смена диалогов, изменение внешнего вида и местоположения персонажа, вызов квеста, добавление и удаление предметов и т.д. вплоть до смены корабля.
Большинство Action файлов вызываются непосредственно из диалогов. Хотя некоторые из них запускаются из других файлов, например при выполнении квестов (файлы *.ql) или *.idf файлов (например, файлы запуска заставки смены флага вызываются из ..\Корсары\RESOURCE\WORLDS\brd_moves.idf).

Add expirience "количество"добавить экспу.

Delete expirience "количество"уменьшить экспу.

Add reputation "количество"увеличить репутацию.

Delete reputation "количество"снизить репутацию.

Add item "название предмета" "количество" – добавить предмет в заданном количестве. Сами названия предметов берутся из файла ..\Корсары\RESOURCE\WORLDS\Items.idf. В этом файле в поле name указано имя предмета для а-файла, поле filename содержит ссылку на изображение предмета, которое должно находится в папке ..\Корсары\RESOURCE\IMAGES\GOODS\ITEMS в виде файла tga формата 242х181 пикселей, 64К цветов. Поле description содержит ссылку на имена файлов описания предмета, которые находятся в ..\Корсары\RESOURCE\TEXTS\RUSSIAN\GOODS\ITEMS. В качестве описания предмета используется текст из обычного txt файла, а файлы с расширением nme содержат само название предмета. С помощью этой команды также выполняется пополнение бюджета игрока.

Delete item "название предмета" "количество"прямо противоположная команда, удаляет предмет из сундука или уменьшает количество денег.

Add goods "товар" "количество" команда добавляет товары или в трюм или изменяет вооружение корабля. Формат этой команды аналогичен формату команды Add item, но используется файл ..\Корсары\RESOURCE\WORLDS\Goods.idf, изображения берутся из ..\Корсары\RESOURCE\IMAGES\GOODS\GOODS\, причем файла tga должно быть два: например для досок это будут файл Planks138.tga 138х138 пикселей 64К цветов и Planks64.tga 64х64 пикселей 64К цветов. Файлы описаний должны находится в ..\Корсары\RESOURCE\TEXTS\RUSSIAN\GOODS\GOODS, их формат аналогичен формату item файлов. К слову, в Goods.idf определяются также и другие параметры товаров – их базовая цена, вес, а для пушек и пушечных зарядов еще и дальность стрельбы, время перезарядки и наносимый урон. Вот только для изменения этих параметров необходимо внести изменения и в файл ..\Корсары\RESOURCE\WORLDS\Cannons.idf.

Delete goods "товар" "количество" – команда удаления товаров из трюма. Другая группа команд – это команды для работы с персонажами игры.

Add person "персонаж" – позволяет присоединить персонаж, причем если у NPC есть корабль, то соответственно он присоединяется к эскадре игрока. Имя персонажа берется из папки ..\Корсары\RESOURCE\CHARACTERS.

Add officer "офицер" аналогичная команда для NPC, которые имеют офицерские способности. Дополнительно на все время присоединения офицера из денег игрока ежемесячно будет вычитаться офицерская зарплата, указанная в файле Add_officer_money.a.

Delete person "персонаж"удаляет персонаж, при этом его место положение становится неопределенным. Как его установить будет сказано ниже.

Delete officer "персонаж" – аналогичная команда для офицерского состава.

Ежемесячную зарплату можно изменить отредактировав файл Add_officer_money.a
Set_for person "персонаж" ship "корабль" – команда. Позволяющая изменить корабль персонажа по ходу игры (причем не только NPC, но и Real Player). Имя персонажа также должно быть в виде файла mtx, а название корабля и его характеристики должны быть записаны в файле ..\Корсары\RESOURCE\SHIPS\название_корабля.shp. Причем в качестве корабля может выступать любой из фортов, существующих в игре. Вот только рукопашная схватка с губернатором невозможна, так как для нее в игре используется совершенно другой файл анимации и файл модели персонажа ( надеюсь, что более подробное описание этих файлов, как и файлов текстур в скором времени также будет составлено).

Set_for person "персонаж" location "Остров.Место" – Команда установки местоположения персонажа. В качестве местоположения можно указывать следующие значения:
  • Tavern – таверна.
  • Store – магазин.
  • Shipyard – верфь.
  • Townhall – дворец.
  • Street – улица.
  • Ship/Onboard – на борту корабля игрока.
  • Ship – на борту собственного корабля персонажа (у персонажа должен быть корабль).
  • Fort – форт.
Любой, даже необитаемый остров имеет возможность установки значения ship, но установить местоположение персонажа в таверне, на улице, в форте, верфи, магазине или дворце можно только при наличии соответствующей модели на выбранном острове. Название острова берется из поля name файла ..\Корсары\RESOURCE\WORLDS\islands_x.idf. Если вместо сочетания "Остров.Место" указать «void», то персонаж становится недоступен, хотя если вызвать эту команду непосредственно из диалога с персонажем, он будет оставаться в месте диалога до тех пор. Пока не произойдет смена игрового пространства. Например, поговорив с NPC в таверне и указав для него после диалога location “void”, можно снова говорить с ним повторно до тех пор, пока Real Player не покинет таверну.

Set_for person "Персонаж" dialog "диалог" – команда смены диалога персонажа.

Set state "Х" Dlink "Диалог:NODE_фраза:LINK_вариант" – Команда так же связанная с диалогами, она позволяет разрешить (тогда Х=1) или запретить (Х=0) вариант ответа на фразу NPC.

Set_for person "Персонаж" item "название предмета" "количество" – команда, аналогичная Add item "название предмета" "количество", но предназначенная для передачи предметов NPC.

Set_for person "Персонаж" Playside "Нация" - установка стороны игры для персонажа. Эта команда используется при переходе персонажа от одной нации к другой. Все варианты наций перечислены в поле name файла ..\Корсары\RESOURCE\WORLDS\nations.idf.

Set_for person "Персонаж" Model "Модель" - команда, позволяющая изменить внешний вид и анимацию персонажа игры. Файлы моделей перечислены в ..\Корсары\RESOURCE\WORLDS\anim_types.idf.
ஜ═════════ஜ۩۞۩ஜ═════════ஜ
Команды запуска квестов позволяют начать выполнение квестовых заданий, записанных в файлы *.ql, расположенные в папке ..\Корсары\RESOURCE\QUESTS.

Launch story_line "Имя файла" – запуск квестовой линии. При этом внутренний указатель ссылки квестов (а в одном файле находится как правило несколько квестовых заданий) устанавливается на первую запись в файле, которая должна быть типа «void» (о квестах – чуть позже).

Set_for story_line "Имя файла " quest "Имя квеста" – команда выбора определенного квеста из сюжетной линии.

Close story_line "Имя файла" – команда, прекращающая проверку выполнения квестов указанной сюжетной линии и закрывающая соответствующий файл.

ஜ═════════ஜ۩۞۩ஜ═════════ஜ
Дополнительно в action файлах применяются еще несколько разных команд.

Open location "Остров.Street" – команда для открытия на карте соответствующего острова. Название острова берется из поля name файла ..\Корсары\RESOURCE\WORLDS\islands_x.idf.

Set_for location «Остров.street» Playside "Нация" - команда, позволяющая сменить национальную принадлежность указанного острова.

Launch Interface "Town" String "Помещение" - Эта команда используется для включения интерфейса верфи или магазина.

Add record "Запись" – команда добавления записи в журнал. Текст записи находится в файле Запись.rcd в папке ..\Корсары\RESOURCE\TEXTS\RECORDS.

MESSAGE BOX String "строка" - Команда выводы строки сообщения.

Play engine_movie "Имя файла" – команда проигрывания файла анимации с расширением ani и находящемся в папке ..\Корсары\RESOURCE\DESC.

Close game "Имя файла" - последняя команда игры. Игра заканчивается с проигрыванием указанного ani файла.

Total Commander
Все Action файлы имеют расширение ".a" и находятся в папке ..\Корсары\RESOURCE\ACTIONS Для их редактирования потребуеться action_editor, скачать его можно здесь
Помещаем его выше указанную папку, все команды набираются в командной строке, для удобства можно пользоваться Far Manager-ом или Total Commander-ом.

Для того чтобы декодировать все файлы в папке - команда:
rcodec d *.*
Для того чтобы декодировать определенный файл в папке, к примеру, add_medallion.a - команда:
rcodec.exe d add_medallion.a
Для того чтобы скомпилировать обратно все файлы в папке - команда:
rcodec.exe c *.*
Для того чтобы скомпилировать определенный файл в папке, к примеру, add_medallion.a  - команда:
rcodec.exe c add_medallion.a