Корсары 1 создание модов: Туториалы

воскресенье, 11 декабря 2016 г.

Написание диалогов

Как-то раз предложил Дориусу написать квест к игре "Корсары: Проклятие Дальних морей" то что он прислал было похоже на то, что он рассказывает про свои приключения в клубе, на что я написал шуточный мини квест, а точнее сказать создал персонажа, который олицетворял бы его самого.
 И так... Вечер. Тортуга. Таверна.



Если вы вдруг захотите написать для игрового персонажа свой диалог первое, что надо знать, диалоги хранятся сразу по двум адресам:
..\Корсары\Resourse\Dialogs\ и в папке ..\Корсары\Resourse\Ini\Dialogs\

т.е. если вы сохранили диалог в одной директории, то его нужно схоронить и в другой

Что же представляет собой диалог? Это текстовый файл с расширением d. Начинается он всегда с имени того персонажа, который его использует. То есть, например, диалоги с Дорусом всегда будут начинаться с dorius_
Открыть файл диалога можно при помощи простого блокнота, лично я пользуюсь редактором  Notepad++ Далее буду пояснять на примере:
Spoiler:
Как видите, диалог состоит из вполне нормального текста и неких загадочных команд, вроде <N node_1>. Вот с нее и начнем
Скобки < и > открывают и закрывают все команды и текст. Забудете поставить открывающую или закрывающую скобку - и игра игнорирует текст или команду между ними. N - означает, что говорит NPC, в нашем случае это Дориус.
node_1 - условное обозначение, вроде как номер этой фразы Дориуса. А все вместе обозначает, что сейчас пойдет фраза номер один, причем произносит ее Дориус. Далее, опять же в скобках, идет сам текст - что собственно он говорит. Причем, чтобы игра поняла, что это уже не скрытая команда, а текст, который надо показывать, в начале стоит латинское T.
После текста, который произносит NPC, идут ответы (или вопросы) игрока, т. е. Николаса Шарпа. Команда, запускающая ответ Николаса после первой фразы Дориуса в данном случае выглядит, как: <L link_1,1,1,node_2>. Большое L означает, что это ссылка - т. е. выбрав этот вариант ответа, игрок перейдет к соответствующему продолжению диалога.
Ну а node_2 - это идентификатор фразы, которая прозвучит в ответ на реплику Шарпа. В данном случае, имеется ввиду, что кликнув на текст после этой команды, игрок увидит фразу, помеченную, как node_2. Если же в конце этой команды вместо node_ поставить exit, то выбрав такой вариант ответа, Николас закончит разговор.
* Обязательно в конце ответа нужно поставить знак препинания: точку (.)  вопросительный  (?) или восклицательный знак (!) для того чтобы реплика ответа отображаться полностью
Кроме тестового редактора, можно воспользоваться SDEditor-ом (Редактором Корсаров).


   1. Имя файла персонажа в папке ..\Корсары\RESOURCE\CHARACTERS\
   2. Название диалога
   3. Название реплики короную говорит персонаж
   4. Сам текст реплики NPС
   5. Название ответа
   6. Текст ответа Главного героя
   7. Идентификатор фразы, которая прозвучит в ответ на реплику
Именно на основе таких команд и строится любой диалог в игре. Как видите, не так уж и сложно.

суббота, 27 августа 2016 г.

Корсары 1: Экспорт - Импорт товаров

Буэнос диос!
Хайрок - магазин
 Для того, чтобы на новом острове начал работать магазин, кроме установке продавца в нем, его ещё нужно заполнить товаром. Примечательно то, что в игре можно добавить и изменить абсолютно любой товар.
Каждый файл с расширением *.nme находящийся по адресу ..\Корсары\RESOURCE\TEXTS\RUSSIAN\GOODS\GOODS\ содержит в себе название товара, например

Название товара: Кофе
Название товара: Кофе
В этой же папке, файл с таким же именем, но с расширением *.txt содержит его описание

Описание товара - Кофе
Описание товара - Кофе
файлы с расширение .gst указывают, какой товар считается на острове импортом, а какой наоборот экспортом   ..\Корсары\RESOURCE\IMAGES\GOODS\ISLANDS\

Имя файла соответствует названию острова
Имя файла соответствует названию острова

сами же изображения  товаров храниться в папке ..\Корсары\RESOURCE\IMAGES\GOODS\GOODS\ в формате tga

Изображение товара
Изображение товара

четверг, 18 августа 2016 г.

Корсары 1: Координаты Островов

Новая карта архипелага
Новая карта архипелага
Давно хотел переместить действие в игре "Корсары: Проклятие Дальних морей" в Карибское море. Сама карта архипелага, точнее сказать её изображение, находиться по адресу
..\Корсары\RESOURCE\IMAGES\MAP\RUSSIAN\map_open.tga

Карта архипелага со сеткой координат
Карта архипелага со сеткой координат

Для того, чтобы корабль мог зайти порт нужно указать координаты которые нахохотаться  в текстовом файле по адресу ..\Корсары\RESOURCE\WORLDS\islands_x.idf, его можно отрыть любым текстовым редактором (например: Notepad), но удобнее всего редактировать утилитой SDEditor, которую свое время выпустил клан ПНВ, кроме этого при помощи неё можно изменять название островов, их описание и т.д.
 
SDEditor - Редактор островов
SDEditor - Редактор островов
К примеру, остров Хайрок находиться в квадрате 230 т.е. 11 строк сверху и 11 столбцов слева, так как я для удобства подсчета ввел счет с единицы, а не с нуля, то ещё надо отнять один (11х20+11-1).
Таким образом можно менять местоположение любого островов или создать новый.

среда, 23 марта 2016 г.

Карта встреч кораблей в Корсарах

Это информация будет интреснтна  тем, кто хочет сделать свой мод к игре или заново перепройти Корсаров.

На YouTube встретил свежие записи прохождения игры "Корсары: Проклятие Дальних морей" и видеообзоры к ней, все как один критикуют её за то, что на карте постоянно случайным образом генерируются встречи кораблей, что тормозит прибытие корабля в заданный порт.

На самом деле в игре нет случайной генерации встреч кораблей, все встречи определены заранее и заданы в текстовом файле. Прелесть в том, что этот файл можно отрыть обычном блокнотом (лично я пользуюсь Notepad++) и откорректировать его по своему вкусу.

Файл называется mapparam.ini находиться в папке ..\Корсары\RESOURCE\INI\

Чтобы подкорректировать встречи с пиратскими кораблями спускаемся на строчку 113 (PatternPirate). Для наглядности, перенесем эти данные на карту.

Карта встреч Пиратских кораблей


Чтобы изменить встречи с Французскими кораблями нам нужны строчки с 131 по 14
Карта встреч Французских кораблей
 Чтобы изменить встречи с Испанскими кораблями нам нужны строчки с 148 по 162

Карта встреч Испанских кораблей
 Чтобы изменить встречи с Английскими кораблями нам нужны строчки с 165 по 179

Карта встреч Английских кораблей
Для того чтобы расшифровать эти цифры нам нужны строчки с 91 по 111 (MapPatterns).
К примеру:
Цифра 3 (три) - это pattern3 = 1,5,5,1,4,5

Первая цифра - это количество торговых кораблей
Вторая цифра — это  максимальный класс торговых суден
Третия цифра — это минимальный класс торговых суден
Четверая цифра — это количество военных кораблей (кораблей сопровожения)
Пятая цифра —  это максимальный класс военных кораблей
Шестая цифра — это минимальный класс военных корабля
т.е. один торговый корабль 5 класcа с одним кораблем сопровождения 4 или 5 класса
С этим файлом есть не большой нюанс. Эти же данные дублируются в файле mapparam.cpy который находиться в этой же папке. Разница между ними в том, что при запуске новой игры данные с mapparam.cpy автоматически преносяться в mapparam.ini, а при запуски сохранений данные считываются сразу с mapparam.ini, и перенос данных с файла mapparam.cpy не происходит.
Всё. Зная это можно задать коридоры, идя по которым не произойдет ни одной встречи,  прибытие в нужный порт пройдет без пауз или же к примеру, можно приставить к торговцу  три - четыре Мановара, как корабли охраны ;)