- Регистрация
- 21 Апр 2011
- Сообщения
- 817
- Реакции
- 290
- Баллы
- 195
- Лучшие ответы
- 0
На данный момент готово:
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;
};
Теперь скрипт выход гораздо менее громоздким, и более удобочитаемым. В игре это дело выглядит так
Последнее редактирование модератором: