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

воскресенье, 16 декабря 2018 г.

Чит коды для игры Корсары 1



Читы! Ни когда не думал о том, что начну в пользоваться читами, но с другой стороны, ведь они изначально предназначались не для игроков, а для разработчиков, которые с их помощью тестировали игру и отлавливали ошибки, ведь намного легче проверить игру, когда можешь за считанные секунды перенестись на высоту птичьего полета и рассмотреть нужный уровень, под нужным углом без необходимости обходить его вдоль и поперек, чем собственно я сейчас и занимаюсь.

Для того чтобы ими воспользоваться нужно, находясь в море нажать вместе [ Ctrl ] + [ Z ] и напечатать один из нижеприведенных кодов:

have life - корабль починен, с полной командой

expu mne - повысить опыт

deneg day - повысить запас денег

get me magic  - повысить повреждения от орудий

make screen shots - убрать повреждения от орудий

now i flying - нажмите [ Ctrl ] + [ F ] чтобы перемещать камеру

teleport - нажмите [ Ctrl ] + [ L ] чтобы переместить корабль к камере

fire from camera  - стрелять из камеры клавишей

четверг, 22 ноября 2018 г.

Оси координат в DEF

Давно хотел написать эту памятку, так как оси координат в 3D max и утилиты редактирования def файлов разняться, а при зеркальном отображении моделей кораблей при моделировании вообще начитаться путаница.

воскресенье, 16 сентября 2018 г.

Изменение погоды

Долго не писал, даже не знаю с чего начать. Хотя игра совершенно не страдает, в отличии от вышедших следующих частей ответами боцмана на команды капитана, решил добавить еще пару штук таких, как "Право руля!" и "Лево руля!",  но к сожалению, реализовать такую модификацию не получается т.к. не зависимо от заданного вращения корабля по часовой стрелке или против часовой стрелки выполняется одна и та же операция проигрывание звука скрипа корабельных балок. Потом была попытка добавить новый остров в стиле легенд, как острова Ключи уголовника в фильме "Остров головорезов"
Проблема отражения острова на мине карте, которая
задается в неизвестном формате в папке DGLMAPS
В конечном итоге решил вернуться к составлению ресурс пака, а тут уже без изменения погодных условий не обойтись, поэтому решил записать небольшой мануал, чтобы не забыть какой параметр на что влияет, и так: в игре 19 погодных условий, которые прописаны в ..\Корсары\RESOURCE\weather.ini
Каждое погодное условие обозначается __THE__NEXT__TIME__PERIOD__
Ниже идут параметры:
angle 0,12.0 - Угол над горизонтом для Солнца.
fog_color 255,255,255 Кодирование  цвета тумана, значения заданы при помощи RBG (Красный, Синий, Зеленый) от 0-255
fog_max 0x0 Видимость при тумане, значение заданы шестнадцатеричной системе HEX, ( ff = 255)
Перевод из DEC в HEX
fog_density 0.999 Плотность тумана, насколько густой туман нужно получить
ambient 0.6 Мастер освещения объекта, при 0.0  получаются затемненные корабли!

ambient 0.0
ambient_spectrum 255,255,255 Управление цветом обетов в тени и цветом оставленного кораблем кильватера, значения заданы при помощи RBG (Красный, Синий, Зеленый) от 0-255
direct_spectrum 255,255,155 Цвет солнечного блика оставляемого на объектах, значения заданы при помощи RBG (Красный, Синий, Зеленый) от 0-255
specular 0.4 Яркость солнечного блика оставляемого на объектах
contrast 1.0 Контрастность
Дальше идут параметры для неба:
sky_speed 0.0 Скорость перемещения облаков на небе
sky_fog_near 0 Приближенность тумана для неба, значение заданы в шестнадцатеричной системе HEX
sky_fog_far 0 Удаленность тумана для неба, значение также заданы в  шестнадцатеричной системе HEX (смотреть таблицу выше)
sky_color 255,255,255 Изменяет все небо на заданный оттенок, значения заданы при помощи RBG (Красный, Синий, Зеленый) от 0-255
sky_tile 0.002 Количество плиток текстуры неба, 0,001 - 0,009 в зависимости от текстуры
Чем больше значение, тем чаще повтор текстур
sky_specular 30,30,30 зеркальное освещение от солнца на небе, "оранжевые закаты"
sky_bright_area 1.0 яркие солнечные блики на небе
Дальше идут параметры для волн, при помощи которых можно создать настоящий шторм
sea_speed 0.0003 Скорость течения воды
sea_amplitude 0.0002  Высота волны, получилось багги на 0,00236
sea_frequency 50 Расстояние между волнами. Чем выше число - ближе расстояние
water_transparency 724.0 "Прозрачность воды", способная видеть сквозь воду
Надо будет сделать модификацию к словам Ульссона:
"Взгляни как-нибудь в ясную погоду за борт - и ты увидишь,
сколько кораблей покоится на дне этой бухты."
sea_tile 2.0  точно так, как плитка для неба
sun_size 200.0 размер солнца
moon_size 4000.0 размер луны
moon_angle 12.0 угол над горизонтом для луны
flags 0 Меняет положение солнца, справа по борту значение - 0 и значение 1 - слева по борту
Далее идут текстуры для солнца, луны, воды и неба
texture_sun sun_day.tf Текстура солнца
texture_moon moon_pl.tf Текстура луны
texture_sky sky_overcast.tf Текстура неба
texture_sea sea_day.tf Текстура моря
wind_speed 0.95 Скорость ветра

воскресенье, 15 апреля 2018 г.

Написание квестов


Файлы квестов отличаются от action файлов главным образом тем, что их выполнение происходит не непосредственно после вызова, а в течении длительного времени. Кроме того, квесты, входящие в разные сюжетные линии могут выполняться параллельно. Формат записи отдельных квестов в файл сюжетной линии *.ql, расположенный в папке ..\Корсары\RESOURCE\QUESTS должен быть построен так, чтобы между отдельными квестами был пустой квест «void», с него же должен начинаться файл сюжетной линии и им же заканчиваться. То есть общая структура файла сюжетной линии должна быть следующей:

void
Квест_1
void
Квест_2
void
-
-
-

void
Квест_N
void

Сама структура отдельных квестов следующая:

Команда
Begin
End

В качестве команды возможно использование следующих указаний:

No Commands – для квестов типа “void” указывает отсутствие команды.
No Condition – Отсутствие задания квест выполняется в любом случае.
Obtain Goods «товар» количество - Проверить наличие указанного товара в требуемом количестве.
Obtain Expirience количество – Проверить количество экспы.
Obtain Item «предмет» количество – проверить наличие предмета в заданном количестве. 
Obtain Rank ранг - проверить ранг. 
Obtain Reputation репутация - проверить репутацию.
Kill Person «персонаж» - квест будет считаться выполненным только в случае уничтожения указанного персонажа.
Escort Person «персонаж» Location «Остров» Onboard - доставить персонаж на указанный остров. Если у персонажа нет корабля, он присоединяется в качестве пассажира, если же корабль есть, то персонаж будет присоединен к флотилии игрока.

Секция Begin практически никак не используется. Из нее можно запускать action файл вне зависимости от результатов выполнения задания или проверки.

В секции End указывается action файл, который будет выполнен в случае выполнения квеста.

суббота, 24 марта 2018 г.

Создание нового персонажа

Новый персонаж - Ученный
В прошлый раз мы остановились на том, что нам потребуется ученный способный понять зашифрованные записи Альбрехта Цальпфера. Теперь нам предстоит его создать, приступаем
1. Находим файл citizen_dr.cff
в папке ..\Корсары\Resourse\Models\Characters дублируем его и копию переименовываем в citizen_dr_doc.cff
2. Отрываем citizen_dr_doc.cff обычным блокнотам, лично я пользуюсь Notepad++
Находи и переименовываем
  • cityzen_arm_bot_02.tga в cityzen_arm_bot_D2.tga 
  • cityzen_arm_top_00.tga в cityzen_arm_top_D0.tga
  • cityzen_foot_01.tga в cityzen_foot_D1.tga 
  • cityzen_leg_bot_03.tga в cityzen_leg_bot_D3.tga
  • cityzen_leg_top_02.tga в cityzen_leg_top_D2.tga
  • cityzen_body_03.tga в cityzen_body_D3.tga
*это биннарик, при задании новых текстур важно сохранить такую же длину имени какая была (количество символов)
3. Далее, в папке ..\Корсары\Resourse\Models\Characters находим файл doc.cff отрываем его и смотрим какие текстуры нам потребуются.
Находим их в папке ..\Корсары\RESOURCE\TEXTURES дублируем и копии  переименовываем
  • doc-Arm-bot - копия.tf в cityzen_arm_bot_D2.tf
  • doc-Arm-top - копия.tf в cityzen_arm_top_D0.tf
  • doc-Foot - копия.tf в cityzen_foot_D1.tf
  • doc-Leg-bot - копия.tf в cityzen_leg_bot_D3.tf
  • doc-Leg-top - копия.tf в cityzen_leg_top_D2.tf
  • doc-Body - копия.tf в cityzen_body_D3.tf
*какие текстуры к каким частям тела относятся мы говорили в позапрошлой статье "Как можно переодеть NPC"
4. Теперь нам осталось подключить к нашему персонажу анимацию.

IDF_item_maker
Запускаем IDF_item_maker, отрываем файл anim_types.idf  который находящийся в папке ..\Корсары\RESOURCE\WORLDS\ Создаем новую строчку и задаем в ней значения name: citizen_dr_doc.cff class: 7 anim_file: drink.idf

 Всё! Новый персонаж готов.

четверг, 22 марта 2018 г.

Создание нового предмета

Новый чертеж Альбрехта Цальпфера
Альбрехт Цальпфер один из крутых офицеров, который присоединяться к команде в Хайроке до первого захода в Тендэилз, по окончанию  знакомства  дарит нам чертежи которые никак нельзя использовать

Изображение находиться по адресу:
..\Корсары\RESOURCE\IMAGES\GOODS\ITEMS\svitok.tga
описание в:
..\Корсары\RESOURCE\TEXTS\RUSSIAN\GOODS\ITEMS\Sketches.txt
название:
..\Корсары\RESOURCE\TEXTS\RUSSIAN\GOODS\ITEMS\Sketches.nme

В редакторе SDEditor модифицировать ещё проще:

SDEditor
Когда начинал, модифицировать внешний вид Пинаса, не думал, что получиться так красиво, этот неожиданный результат привел к принятию решения задать ему уникальные характеристики и ввести в игру под крафт (да, в игре появиться крафт), вот тогда я и вспомнил про эти чертежи.
Старый текст отправил в корзину и заменил на новый: "Это чертеж модернизации корабля, подаренный вам Альбрехтом Цальпфером. На потрепанном листе бумаги на первый взгляд приведены бессмысленные ссылки на алхимические реагенты и астральные проекции, без человека способного понять все эти формулы вам не обойтись."

пятница, 18 августа 2017 г.

Переодеть NPC

Решить написать небольшой мануал, как создать новых персонажей переодев их, наподобие ученный с национальной академии наук. И так, в директории ..\Корсары\Resourse\Models\ находятся все файлы моделей используемых в игре. Модели персонажей здесь же, в папке "Characters". Если открыть файл модели в любом текстовом редакторе, то в самом начале будет список текстур, которые данная модель использует. Теперь мы сможем "переодеть" наших NPC.

Поясню, как это сделать. Допустим, вам надоел красный мундир английских солдат и вы хотите заменить его на элегантный черный сюртук.

Ищем в директории ..\Корсары\Resourse\Models\Characters\ модель английского солдата, например Soldier_Eng.cff, открываем ее Notepad-ом и смотрим - какие текстуры здесь используются. Ищем текстуры, отвечающие за верхнюю часть костюма. В нашем случае это будет: "sol-eng-arm-bot.tga" (нижняя часть рук), "sol-eng-arm-top.tga" (верхняя часть рук), "sol-ehg-body.tga" (тело). Кто хоть чуть-чуть шарит в английском поймет сразу: "arm" - рука, "top" - верх, "body" - тело, и т.д. Теперь идем в директорию "Textures", где как мы помним и лежат все картинки. (Не забудьте, что вместо "tga" они имеют расширение "tf"). Ищем файлы "sol-eng-arm-bot.tf", "sol-eng-arm-top.tf" и "sol-ehg-body.tf". Стираем их или перемещаем в другое место. Теперь у английских солдат вообще не окрашено тело и руки. Если сейчас зайти в игру - они будут белого цвета. Ищем в в этой директории файлы:

Текстура: shp_bl_gr_Body

shp_bl_gr_arm_bot.tf - черный рукав сюртука - низ,

shp_bl_gr_arm_top.tf - черный рукав сюртука - верх,

shp_bl_gr_Body.tf - черный сюртук - тело.

Это части черного костюма, что надет на хозяине одной из верфей. Копируем их в отдельную папку, и переименовываем в те, что используются моделью английского солдата, т.е.:
shp_bl_gr_Body.tf - в sol-ehg-body.tf;

shp_bl_gr_arm_bot.tf - в sol-eng-arm-bot.tf;

shp_bl_gr_arm_top.tf - в sol-eng-arm-top.tf

В результате получаем файлы, содержащие в себе части черного сюртука, но называющиеся, словно это части красного английского мундира. В чем фишка ясна? Копируйте эти файлы обратно, в папку ..\Корсары\Resourse\Texures

Теперь все английские солдаты будут одеты в черный сюртук.

пятница, 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

воскресенье, 22 января 2017 г.

EAX - Корсары

Думал, что игра "Корсары: Проклятие дальних морей"  за столько лет всеми хорошо изучена, а нет. Так, к примеру, продолжают возникать вопросы на которые ни могут найти ответ, а именно, что делает параметр EAX? Этого параметра в утилите настройки игры (сonfig.exe) нет, хотя он прописан в самом файле engine.ini, для редактирования которого и писалась эта утилита.

EAX (Environmental Audio Extensions) - это аудио система позиционирования,  при помощи которой создается раздельные источники звука для каждого существа в игре, получая, таким образом, звуки выстрелов и голоса в разных местах 3D-мира.
Для того чтобы её включить нужно, в файле engine.ini найти строчку

EAX 0

заменить 0 на 1. Сохранить и запустить игру.

Звук вокруг тебя
*Конечно, если у вас ноутбук изменений вы не услышите, но если у вас 8-и канальная звуковая карта, то погрузитесь в удивительный мир звуковых эффектов окружающей среды, этой замечательной игры.

среда, 28 декабря 2016 г.

Внутренний редактор

На игровых форумах можно встретить информацию о существовании внутреннего редактора в первых Корсарах. Для того чтобы его включить, надо зайти в директорию, где лежат файлы игры, открываем файлик enigne.ini. Первая строчка выглядит, как CORE_MODULE core.

Меняем ее на CORE_MODULE tools_launcher Сохраняем и выходим. Теперь, при запуске игры появится меню редактора. Выглядит оно будет так:
Пункт первый, CHARACTER EDITOR - редактор персонажей. В колонке слева - имена всех персонажей игры (в их числе и некто Николас Шарп). Кликнув на любом из них, получаем полную информацию, которую и редактируем по своему усмотрению.
CHARACTER EDITOR
NAME - имя персонажа. Если будете писать на русском, букв видно не будет - ничего страшного, в игре все будет нормально.
FILE NAME - имя файла. Лучше оставить, как есть.
SET NATION - выбрать национальность (высвечивается в колонке справа):
  • england - англичанин,
  • pirat - пират,
  • france - француз,
  • spain - испанец
  • america - Вот america лучше НЕ ВЫБИРАТЬ! Может привести к глюку.
Если персонаж имеет корабль, над ним поднимется соответствующий флаг.
SET RELATION - выбрать отношение:
  • neutral - нейтральный,
  • ally - союзник,
  • hostile - враждебный.
SET CLASS - выбрать класс персонажа. Не знаю, как это влияет на игру.
SET 3D MODEL - выбрать внешний вид. Доступные модели появляются в колонке справа. Учтите, что поза перса напрямую зависит от его места нахождения. Согнутого над прилавком или сидящего человека нельзя заставить ходить по улице. Точно так же, как и стоящего не посадить за стол. Модели специализированных NPC: губернаторов, трактирщиков, продавцов магазинов, хозяев верфей и стражников могут находится только в соответствующих им местах - дворцах, тавернах, магазинах и т.п.

Хайрок
Хайрок

Для удобства создания персонажей при написании квестов я создал специальный справочник, в котором собрал все модели которые есть. Как им пользоваться? Очень просто
К примеру, с персонажам которому присвоена модель Pirat или Pirat4 можно встретиться ни только в таверне, но и на улице, а вот с персонажем с моделью Seaman можно встретиться только в таверне т.к. модели для улицы у него нет


SET CURRENT DIALOG - выбрать диалог, который включится при обращении к персонажу. (Кстати, если будите писать свои диалоги рекомендую ознакомиться с этой статьей). Напомню только, что имя файла диалога должен начинаться так же, как и имя файла персонажа. Т. е. если файл персонажа называется adam mullen.mtx , то и имена файлов всех его диалогов должны начинаться с adam mullen_ , например adam mullen_common.d , adam mullen_hired.d и т.д. В противном случае, диалог в редакторе отображаться не будет).
SET SHIP - выбрать корабль, т.е. сделать персонажа капитаном любого из существующих в игре кораблей. Список всех кораблей появится справа.
SET SPEECH SET - выбрать озвучку персонажа. Эта опция не работает, и перс всегда будет говорить своим родным голосом. Хотя, хе-хе... Никто не мешает вам найти соответствующий wav -файл в директории
..\Корсары\Resurce\Sounds\
и переозвучить его.
SET ADDRES - назначить место. Сначала появится меню, предлагающее выбрать место нахождения персонажа в городе:
  • void - персонаж будет спрятан до тех пор, пока его не вызовет к жизни специальный скрипт (например, именно так в таверне Хайрока появляется Пит Дальтон);
  • on board - на борту корабля в гавани;
  • outdoor - шляться по улицам (или стоять у дверей, если выбран стражник);
  • tavern - в таверне (трактирщик у камина, сидячие NPC за столами, плюс еще одного стоячего можно поставить в глубине заведения);
  • store - в магазине (только для продавцов);
  • shipyard - за столом в верфи (только для... ну, вы поняли);
  • townhall - во дворце (только для губернаторов, плюс одного стоячего можно поставить рядом у стола);
  • reflection - дословно отражение, не знаю, как это;
  • fort - назначить перса командовать фортом.
Затем появится второе меню, где вам предстоит выбрать конкретный остров, где появится персонаж (если только до этого вы не выбрали void).
SET CHARACTER IS - выбрать тип персонажа: NPC, игрок-человек или неубиваемый NPC. Последнего не советую назначать капитаном вражеского судна.
SET OFFICER RANK - выбрать ранг.
  • No officer rank - Нет ранга. Такой перс может быть капитаном;
  • First mate - Первый помощник;
  • Boatswain - Боцман;
  • Master purser - Казначей;
  • Master gunner - Канонир;
  • Surgeon - Судовой врач.
Далее идет табличка умений персонажа: навигация, починка, коммерция, меткость, перезарядка, координация, фехтование, защита и абордаж. Учтите, что при навигации больше 50 корабль начинает носиться как бешенный и валится на бок при поворотах, а на 200 вообще начинает глючить и дергаться. Остальные значения можно выставлять хоть на 900.
Закончив, кликаем мышью на SAVE CURRENT в верхней строчке, а затем и на EXIT. Если все сделано корректно, ваш обновлённый персонаж появится в игре, которую для верности лучше начать заново. Если же перс не объявился на заданном месте, то это значит, что допущена ошибка. И скорее всего, вы напутали с адресом : например пытались поместить губернатора за стол в таверне.

суббота, 17 декабря 2016 г.

Решение проблем со шрифтами

Когда записывал видео для прошлой статьи про создание своих диалогов для персонажей, вновь столкнулся с проблемой шрифтов. Этот дурацкий Arial в пол экрана, портит все чтение диалогов, на которых и построена игра, из-за неправильного индекса кириллицы в шрифтах "Log-Russ" и "Log-russ-Italic", которые устанавливаются вместе с игрой.
Можно конечно переустановить оригинальные шрифты, а можно поставить вместо них другие, вот об этом мы сегодня подробнее и поговорим
Какие шрифты будут отображаться в игре отвечает файл fonts.ini, который находиться в паке ..\Корсары\RESOURCE\INI\ Это простой тестовый файл, который можно отрыть обычным Блокнотом


2 - 5 строчка: Это для английской версии игры, которая издала Bethesdа
8 - 11 строчка: Тоже самое, только уже для русской версии игры, которую у нас издала 

параметр logbook_italic


Запись в журнале
Параметр для задания шрифта записи в журнале
Описание встречи
Параметр для задания шрифта события в отрытом море

воскресенье, 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). Для наглядности, перенесем эти данные на карту.

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