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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

Не стесняюсь спросить....

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Господи а в чем проблэма сделать под г2а такое? это же УЛЬТРА изи.

И еще важный момент, любой воб и тд добавленный в игровой мир во время игры, автоматом пишется в сейв.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
Существует ли возможность добавлять в мир новые объекты (такие как дерево, лестница, костёр и т.д.) и удалять их по ходу игры?
Насколько я знаю, нет. Было бы неплохо реализовать такую штуку на Юнионе, в виде функций для скриптов.
Если правильно помню то этот мод: Release - Architect
Вообщем, пошарь в нём.. *pointing*
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.124
Благодарности
5.620
Баллы
910

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Кто баловался с освещением в готане? Подскажите пжлст, как можно получить ближайший источник света к гг? Вопрос к тем, кто шарит в Union.
 

Slavemaster


Модостроитель
Регистрация
10 Июн 2019
Сообщения
1.081
Благодарности
1.901
Баллы
320
Кто баловался с освещением в готане? Подскажите пжлст, как можно получить ближайший источник света к гг? Вопрос к тем, кто шарит в Union.
C++:
class LightSearcher : public zCVobCallback
{
public:
    zCVob* light;

    LightSearcher() :
        light(nullptr)
    {

    }

    virtual void HandleVob(zCVob* vob, void* data) override
    {
        if (!vob || vob->type != zVOB_TYPE_LIGHT)
            return;

        if (!light || player->GetDistanceToVob2(*vob) < player->GetDistanceToVob2(*light))
            light = vob;
    }
};

// usage
LightSearcher searcher;

ogame->GetWorld()->TraverseVobTree(searcher, nullptr, nullptr);

if (searcher.light)
    zlineCache->Line3D(player->GetPositionWorld(), searcher.light->GetPositionWorld(), GFX_YELLOW, true);
else
    screen->PrintCXY("Light not found");
Правда, заметил что подожжённый из инвентаря факел не определяется (если его дропнуть - начинает работать, если сожрать что-нибудь - тоже). Не вызвается oCWorld::EnableVob(torch, player) при использовании из инвентаря. Не могу сказать на 100%, баг это или особенность. Склоняюсь к багу: воб, физически присутствующий в мире, обязан быть в глобальном дереве вобов.
 

raa2raa

Участник форума
Регистрация
5 Июн 2011
Сообщения
58
Благодарности
4
Баллы
165
Добрый день! Подскажите, пожалуйста, если в неком моде (меня в частности интересует возвращение ксереса) добавить в скриптах к урону руны +максимальная мана/10, это сработаетили есть какие-то подводные камни? Я просто полный ноль в модостроении и разбираться времязатратно. Не хотелось бы пытаться сделать невозможное.
 

WoOliN

Участник форума
Регистрация
13 Окт 2012
Сообщения
347
Благодарности
196
Баллы
210
Если прописывать доп.урон именно в скрипте заклинания, то в принципе он сработает.
Подводные камни могут быть в том, что если дополнительный урон не константа (не фиксированная величина), а рассчитываемая и со временем или из-за каких-то условий меняющаяся цифра, то сам доп.урон подтянется и сработает начиная со второго каста.
Ещё может потребоваться сделать отдельный скрипт для расчёта доп.урона и вывода переменной, а уже саму переменную цеплять в виде доп.урона в скрипт заклинания.
Вроде так.
 

Venzern

Участник форума
Регистрация
24 Фев 2008
Сообщения
692
Благодарности
211
Баллы
220
WoOliN, а для изменения этих значений нужно ж декомпилить том в который запакован мод, правильно?
Если так, то человек может не дергаться ж, ибо "Возвращение Ксереса" просто так "расковырять" у него не выйдет *sorry*
 

WoOliN

Участник форума
Регистрация
13 Окт 2012
Сообщения
347
Благодарности
196
Баллы
210
Ну да, нужно добраться до скриптов мода, желательно до исходников)
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Камрады подскажите пжлст, есть ли способ определения типа локации скриптово или через движок - Indoor она или нет?
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
Сложного пути не знаю. Но знаю простой путь. В скриптах, при загрузке локации, меняется значение соответствующей переменной. Автор мода знает, какая локация у него ИнДор, а какая - АутДор. Посмотрев значение переменной, можно сделать вывод, какой тип локации загружен.
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Сложного пути не знаю. Но знаю простой путь. В скриптах, при загрузке локации, меняется значение соответствующей переменной. Автор мода знает, какая локация у него ИнДор, а какая - АутДор. Посмотрев значение переменной, можно сделать вывод, какой тип локации загружен.

Ааа...то есть отслеживать это через скрипты загрузки мира. Хмм..да вариант, хоть и костыльный.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.636
Баллы
625

Dr.Horatio

Участник форума
Регистрация
26 Мар 2017
Сообщения
61
Благодарности
49
Баллы
180
Всем привет! Проблема с ZEN-ом в Готике 1. Нормально компилируется сам мир, нормально компилируется свет. Порталов на карте пока что нет. Но при сохранении выдает следующую ошибку:
-------------------------—
Error-Message
-------------------------—

D: z3d(zCMesh::SaveMSH)

: too many verts in Mesh...

-------------------------—
ОК
---------------------------

После этого мир сохраняется и без проблем упаковывается в mod-файл. Уже в игре можно наблюдать вот такую картину:
Мир баг.png

Что делал:
1)Создавал большой мир. World.zen на данный момент компилируется из 4 3дс-ников, в которых суммарно 8 мешей. Они не особо большие, всего мир насчитывает:
Вершин: 108 600
Граней: 165 008
Треугольников: 174 552

2)Убирал двойные вершины. Кроме воды и лестниц из альфа-полигонов сдвоенных вершин в мире нет. Я надеялся, что это поможет избавиться от ошибки, но нет.

Прошу помощи в решении данной проблемы!
 

alex_draven


Модостроитель
Регистрация
13 Сен 2007
Сообщения
2.183
Благодарности
2.880
Баллы
420
Режь на куски мирок из расчета 60000 полигонов на одну часть. Все мелкие объекты надо делать отдельно в виде расставляемых вручную вобов.
 

Dr.Horatio

Участник форума
Регистрация
26 Мар 2017
Сообщения
61
Благодарности
49
Баллы
180
Режь на куски мирок из расчета 60000 полигонов на одну часть.

Разумеется, я резал исходя из этого расчета. Иначе бы Blender бы просто 3ds-ник не сделал.


Все мелкие объекты надо делать отдельно в виде расставляемых вручную вобов.

Было несколько мелких объектов на 3500 с копейками вершин. Капля в море, но после их удаления проблема решилась. Я правильно понимаю, что движок смущает не какой-нибудь предел на количество вершин в мире, а именно мелкие объекты?
 
Сверху Снизу