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

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

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

Krayler

Участник форума
Регистрация
24 Сен 2014
Сообщения
20
Благодарности
4
Баллы
165
Какие модельки? Из какой игры? В каком виде ты рассчитываешь их получить? Нужно больше информации. ;)
Да из готики, в любом виде, формат под 3дмакс, лишь модельки, без анимации костей и прочего
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.321
Благодарности
3.166
Баллы
525
Из Готики 3, наверное?
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.321
Благодарности
3.166
Баллы
525
А остальную информацию из тебя клещами тянуть или как? Я могу ответить: "Бери в ресурсах игры". Но ты ведь не такого ответа ждёшь, не так ли?
 

Krayler

Участник форума
Регистрация
24 Сен 2014
Сообщения
20
Благодарности
4
Баллы
165
А остальную информацию из тебя клещами тянуть или как? Я могу ответить: "Бери в ресурсах игры". Но ты ведь не такого ответа ждёшь, не так ли?
конечно нет, я думаю что кто-то все это дело уже достал и залил на файлообменник, а потом подписал типа модель ищущего формат такой то, я не знаю какая информация нужна
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.321
Благодарности
3.166
Баллы
525
Первый из заданных вопросов:
Какие модельки?
Они, понимаешь ли, разные. И достаются из ресурсов игры по-разному. Большинство статических моделек в 3ds формате можно взять из состава мод-кита к Г2НВ. Но если тебе нужны динамические модели, придётся распаковывать анимации. Про то, что где-то всё это добро в готовом виде уже лежит и ждёт, пока кому-нибудь понадобится, я не слышал.
 

Krayler

Участник форума
Регистрация
24 Сен 2014
Сообщения
20
Благодарности
4
Баллы
165
Первый из заданных вопросов:

Они, понимаешь ли, разные. И достаются из ресурсов игры по-разному. Большинство статических моделек в 3ds формате можно взять из состава мод-кита к Г2НВ. Но если тебе нужны динамические модели, придётся распаковывать анимации. Про то, что где-то всё это добро в готовом виде уже лежит и ждёт, пока кому-нибудь понадобится, я не слышал.
так мне только модели, ничего больше не надо, по сути и текстуры не нужны, если модель будет вообще белая то идеально
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.371
Благодарности
7.801
Баллы
995
ГМДК1 или ГМДК2 устанавливая с полной распаковкой ресурсов.. + пользуй импортер/экспортер керракса для открытия в максе моделй и аним игры..
 

Dvarik

Участник форума
Регистрация
25 Фев 2020
Сообщения
5
Благодарности
0
Баллы
55
распишу подробно, может это поможет:
перед началом игры в готику 2 нв, я поправил скрипты:
- сделал респаун животных после сна с определенным промежутком
- добавил реген хп и маны, в зависимости от характеристик
- добавил ежедневное обновление ассортимента у торговцев

игра запустилась и шла без багов

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

как можно выявить подобную ошибку? я не вижу проблему в том, чтобы заново начать игру, просто хотел конкретно понять источник ошибки
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.321
Благодарности
3.166
Баллы
525
- сделал респаун животных после сна с определенным промежутком
Возможно, при этом подменяется иденитификатор self, и, как результат, неправильно отрабатывает завершение взаимодействия с MOBSI-объектом (с кроватью). Проверь значение переменной aivar[AIV_INVINCIBLE] ГГ после такого респауна. Переменная должна принимать значение 1 только на время диалога с неписем или объектом. В остальное время она должна быть равной 0.

Может быть, косяк со значением переменной вызывают другие, произведённые тобой правки. Но, скорее всего, он имеет место.
 

Dvarik

Участник форума
Регистрация
25 Фев 2020
Сообщения
5
Благодарности
0
Баллы
55
Возможно, при этом подменяется иденитификатор self, и, как результат, неправильно отрабатывает завершение взаимодействия с MOBSI-объектом (с кроватью). Проверь значение переменной aivar[AIV_INVINCIBLE] ГГ после такого респауна. Переменная должна принимать значение 1 только на время диалога с неписем или объектом. В остальное время она должна быть равной 0.

Может быть, косяк со значением переменной вызывают другие, произведённые тобой правки. Но, скорее всего, он имеет место.

есть ли возможность это проверить в игре?
в том-то и дело, что респаун мобов прошел без каких-либо проблем. В скриптах я не менял игровые переменные совсем, но создал свои, так же после 2 респаунов все работало, т.е. выходя из Хориниса все работало, пока я дошел до монастыря меню сломалось, при чем оно еще работало на статуе инноса у таверны "мертвая гарпия", которая по пути в монастырь. Я за это время прошел небольшое расстояние и убил пару мобов. В монастыре меню уже не работало
еще при попытке помолится инносу у мобов отключаются мозги (видимо функция доходит до AI_GotoWP(self,self.wp))
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.321
Благодарности
3.166
Баллы
525
есть ли возможность это проверить в игре?
Если у тебя есть циклическая функция в проекте, то нагляднее всего вывести значение переменной на экран через неё. Но, скорее всего, такой возможности у тебя нет.

Можно попробовать выводить значение переменной на экран через функции ИИ, но это хлопотно и не всегда работает. Только когда рядим с ГГ кто-то есть.

Поэтому могу порекомендовать использование тестовой книги. Создай в скриптах инстанцию книги, при прочтении которой будет происходить нужное тебе событие. В данном случае нужно вывести на экран значение переменной self.aivar[AIV_INVINCIBLE]. В игре вставь книгу в игровой мир читами и периодически её почитывай. :)

Пример инстанции такой книги:
Daedalus:
instance TAI(C_Item)
{
    name = "Тест ИИ";
    mainflag = ITEM_KAT_DOCS;
    flags = 0;
    value = 100;
    visual = "ItWr_Book_02_02.3ds";
    material = MAT_LEATHER;
    scemeName = "MAP";
    on_state[0] = usetai;
};


func void usetai()
{
    B_ExchangeRoutine(EBR_108_Velaya,"Test");
};
 

Dvarik

Участник форума
Регистрация
25 Фев 2020
Сообщения
5
Благодарности
0
Баллы
55
Если у тебя есть циклическая функция в проекте, то нагляднее всего вывести значение переменной на экран через неё. Но, скорее всего, такой возможности у тебя нет.

Можно попробовать выводить значение переменной на экран через функции ИИ, но это хлопотно и не всегда работает. Только когда рядим с ГГ кто-то есть.

Поэтому могу порекомендовать использование тестовой книги. Создай в скриптах инстанцию книги, при прочтении которой будет происходить нужное тебе событие. В данном случае нужно вывести на экран значение переменной self.aivar[AIV_INVINCIBLE]. В игре вставь книгу в игровой мир читами и периодически её почитывай. :)

Пример инстанции такой книги:
Daedalus:
instance TAI(C_Item)
{
    name = "Тест ИИ";
    mainflag = ITEM_KAT_DOCS;
    flags = 0;
    value = 100;
    visual = "ItWr_Book_02_02.3ds";
    material = MAT_LEATHER;
    scemeName = "MAP";
    on_state[0] = usetai;
};


func void usetai()
{
    B_ExchangeRoutine(EBR_108_Velaya,"Test");
};

добавил вывод значения при надевании и снятии амулета дубовой кожи, до и после поломки меню выдает значение равное нулю, как и должно быть
 
Последнее редактирование:

D36


Модостроитель
Регистрация
3 Дек 2014
Сообщения
2.114
Благодарности
3.194
Баллы
485
поломка такова: после убийства некоторого количества мобов у меня ломается меню взаимодействия с кроватью, рунным столом, статуей инноса и тому подобного
Замени в скриптах все AI_ProcessInfos(her) на AI_ProcessInfos(self):
1582625224202.png

Пример исправления в неофициальном обновлении Г2НВ текущей версии.
Подробности проблемы и её решения.
 

Dvarik

Участник форума
Регистрация
25 Фев 2020
Сообщения
5
Благодарности
0
Баллы
55
Замени в скриптах все AI_ProcessInfos(her) на AI_ProcessInfos(self):
Посмотреть вложение 81529

Пример исправления в неофициальном обновлении Г2НВ текущей версии.
Подробности проблемы и её решения.

в указанном промежутке я делал импорт и экспорт персонажа, но решил, что это не могло повлиять, позже проверю без импорта и отпишусь поломалось или нет

upd
попробовал руну MobsiBrief, но это ничего не дало, а вот экспорт и последующий импорт решили проблему, хотя на долго ли этого хватает не проверял
так же попробовал создать новую игру, и уже минут через десять AI у мобов отключился, но меню взаимодействия работало

еще вопрос по функции ZS_Pray_Innos_Loop(), она должна быть все время зациклена? просто в моем сохранении, где не работало меню, она была зациклена и из цикла не выходила вообще
 
Последнее редактирование:

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
5.817
Благодарности
5.221
Баллы
910
Почему может пропадать указатель на положение ГГ на карте после перехода из локации в локацию?
В моде Предопределение после перехода из заброшенной шахты в долину предков, указатель на положение ГГ пропадает, но стоит выйти из локации через основной вход и войти, то указатель появляется, как положено, даже если потом дойти до места, куда переносится ГГ после перехода из шахты указатель остается.
Триггеры смотрел они в порядке.
CurrentLevel проверял назначается и соответствует уровню, на котором находится ГГ.
Карты есть в функциях B_GetBestPlayerMap и B_GetAnyPlayerMap
Код карты
Daedalus:
instance ITWR_MAP_VALLEYANCESTORPOGOSTS(C_Item)
{
    name = "Карта кладбищ в Долине Предков";
    mainflag = ITEM_KAT_DOCS;
    flags = ITEM_MISSION | ITEM_MULTI;
    value = 450;
    visual = "ItWr_Map_01.3DS";
    material = MAT_LEATHER;
    scemeName = "MAP";
    on_state[0] = use_map_valleyancestorpogosts;
    description = name;
    //text[0] = "";
    //text[1] = "";
    text[5] = NAME_Value;
    count[5] = value;
};

func void use_map_valleyancestorpogosts()
{
    var int Document;
    if(Npc_IsPlayer(self))
    {
        B_SetPlayerMap(itwr_map_valleyancestorpogosts);
    };
    Document = Doc_CreateMap();
    Doc_SetPages(Document,1);
    Doc_SetPage(Document,0,"MAP_VALLEYANCESTORS_STRAZH.tga",TRUE);
    Doc_SetLevel(Document,"TOWERWORLD/TOWERWORLD.ZEN");
    Doc_SetLevelCoords(Document,93500,55000,223600,-35800);
    Doc_Show(Document);
};
Есть подозрения, что размер карты был изменен по сравнению с миром из глобал мода и тот участок не попадает под координаты при инициализации игрового мира, поэтому указатель на положение ГГ не появляется.
zSpy еще молчит при этом.
 
Последнее редактирование:

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.321
Благодарности
3.166
Баллы
525

Fabiosek

Участник форума
Регистрация
17 Июн 2017
Сообщения
147
Благодарности
47
Баллы
190
Hello!

I have a small / big problem.

I have three NPC's:
1. Bdt1 (instance: BAU_1040_Bandit_L)
2. Bdt2 (instance: BAU_1041_Bandit_L)
3. Berko (instance: BAU_8062_Berko , GIL_BAU)

I would like Bandit 1 and Bandit 2 to attack ONLY Berko. However, they must attack simultaneously and MUST be in trigger (After the player enters the trigger, the bandits should attack the NPC - berko). The problem is that only one of the bandits attacks the other character.

CODE:
// ****************************
// EVT_BerkoAttacked
// ****************************
var int Berko_Attacked_OneTime;

func void Berko_ATTACKED()
{
var C_Npc Bdt1; Bdt1 = Hlp_GetNpc(BAU_1040_Bandit_L);
var C_Npc Bdt2; Bdt2 = Hlp_GetNpc(BAU_1041_Bandit_L);
var C_Npc Berko; Berko= Hlp_GetNpc(BAU_8062_Berko);

if(Npc_GetDistToNpc(hero, Berko) <= 3000) && (!Berko_Attacked_OneTime)
{
Print("Attack!");

//Claer NPC AIQuue
Npc_ClearAIQueue(bdt1);
Npc_ClearAIQueue(bdt2);
Npc_ClearAIQueue(Berko);

//Bdt1 attack Berko
B_Attack (Bdt1, Berko, AR_NONE, 0);

//Bdt2 attack Berko
B_Attack (Bdt2, Berko, AR_NONE, 0);

Berko_Attacked_OneTime = true;
}

else
{
Print("After attack");
};
};
 
Последнее редактирование:
Сверху Снизу