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

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

    Не ленитесь, голосуйте в этой теме за тех форумчан, которые по вашему мнению больше всех проявили себя в этом году
    По желанию, аргументировать свой выбор можете в теме обсуждения голосования.

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

alex_draven


Модостроитель
Регистрация
13 Сен 2007
Сообщения
2.183
Благодарности
2.880
Баллы
420
Чтобы моб работал как моб, а не как статическая модель, нужно взять MDS-файл от моба, который мы изменили.
Код:
Model ("PAN_OC")
{

    meshAndTree ("PAN_OC.asc")

    aniEnum
    {
        ani            ("s_S0"                1    "s_S0"    0.0    0.0    M.    "PAN_OC_USE.asc"    F    25    25)
        ani            ("t_S0_2_S1"        1    "s_S1"    0.0    0.0    M.    "PAN_OC_USE.asc"    F    26    34)
        {
            *eventSFX    (34    "PAN_FRYING"    EMPTY_SLOT    )          
            *eventPFX        (34        1    "TORCH"    "BIP01")
            *eventPFX        (34        2    "TORCH_SMOKE"    "BIP01 SMOKER")
        }  
        ani            ("s_S1"                1    "s_S1"    0.0    0.0    M.    "PAN_OC_USE.asc"    F    35    84)
        ani            ("t_S1_2_S0"        1    "s_S0"    0.0    0.0    M.    "PAN_OC_USE.asc"    R    26    34)
        {
            *eventPFXStop    (34        1)
            *eventPFXStop    (28        2)
        }
    }
}
Строки
*eventPFX (34 1 "TORCH" "BIP01")
*eventPFX (34 2 "TORCH_SMOKE" "BIP01 SMOKER")

определяют, в какой кости модели будут выводиться эффекты огня и дыма.

Берем оригинальный MDS PAN_OC.MDS, меняем ему имя на PAN_MY.MDS, содержимое кидаем то, что я привел в коде выше. Далее в спайсере в строке визуализации пишем имя нашего MDS, а не ASC-файла.

Поправив Humans.MDS, мы убираем вставку мяса в руки ГГ. Анимации те же. Вот и вся теория.

...и решил что стоит вырезать жарку из моего мода.
Хозяин-барин. Только с таким подходом только и останется в итоге перекрашивать старые броньки, да дергать модельки из других игр вместе с текстурками из чужих паков. Любовно называя такие солянки "модами" или "аддонами". Хотя такое времяпрепровождение к модостроению имеет весьма поверхностное отношение.
 

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
Вырезать жарку я решил не потому что у мня что-то не получается, а потому что это не нужная возможность: мясо можно и так пожарить, а из жуков можно готовить рагу. Не факт что мясных жуков вообще можно жарить...
 

Test Level

Участник форума
Регистрация
1 Ноя 2011
Сообщения
1.770
Благодарности
557
Баллы
275
Подскажите по текстурам. Из-за чего возникает такая байда, как на скрине?
Стоит отъехать, либо приблизится и текстуры выправляются.
9d87c626ece8.png
 
Последнее редактирование модератором:

hell9999

Участник форума
Регистрация
12 Апр 2008
Сообщения
2.049
Благодарности
1.170
Баллы
340
Подскажите по текстурам. Из-за чего возникает такая байда, как на скрине?
Стоит отъехать, либо приблизится и текстуры выправляются.
Сдается мне, имеются несшитые вертексы. И полигоны, имеющие больше трех сторон. Разрезать такие полигоны, вертексы сшить - и глюк должен исчезнуть.
 

Test Level

Участник форума
Регистрация
1 Ноя 2011
Сообщения
1.770
Благодарности
557
Баллы
275
Можно ли убрать/передвинуть зону, где воспроизводится ролик FishFood.bik и тебя сжирают? Вообще, что за это отвечает.
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Нет, нельзя, это заложенов ехешник, только икарусом/екстом можно прикостылять.
 

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
Можно-ли сделать так чтобы периодически запускалась функция, без создания тригера?
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.414
Благодарности
3.242
Баллы
525
Можно-ли сделать так ...

Надёжного способа нет. Можно вызывать какую-то функцию через функции ИИ неписей. Но не факт, что неписи всегда будут рядом с ГГ. Если только ты не создашь невидимого непися, который будет следовать за ГГ. Но это уже извращение. Циклический триггер решает проблему эффективнее.
 

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
В первой готике при вызове существ у них начинает отниматься здоровье, как сделать чтобы при попадании отравленой стрелы в непися был тот-же эффект?
 

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
Какая функция постоянно срабатывает когда непись рядом?
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.414
Благодарности
3.242
Баллы
525
В первой готике при вызове существ у них начинает отниматься здоровье, как сделать чтобы при попадании отравленой стрелы в непися был тот-же эффект?

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

Во-первых, нужно как-то зафиксировать попадание по нему ИМЕННО отравленной стрелой. Как это сделать, я не представляю. Во-вторых, для того, чтобы у непися убывало здоровье, нужно написать функцию, в которой происходило бы это убывание, и внедрить её вызов во ВСЕ состояния, в которых может находиться непись. Без серьёзного вникания в систему ИИ это нереально. Так что, если хочешь внедрять подобные фичи, придётся разбирать работу ИИ самому. На блюдечке готовое решение ни кто не поднесёт. :)

Какая функция постоянно срабатывает когда непись рядом?

Срабатывает восприятие главгероя PERC_ASSESSPLAYER, если оно активировано у непися в его текущем состоянии. Непись в состоянии сна, например, ГГ не воспринимает. Обычно это восприятие обрабатывается функцией B_AssessSC.
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.414
Благодарности
3.242
Баллы
525
во второй части делали и не раз
Ну, в теории сделать можно многое, и оно даже будет работать. Иногда. Но вот сделать так, чтобы оно работало безглючно во ВСЕХ возможных ситуациях, это уже значительно сложнее или вовсе невозможно. Хотя, вмешательство в работу движка с помощью всяких там Икарусов значительно расширяет возможности моддера. :confused:
 

Дикарь

★★★★★★★
Модератор
Регистрация
17 Апр 2007
Сообщения
7.305
Благодарности
9.112
Баллы
1.415
Когда "Яктиль" делали, ни Икаруса, ни чего-то подобного ещё не было, если не ошибаюсь. Но отравленные стрелы работают там стабильно, никаких сбоев ни разу не замечал.
Причём яд в моде нескольких видов по силе воздействия, и поэтому стрелы разные - от слабо отравленных цель теряет жизнь не так долго, как от более ядовитых.
 
Последнее редактирование:

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
Как в скриптах называется полоска выносливости при плавании?

Насчет функций, B_AssessSC работает когда непись видит гг, какие функции есть в бою и т.п.
Кстати я заметил что даже если нпс не видит гг то он все равно продолжает смотреть на него(через стену)
 
Последнее редактирование:

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.414
Благодарности
3.242
Баллы
525
Как в скриптах называется полоска выносливости при плавании?

Думаю, тут все вопросы к движку.

Насчет функций, B_AssessSC работает когда непись видит гг, какие функции есть в бою и т.п.

Из состояния атаки:
func void ZS_Attack()
{
PrintDebugNpc(PD_ZS_FRAME,"ZS_Attack");
C_ZSInit();
PrintGlobals(PD_ZS_FRAME);
Npc_PercEnable(self,PERC_ASSESSMURDER,B_CombatAssessMurder); // Непись реагирует на убийство другого непися.
Npc_PercEnable(self,PERC_ASSESSDEFEAT,B_CombatAssessDefeat); // Непись реагирует на отправления другого непися в нокаут.
Npc_PercEnable(self,PERC_ASSESSDAMAGE,B_CombatReactToDamage); // Непись реагирует нананосимое ему повреждение.
Npc_PercEnable(self,PERC_ASSESSSURPRISE,ZS_AssessSurprise); // Непись реагирует на превращение ГГ из образа животного в человека.
Npc_PercEnable(self,PERC_ASSESSMAGIC,B_AssessMagic); // Непись реагирует намагическое воздействие.
Npc_PercEnable(self,PERC_ASSESSREMOVEWEAPON,B_CombatRemoveWeapon); // Непись реагирует на убирание оружия атакуемым противником.
Npc_PercEnable(self,PERC_ASSESSENTERROOM,B_CombatAssessEnterRoom); // Непись реагирует на пересечение портала между помещениями.
Npc_PercEnable(self,PERC_CATCHTHIEF,B_CombatCatchThief); // Непись реагирует на поимку вора.
Npc_GetTarget(self);
B_WhirlAround(self,other);
B_SelectWeapon(self,other);
AI_SetWalkMode(self,NPC_RUN);
};

Третий аргумент в скобке - функция-обработчик. Как видно, в состоянии атаки игрока непись не воспринимает. Но ты можешь прописать это восприятие, назначив свой обработчик:
Npc_PercEnable(self,PERC_ASSESSPLAYER,B_CombatAssessSC);

,где B_CombatAssessSC - назначенная и написанная тобой функция-обработчик. Название может быть другим. Также можно задать время восприятия поменьше:
Npc_SetPercTime(self,0.5);

А вообще, в таких случаях обычно отсылают к камраду Ваму. :)
Кстати я заметил что даже если нпс не видит гг то он все равно продолжает смотреть на него(через стену)

Кривые алгоритмы в скриптах.
 

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
Яктиль использует тригер. Может и мне стоит, работает-же без сбоев...
 

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
Прочитал вот это - https://worldofplayers.ru/threads/22170/ , все вроде-бы понятно, но в первой готике нет скрипта B_AssessDamage, а скрипт B_CombatReactToDamage работает не стабильно. Подскажите какие функции в Г1 могут заменить B_AssessDamage?
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.414
Благодарности
3.242
Баллы
525
В файле perception.d содержатся стандартные наборы восприятий. Загляни туда для получения ответа на свой вопрос. ;)
 

Orc Hunter


Модостроитель
Регистрация
12 Окт 2013
Сообщения
1.269
Благодарности
1.667
Баллы
305
А при помощи тригера можно сделать так, чтоб ГГ нанес урон НПС, сработала функция воздействующия на НПС.
 
Сверху Снизу