Перейти к содержанию

Кое-что о скриптах.


Gentle Giant

Рекомендуемые сообщения

Опубликовано

Кое-что о скриптах.

 

Все зависит от того, для каких целей они нужны:

 

1. Если для игры в целом (например, для нового прототипа), тогда нумерация должна начинаться с 01000.

Стандартно, как правило: скрипты прототипов и некоторых уникальных предметов (mob) - от 28000 до 30302, скрипты модуля Арканум - 01000 до 03088, также от 05000 до 27999.

Такие скрипты паковать нужно в arcanumX.dat, где X - любое число строго больше 0, нумерация dat'ов должна идти подряд.

 

2. Если же для модуля Арканум, тогда нумерация скриптов начинается опять же с 01000. Паковать также как в пункте 1. Но! Есть три стандартных скрипта: 00997EndSlides, 00998PCDeath, 00999Credits - слайды, на смерть и титры, эти паковать в arcanum.pacthX, X - число больше или равно 0, нумерация patch'ей опять же должна идти подряд. Можно конечно использовать и скрипты с нумерацией меньше 00997, но тогда возможно будет ряд трудностей (см. "Важное замечание").

 

3. Если это ваш новый модуль, например некий TestMod, тогда нумерация скриптов идет опять же с 00001 по 00996, плюс три стандартных скрипта любого модуля: 00997, 00998, 00999. Паковать скрипты либо в сам мод, в TestMod.dat, либо в patch файлы к нему, например, TestMod.pacth0. В принципе можно использовать и скрипты с нумерацией от 01000, но тогда их придется паковать в arcanumX.dat или же хранить в папке '\data\'.

 

 

Важное замечание. Есть одна проблема: скрипты с нумерацией с 00001 по 00996 работают только с эффектами из gameeffect.mes, а нумерацией от 01000 - только с effect.mes. Тоже вероятно относится и к другим правилам с префиксом "game".

 

 

MOB'ы и картография.

 

mob (map object - объект на карте) - некий "наследник" прототипа помещенный на карту, карта для него - директория, где находится файл.

Правило:

Если поместил на карту, например, NPC эльфа, то в папке карты после сохранения добавился * один * mob. Но! Дата модификации по каким-либо причинам может сменится и других mob'ов . В этом примере: "предок" mob'а - прототип всех эльфов NPC, сам же mob - это "наследник", содержащий все ваши модификации персонажа и координаты X и Y на карте.

 

Теперь повторюсь.

 

Теория:

Как манипулировать с картой 'Arcanum1-024-fixed' и в результате получать малый размер измененной карты.

Вся петрушка - уменьшение размера вашего "дистрибутива", конечного мода/адд-она.

 

Типы файлов карт (имя - примерный/обычный размер - назначение):

1. Штучные:

mapinfo.txt - менее 1 Кб - звуковая и световая схемы.

startloc.txt - менее 1 Кб - задается стартовая точка.

map.jmp - менее 1 Кб - полагаю, что Jump Point'ы.

map.prp - менее 1 Кб - ХЗ.

map.sbf - менее 1 Кб - ХЗ.

terrain.tdf - ~1 Мб - думаю, что файл описывает распределение тайлов на карте.

2. Множественные:

*.mob - менее 1 кб - "наследники" прототипов, объекты на карте: сценарные, предметы, критеры и пр.

*.sec - от 15 до 125 Кб - подозреваю, что связано со зданиями (те, которые состоят в WorldEd из стен). В 'Arcanum1-024-fixed' секов 621 штука.

 

Что нужно?

1. Распаковать карту 'Arcanum1-024-fixed', т.е. ВСЮ папку из Arcanum.DAT, из папки 'maps', в папку 'maps' вашего мода.

2. Поставить на все файлы карты одну дату изменения, например, 01.01.06.

3. Редактировать свой мод в WorldEd - * обязательна * версия 1.070: построить здания, добавить предметов, существ, сценарных объектов, присвоить скрипты etc. По окончании НЕ ПАКОВАТЬ В DAT.

4. Открыть папку мода 'maps\Arcanum1-024-fixed' и посмотреть, где сменилась дата изменения. По идее, это должны быть:

во-первых, новые mob'ы и новые здания - sec'и, что вы добавили на карту,

во-вторых, terrain.tdf, если вы меняли тайлы, и map.jmp, если меняли джамперы.

5. Короче говоря, в ваш новый "дистрибутив" должны войти только ИЗМЕНЕННЫЕ файлы, а не все - это сократит размер. По крайней мере, все НЕ ИЗМЕНЕННЫЕ мобы не войдут в проект.

6. Упаковать проект с картой в файл 'arcanum.patchX' (где X - любое число). Поместить в папку с игрой, в 'modules'.

 

 

Замечание 1. Возможна проблема с удалением объектов с карты. Я кое-что удалил в своем моде но, это осталось в игре! Причина? Арканум * последовательно* для модуля "читает" данные из: arcanum.dat, arcanum.patch0, arcanum.patch1 и т.д. ... В dat'е mob удаленного объекта присутствует, а в о том, что его удалили ничего нет patch'е, результат - игра считает, что mob есть на карте. Так, например, может "торчать" удаленный вами NPC.

 

Замечание 2. Если же вы не удаляли, а, к примеру, перемещали, то mob перемещенного объекта изменится - сменятся X и Y координаты на карте, тогда и дата изменится. Следовательно, этот mob войдет в "дистрибутив" - в игре он будет уже на другом месте.

 

Замечание 3. Кажется, при каждом сохранении меняются инвентари сундуков на текущей карте. Если, например, сделать * лишь одно * изменение на карте, то по идее должен изменится один mob, но дата меняется еще у нескольких.

 

Выводы:

Мне для моего Cattan Mod'а не очень подходит мой способ из-за Замечания 1.

Этот способ кажется применим для небольших, штучных изменений на картах; так я, например, поступал в GF.

Лучше если есть возможность, не работать с mob'ами, а работать с файлом map.patch, но если, как говорится, нет выбора... Я уже объяснял, что map.patch дает лишь ограниченные возможности модификации объектов на уже созданных картах.

 

P.S. Надеюсь, никого не расстроил...

P.P.S. Экспериментируйте, коллеги!

И москаль, и хохол — хитрые люди, и хитрость обоих выражается в притворстве: первый любит притворяться дураком, а второй умным. © В.О. Ключевский.

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...