• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток!
    Стремитесь принять участие в ежегодном литературном конкурсе от "Ордена Хранителей"! В этот раз темой конкурса являются тайные организации. На днях организатор продлил сроки сдачи работ, вы ещё можете успеть! Ждем именно вас.

    Ссылка на конкурсную тему - тык

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.433
Благодарности
4.771
Баллы
625
  • Первое сообщение
  • #1
1767600363729.png

RU EN

 
Последнее редактирование:

alexeich2019

Участник форума
Регистрация
28 Июн 2019
Сообщения
191
Благодарности
73
Баллы
175
Gratt, а можно как-нибудь дополнить Humans.mds без его редактирования? Всм, добавить анимации в игру как плагин. Пробовал просто добавить .mds, а потом его загрузить, но вылетает с ошибкой отсутствующего asc. У меня только компилированные .MAN файлы и .mds есть. Но если делать это через редактирование и перекомпиляцию Humans, то все работает.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.433
Благодарности
4.771
Баллы
625
Jr13San работал в этом направлении. Говорит добился воспроизведения анимаций извне. Нужно изучить механизм скрипта mds и просто смерджить внешний скрипт по аналогии оверлея.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.433
Благодарности
4.771
Баллы
625
alexeich2019, Замени в директории проекта. Не смогу посчитать сколько изменений в этом API, а конкретно по твоему вопросу смотри файлы zCollisionObjectMisc.h.
Там объявлены интерфейсы zCOLLISION_OBJECT_DECLARATION с соответствующими статиками s_oCollObjClass.
Для реализации производных collision object используй zCOLLISION_OBJECT_UNION_DECLARATION для объявления в классе и zCOLLISION_OBJECT_UNION_DEFINITION для определения интерфейса (по аналогии с zCLASS_UNION_DECLARATION и zCLASS_UNION_DEFINITION для zobject).
 

Вложения

  • ZenGin.7z
    695,8 KB · Просмотры: 66

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.671
Баллы
305
@Vlad_Torop удалю вегас нахрен, на. Сляпал в итоге из того что было, но хоть отрендерил... В общем накодил на скорую руку + сразу на две платформы - г1 и г2нв. Все в одном плагине.



Скомпилированные датники можно заставить работать синхронно и независимо друг от друга. В нашем случае даже костыли не нужны. Достаточно приколхозить менеджер, который подцеплял бы в парсер дополнительные скриптовые библиотеки.
Ну а касаемо плагинов ты и так знаешь, их можно использовать где захочешь и с чем захочешь.

Можешь пожалуйста выложить данный плагин?
 

Fisk2033

Участник форума
Регистрация
2 Авг 2017
Сообщения
5
Благодарности
1
Баллы
155
Вот теперь боевая попытка воссоздать метание камней по аналогии с альфой готики.
В отличии от предыдущей версии тут другие алгоритмы просчета параболической траектории + алгоритм броска на упреждение.
То есть при попытке просто убежать от тролля можно словить камень вдогонку. А чем выше скорость камня, тем больше войдет урона.
Реализация естественно поддерживает все движки от г1 до г2нв. Содержимое дополнение - 1 vdf том.
Выложу библиотеку и исходники проекта вместе с юнионом.

Hi,

I followed the youtube description and now I'm here... :D
Where I can download the troll-plugin? Is it released?
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.433
Благодарности
4.771
Баллы
625
Можешь пожалуйста выложить данный плагин?
Ну по части пользовательского интерфейса нужно подумать. Либо через патч файл указать файлы, которые следует загрузить в оригинальный парсер, либо что-то иное.
С патчем типа
Код:
#patch
  MergeScripts("Gothic", "Items.d")
  MergeScripts("Menu", "NewMenu.src")
#/patch

Hmm, i want to replace some ballistic functions, but u can ask Phantom95 about test plugin :)
 

KirTheSeeker

Участник форума
Регистрация
18 Авг 2017
Сообщения
1.979
Благодарности
582
Баллы
275
Приветствую всех. Я правильно понимаю, что для работы пакета НЕ требуется устанавливать SystemPack?
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.377
Благодарности
7.861
Баллы
995

KirTheSeeker

Участник форума
Регистрация
18 Авг 2017
Сообщения
1.979
Благодарности
582
Баллы
275
Так, а устанавливать Union 1.0b нужно из графы "Union" или "Union SDK"?
 

Test Level

Участник форума
Регистрация
1 Ноя 2011
Сообщения
1.770
Благодарности
562
Баллы
275
MaGoth, может уже спрашивали, но в чем отличие пакета a от пакета b?
 

keepcheyn

Участник форума
Регистрация
2 Фев 2015
Сообщения
8
Благодарности
1
Баллы
150
Расскажите что известно о дате релиза 1.1 версии? Уже не терпится поиграть с озвучкой.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.377
Благодарности
7.861
Баллы
995
В разработке она, о дате пока рано что-то говорить.. иначе, КТТС.. ;)
 

keepcheyn

Участник форума
Регистрация
2 Фев 2015
Сообщения
8
Благодарности
1
Баллы
150
В разработке она, о дате пока рано что-то говорить.. иначе, КТТС.. ;)
Что КТТС это понято. Уже наверно 2 месяца назад писали что +- месяц, ну либо на выходных промежуточная версия с озвучкой. Почему нельзя выпустить эту промежуточную версию?
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.377
Благодарности
7.861
Баллы
995

Lancelot

Участник форума
Регистрация
20 Фев 2008
Сообщения
54
Благодарности
16
Баллы
175

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.433
Благодарности
4.771
Баллы
625
Union 1.0c
Так, сваливаю в отпуск, поэтому выкладываю обещанную ПРОМЕЖУТОЧНУЮ версию 1.0c
Она включает в себя кучу изменений, половина из которых фиксы.
Поддержка звука ogg и прочего уже есть.

Union SDK 1.0c
По SDK - также выложил обновление, которое привносит огромное количество дополнений и фиксов описанных ранее.

Плагин расширяющий возможности парсера
И еще начал писать плагин, расширяющий скриптовую часть движка. Собственно как и ранее - это множество внешних функций (список которых выложу ниже, а также скрипт для GS 3.15), но также и функции, меняющие сам механизм парсера.
Собственно что я пока затронул:

1. Очень не хватало циклов на дедалусе, поэтому набросал цикл while. Цикл компилируется плагином, но в тоже время такой DAT будет без проблем читаться и без расширителей. Пример конструкции такого кода:
C++:
while (<выражение>)
{
    // to do
    while (true)
    {
        // to do
        if (<выражение>)
        {
            break;
        };
    };
};


2. После первого запуска игры в запускаемом ini (Gothic.ini если ванильная игра), либо ini мода (запущенного стартером) появится новая секция.
CSS:
[ZPARSE_EXTENDER]
LoadScript=
MergeMode=true
CompileDat=false
Смысл вот в чем. Плагин позволяет добавить поверх скомпилированных DAT файлов еще скриптов. То есть, например, добавить в мод, для которого не существует исходного кода, какого-нибудь нового контента. По порядку поясню какой параметр за что отвечает.
LoadScript - файл скрипта, который содержит список скриптов, которые следует догрузить в конкретный DAT. Одна строка - один файл. Строка состоит из двух аргументов. Имя парсера и файл.
Код:
- Game   or parser                  - Main game parser (NPCs, AI, story and etc)
- SFX    or parserSoundFX      - Sound parser
- PFX    or parserParticleFX    - Particle FX parser
- VFX    or parserVisualFX      - Visual FX parser
- Camera or parserCamera     - Camera mods parser
- Menu   or parserMenu         - Menu parser
- Music  or parserMusic         - Music themes parser

Пример скрипта:
Код:
Game    System\NewHumanAI.d
Game    System\NewItems.d
Music     System\NewMusic.d

MergeMode - Если параметр true, то свершится магия. Этот режим позволяет переопределять уже существующие функции, переменные и тд на новые. Возьмем в пример какой-то мод из предыдущего пункта. Захотели поменять функцию? Без проблем. Указываем имя существующего символа, скажем ZS_ATTACK, и игра будет выполнять ваш скрипт, а не скрипт DAT файла. Тоже можно проделать и с другими данными, например создав свою переменную TRADE_VALUE_MULTIPLIER, то множитель торговли будет изменен на новый. Либо итого больше - изменить скрипт оружия, переписав его на какую-нибудь еду :).

CompileDat - При true после всех ваших изменений DAT файл будет пересохранен. Это значит, что такой DAT со всеми вашими правками можно отправить другу и он их увидит. Но до тех пор, пока значение false, движок каждый раз будет просто перечитывать D скрипты.



3. Функции обратного вызова. Если в скриптах будут определены функции GameLoop и GameInit, то они будут автоматически вызываться движком. Для Loop это каждая смена кадра, а Init - при входе в главное меню игры. Также эти функции без проблем будут вызваны из внешнего скрипта из пункта #2.



4. Плагин кроссплатформенный - работает на всех движках G1, G Sequel, G2, G2 NoTR.



5.
Исходный код плагина на GitHub * Для компиляции проекта необходимо установить Union SDK 1.0c


6. Плагин запускается сам из zParserExtender.vdf, так что никуда его вписывать не нужно.


P.S. Внешние функции писал в спешке, проверить не успел. Но думаю что работать должны все :)
 

Вложения

  • ExternalFuncs.d
    1,8 KB · Просмотры: 201
  • Описание.d
    8,7 KB · Просмотры: 225
Последнее редактирование:
Сверху Снизу