- Регистрация
- 21 Апр 2011
- Сообщения
- 817
- Реакции
- 290
- Баллы
- 195
- Лучшие ответы
- 0
AST - новая разработка скриптового расширителя от Undead Mod Team.
На данный момент доступны:
1. Библиотека для отладки сейвов.
Заставляет игру писать сейвы не в бинарном формате, а в ASCII текстовом. Это имеет много преимуществ, и главное, что сейв в случае бага/кривого сейва и тд, можно подправить руками, и понять СУТЬ бага.
Совместима с Систем Паком.
Что делать:
1. Из архива ниже скопировать в игровую папку System файлы AST_Saves.dll и GothicStarter_AST.exe.
2. Открыть *.ini файлы модов, в которых хотите, чтобы сейв писался в ASCII, и дописать в секцию [FILES] строку dll=AST_Saves.dll.
3. При запуске мода из AST стартера, игра загрузит библиотеку AST_Saves которая заставит писать сохранения в текстовом виде.
4. Для перевода сохранок в обычный вид убрать строчку dll=AST_Saves.dll в *.ini файле. Игра правильно распознает сохранку вида ASCII и при новом сохранении использует формат по умолчанию.
ПРЕДУПРЕЖДЕНИЕ: Сохранение в текстовом виде чревато большими размерами сейвов (до 50+мб) и гораздо дольшим по времени сейв/лоадом.
Анонсированы возможности:
- С его помощью можно делать практически все, вплоть до полной замены функций в самом движке, и методов классов.- Яркий пример таких манипуляций это новая система стрельбы из лука (без автоприцела) в моде Анклав
- Реализована система выгрузки ВСЕХ сундуков в мире в зен файл (пока для тестов в ASCII), сохранение списка предметов в массив и возможность повторной загрузки всех сундуков и рандомное наполнение предметами которые были в сундуках уже, но в другом порядке. Разделение можно делать как угодно.
- Идет работа над "оживлением" oCMobInter. Задействованы поля hitpoints и т.д., чтобы жила руды уменьшалась/меняла внешний вид по мере добычи. Изменение "прочности" путем диалога (добыча руды) или урона (нападение на рудную жилу мечом/дубиной/молотом).
На данный момент готово:
1. Расширена таблица гильдий, было 16x16 стало 20х20, GIL_SEPERATOR_HUM перенесла на 20ю позицию, теперь доступно 20 гильдий людей вместо 16ти.
2. Реализован набор External (скриптовые функции движка) функций для работы с сундуками, которые позволяют: Открыть, закрыть, задать инстанцию ключа скриптом, удалить предметы из сундука(удаление пока не внесено, но будет.).
3. Идет реализация CS_ функций для создания полноценных катсцен чисто средствами скриптов, и минимумом редактирования мира, но они будут описаны позже, ибо до сих пор они очень не стабильны.
4. Набор вспомогательных функций, банальных, но полезных ниже представлены некоторые из них:
----Itm_TwoHanded(var c_item weap) - возвращает 1 если оружие weap двуручное, 0 если одноручное.
----Itm_OneHanded(var c_item weap) - то же, но для одноручника.
----Hlp_GetItem(var int instanceidx) - возращает ссылку на предмет instance (аналог Hlp_GetNpc, но для итемов)
----Log_GetTopicStatus(var string topic) - возвращает состояние топика (задания), очень полезная позволяет избавится от 1000 переменных для каждого квеста.
5. Улучшенные функции одевания предметов, теперь шлема одеваются корректно, и более не нужно мучатся с EquipBestArmor, так же активированы слоты щитов, и теперь в MDS скриптах анимации работают теги DEF_SWAPMESH для слотов щита ZS_SHIELD и ZS_LEFTARM.
6. Автоматическая настройка соотношения сторон монитора....
7. Новый принцип варки зелий, и т.д., он по прежнему работает через MOBSI диалог, но теперь все гораздо проще, и интереснее подробнее ниже.
Написание скрипта готовки, например зелий, начинается с объявления "Крафт-инстанций"
//-----------------------------
//Объявление крафт-инстанции
//reagent[x] имя реагентов, задается так:
//reagent[0] = "Item,cnt";
//макс количество реагентов от 0 - 5(всего 6)
//Где: Item - имя инстанции предмета, cnt - количество
//id - обязательный УНИКАЛЬНЫЙ идентификатор инстанции
//OpenCraftHud(id); - функция для загрузки крафт-инстанции по id
//CraftHudProcess(); - функция создания предмета, вызывается после OpenCraftHud
//CloseCraftHud(); -закрыть худ.
//-----------------------------
instance Craft_Soul_01(CRAFT)
{
reagent[0] = "ItPl_BlueLeafBerry,4";
reagent[1] = "ItPl_Mana_Herb_01,2";
reagent[2] = "ItPl_SwampHerb,1";
out = "ItPo_Soul_01";
skill = 0;
skillVal = 0;
id = 10;
};
Теперь скрипт выход гораздо менее громоздким, и более удобочитаемым. В игре это дело выглядит так
//-----------------------------
//Объявление крафт-инстанции
//reagent[x] имя реагентов, задается так:
//reagent[0] = "Item,cnt";
//макс количество реагентов от 0 - 5(всего 6)
//Где: Item - имя инстанции предмета, cnt - количество
//id - обязательный УНИКАЛЬНЫЙ идентификатор инстанции
//OpenCraftHud(id); - функция для загрузки крафт-инстанции по id
//CraftHudProcess(); - функция создания предмета, вызывается после OpenCraftHud
//CloseCraftHud(); -закрыть худ.
//-----------------------------
instance Craft_Soul_01(CRAFT)
{
reagent[0] = "ItPl_BlueLeafBerry,4";
reagent[1] = "ItPl_Mana_Herb_01,2";
reagent[2] = "ItPl_SwampHerb,1";
out = "ItPo_Soul_01";
skill = 0;
skillVal = 0;
id = 10;
};
Теперь скрипт выход гораздо менее громоздким, и более удобочитаемым. В игре это дело выглядит так
Ссылка на закачку:
Первая версия (около 50кб)
Обновление первой версии
Скачать релизную версию AST ver.1.1.0.55 (сентябрь 2015) - Инструменты - Gothic: AST (Agama Script Tools)
- 13
- Показать все