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

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

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

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
Пытаюсь сделать "хитрого падальщика", который убегал бы от гг (надо для одного квеста)
Глянь в сторону скриптов Диккурика(Щурка) и Глобала(Падальщик), там были убегающие Мобы.
 

ElderGamer


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

TA_Roam - базируется на ZS_MM_Rtn_EatGround, только добавлены восприятия для "человеческого" NPC (чтобы сработал диалог)
Косяк возможен и здесь. Человеческий ИИ заточен под человека. Да, в Г2 можно разговаривать не только с человеком, но слепо использовать человеческий ИИ для монстров всё-таки не стоит. Лучше создать упрощённый аналог нужной для инициации диалога функции (обработчик PERC_ASSESSTALK) специально для твоего монстра.

При старте диалога неписю предписывается убрать оружие, а у падальщика, возможно, такой анимации в mds-ке просто нет. Отсюда ступор. Попробуй, вселившись в него, нажать G и посмотреть в отладочной информации что с ним делается во время ступора.
 

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
Глянь в сторону скриптов Диккурика(Щурка) и Глобала(Падальщик), там были убегающие Мобы.

Где бы их взять...

При старте диалога неписю предписывается убрать оружие, а у падальщика, возможно, такой анимации в mds-ке просто нет.

Попробую убрать это.
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Perception_Set_Normal() добавь либо прям в скрипт самого падальщика, либо поправь его функцию где стартует распорядок.

А вообще у меня чот аж жопа полыхнула от этой проблемы, ладно еслиб новичок какой спросил это, там да понятно все, но блин, люди которые уже хз сколько занимаются модингом, и такие вопросы, это кошмар какойто, вы вообще пробовали ПОНИМАТЬ, как работает скриптовая начинка готы, и почему именно так.
 
Последнее редактирование:

НастасьСанна

Участник форума
Регистрация
6 Дек 2012
Сообщения
350
Благодарности
521
Баллы
325
Скрипт говорящего кротокрыса из Грибников тут, но я переделывала ряд AIVаров под себя. Рутины не правились, а в Perception_Set_Monster_Rtn добавлен стандартный обработчик B_AssessTalk для говорящих монстров.

Если нужен именно диалог, то нужно выяснить, на чем замораживается падальщик. В режиме Марвина Shift+G и T выводят отладочную информацию об объекте в фокусе. Нужно узнать, на какой анимации и в каком состоянии завис падальщик. Причина, впрочем, может быть совсем неожиданная. Например, скелеты-маги прочно зависают, если гильдия GIL_SKELETON_MAGE будет иметь номер, отличный от 33. Хотя, теоретически, номера гильдиям после 16 можно распределять как угодно.

Если же нужно просто бегство при виде ГГ, то лучше добавить обработчик в B_MM_AssessPlayer. Через диалог можно получить и другие побочные эффекты.
Код:
    //если я квестовый падальщик и ГГ подошел близко
    if(Hlp_GetInstanceId(self) == Hlp_GetInstanceId(Scavenger_Skilful) && Npc_GetDistToNpc(self, hero) < PERC_DIST_DIALOG)
  //TODO добавить условие на активность квеста
   {
       //то немедленно сбежать
       Npc_ClearAIQueue(self);
       Npc_SetTarget(self,hero);
       B_ClearPerceptions(self);
       AI_StartState(self,ZS_MM_Flee,0,"");
       return;
   };

Глянула DIA_POKh_Scavenger_Skilful_Condition: вижу & вместо && и не понимаю, зачем ! перед Npc_KnowsInfo (может оно так и надо, из приведенного куска не ясно).
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.636
Баллы
625
А вообще у меня чот аж жопа полыхнула от этой проблемы, ладно еслиб новичок какой спросил это, там да понятно все, но блин, люди которые уже хз сколько занимаются модингом, и такие вопросы, это кошмар какойто, вы вообще пробовали ПОНИМАТЬ, как работает скриптовая начинка готы, и почему именно так.
максимум человек 5 с форума понимают что такое скрипт и с чем его кушают. принцип AI тож как бы вкуривают немногие. да и не хотят. зачем понимать, если можно спросить? аналогично зачем нужен качественный контент, если его так и так проглотят?
 

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
зачем ! перед Npc_KnowsInfo
Так надо. Именно пока не было того самого диалога, этот диалог работает.

Самого падальщика разморозил. Теперь надо научить его убегать при виде гг. Попробую завтра через B_MM_AssessPlayer. Диалог тут не катит.

зачем понимать, если можно спросить? аналогично зачем нужен качественный контент, если его так и так проглотят?

Это я могу легко объяснить. Когда начиналась работа над модом, в ней собирались участвовать много разработчиков. В том числе и достаточно опытных (из того же НМ, например). Но когда добрались до кодирования, из скриптописателей остался я один. А потом просто я один. И на скриптование, и на моделирование, и вобинг, и на все остальное. Даже на дописывание сценария (еще концовка не проработана). И если поставить задачу добиться "качественного контента", то работу над модом придется еще и правнукам завещать. Или же постараться сэкономить время и попытаться доделать мод в более-менее приемлемом виде с помощью советов на форуме. Чтобы не тратить время на пробиванием стены лбом. Ну или на "вкуривание". Ну а если кому-то не по нраву "некачественный" (или недостаточно качественный) контент, то этот кто-то вовсе не обязан в этот мод играть. Я, если сумею довести мод до публикации, специально укажу "Контент некачественный, играете на свой страх и риск".
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
Глянула DIA_POKh_Scavenger_Skilful_Condition: вижу & вместо && и не понимаю, зачем ! перед Npc_KnowsInfo (может оно так и надо, из приведенного куска не ясно).
Про & я не понял ничего, ибо кода не вижу где оно, что до ! то это логическое НЕ в скриптах, оно говорит о том что:
если диалога указанного в "!Npc_KnowsInfo" с этим персонажем не было, то...

Ну и немного инфы:
Операции над данными
! - истина, если выражение ложно
& - побитовая операция И
&& - истина, если истинно значение первого и второго операнда.

Как-то так.. ::)
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Так надо. Именно пока не было того самого диалога, этот диалог работает.

Самого падальщика разморозил. Теперь надо научить его убегать при виде гг. Попробую завтра через B_MM_AssessPlayer. Диалог тут не катит.



Это я могу легко объяснить. Когда начиналась работа над модом, в ней собирались участвовать много разработчиков. В том числе и достаточно опытных (из того же НМ, например). Но когда добрались до кодирования, из скриптописателей остался я один. А потом просто я один. И на скриптование, и на моделирование, и вобинг, и на все остальное. Даже на дописывание сценария (еще концовка не проработана). И если поставить задачу добиться "качественного контента", то работу над модом придется еще и правнукам завещать. Или же постараться сэкономить время и попытаться доделать мод в более-менее приемлемом виде с помощью советов на форуме. Чтобы не тратить время на пробиванием стены лбом. Ну или на "вкуривание". Ну а если кому-то не по нраву "некачественный" (или недостаточно качественный) контент, то этот кто-то вовсе не обязан в этот мод играть. Я, если сумею довести мод до публикации, специально укажу "Контент некачественный, играете на свой страх и риск".
Что бы вкурить как работает все это дело, нужно максимум 2-3 дня, куда больше времени уйдет что бы тебе ответили на форуме.
 

alex_draven


Модостроитель
Регистрация
13 Сен 2007
Сообщения
2.183
Благодарности
2.880
Баллы
420
При этом падальщик стоит застывший. Если "переселиться" в него и нажать F8 разморозить его все равно не удается. Он может поворачиваться вокруг своей оси, но сдвинуться с места не может.
Такое может быть, если ты пытаешься перевести модель в режимы, которые у нее отсутствуют в MDS-скрипте. Т.к. все монстры, кроме орков, находятся в перманентном режиме кулачного боя, любые конструкции, вроде "AI_SetWalkMode" , могут привести к залипанию. И даже если дернуть потом F8, это не поможет, т.к. монстр перешел в отсутствующий в MDS режим ходьбы без оружия.
Я не зря тебе когда-то делал новую модель гоблина, где все нужные режимы были. Как раз там этих проблем не будет. Ну, за исключением движковой фигни, не дающей ему убрать оружие, если у него монстерская гильдия.
 

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
Удалось добиться убегания хитрого падальщика, только не в функции B_MM_AssessPlayer (туда мы не попадали), а в B_MM_AssessEnemy.
 

Чародей

Участник форума
Регистрация
6 Июн 2017
Сообщения
3
Благодарности
0
Баллы
150
Здравствуйте, форумчане, на связи Чародей. Решил обратится за помощью к Вам. Недавно родилась идея создать мод, некий сюжет и задумки есть, но вот проблема с базой. Подскажите что нужно, какие программы (кроме G2MDK full) самые основные и нужные, а то не могу найти ничего полезного (ибо я чайник еще). Если можно, то сразу ссылками поделитесь. Буду благодарен. Во имя магии!
 

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
Здравствуйте, форумчане, на связи Чародей. Решил обратится за помощью к Вам. Недавно родилась идея создать мод, некий сюжет и задумки есть, но вот проблема с базой. Подскажите что нужно, какие программы (кроме G2MDK full) самые основные и нужные, а то не могу найти ничего полезного (ибо я чайник еще). Если можно, то сразу ссылками поделитесь. Буду благодарен. Во имя магии!

https://worldofplayers.ru/threads/38318/
https://worldofplayers.ru/threads/38318/
https://worldofplayers.ru/threads/25196/
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
6.131
Благодарности
5.628
Баллы
910
Здравствуйте, форумчане, на связи Чародей. Решил обратится за помощью к Вам. Недавно родилась идея создать мод, некий сюжет и задумки есть, но вот проблема с базой. Подскажите что нужно, какие программы (кроме G2MDK full) самые основные и нужные, а то не могу найти ничего полезного (ибо я чайник еще). Если можно, то сразу ссылками поделитесь. Буду благодарен. Во имя магии!

В дополнение
Клик переходишь по ссылке, качаешь akella_decompiled.exe, распаковываешь куда угодно и используешь нормальные декомпилированные скрипты Г2НВ для своего мода, так же там есть готовая балванка для модов не связанных в мире Готики
 

Kreol Nekr

Участник форума
Регистрация
21 Ноя 2014
Сообщения
229
Благодарности
109
Баллы
190
Пытаюсь сделать "хитрого падальщика", который убегал бы от гг (надо для одного квеста)

Сделал такого персонажа:

Код:
INSTANCE Scavenger_Skilful    (Mst_Default_Scavenger_Skilful)
{
    guild                            =    GIL_VLK;
    name                            =    "Хитрый падальщик";
    id = 787878;
    voice = 11;
    flags = 0;
    npcType = NPCTYPE_OCAMBIENT;
    B_SetAttributesToChapter(self,4);
    B_SetVisuals_Scavenger();
//    fight_tactic    =    FAI_HUMAN_COWARD;
    fight_tactic    =    FAI_MONSTER_COWARD;
    CreateInvItems (self, ItFoMuttonRaw, 1);

    B_SetVisuals_Scavenger();

    Npc_SetToFistMode(self);
    daily_routine = Rtn_PreStart_787878;
};

func void Rtn_PreStart_787878()
{
    TA_Roam(6,0,12,0,"TOT");
    TA_Roam(12,0,6,0,"TOT");
};

func void Rtn_Start_787878()
{
    TA_Roam(6,0,12,0,"OW_LESTER_FOREST_18");
    TA_Roam(12,0,6,0,"OW_LESTER_FOREST_18");
};

TA_Roam - базируется на ZS_MM_Rtn_EatGround, только добавлены восприятия для "человеческого" NPC (чтобы сработал диалог)

Сделал ему такой диалог:

Код:
instance DIA_POKh_Scavenger_Skilful(C_Info)
{
    npc = Scavenger_Skilful;
    nr = 999;
    condition = DIA_POKh_Scavenger_Skilful_Condition;
    information = DIA_POKh_Scavenger_Skilful_Info;
    description = "";
    permanent = TRUE;
    important = TRUE;
};

func int DIA_POKh_Scavenger_Skilful_Condition()
{
    B_LogEntry (TOPIC_Scavenger_Skilful, "5");//отладочная печать
   if (!Npc_KnowsInfo(other, DIA_ORC_6212_POKh_Guard_MistTowerMission02)
        & (mPOKh_Scavenger_Skilful == FALSE)
      ){
    B_LogEntry (TOPIC_Scavenger_Skilful, "6");//отладочная печать
      return TRUE;
   };
    return FALSE;
};

func void DIA_POKh_Scavenger_Skilful_Info()
{
    B_LogEntry (TOPIC_Scavenger_Skilful, "7");//отладочная печать
    mPOKh_Scavenger_Skilful = TRUE;
      AI_SetWalkMode(self,NPC_RUN);
   AI_GotoWP(self, "OW_LESTER_FOREST_13");
  
    AI_StopProcessInfos(self);
   AI_GotoWP(self, "TOT");
};

Запускаю квест из диалога:

Код:
    Log_CreateTopic(TOPIC_Scavenger_Skilful, LOG_MISSION);
    Log_SetTopicStatus(TOPIC_Scavenger_Skilful, LOG_RUNNING);
    B_LogEntry (TOPIC_Scavenger_Skilful, "Орк Шак-Ек дал мне задание. Нужно избавиться от падальщика, который завелся на ферме");
    mPOKh_Scavenger_Skilful = FALSE;
    B_LogEntry (TOPIC_Scavenger_Skilful, "1");//отладочная печать
    mNPC = Hlp_GetNPC(Scavenger_Skilful);
    B_LogEntry (TOPIC_Scavenger_Skilful, "2");//отладочная печать
    Npc_ExchangeRoutine (mNPC, "Start");
    B_LogEntry (TOPIC_Scavenger_Skilful, "3");//отладочная печать
    AI_StopProcessInfos(self);
    B_LogEntry (TOPIC_Scavenger_Skilful, "4");//отладочная печать

Запускаю. Говорю с орком. Отладочные печати и 1 по 4 отрабатывают.

Бегу к падальщику. Диалог не стартует. Это при том, что отладочные печати 5 и 6 отрабатывают, а 7 нет.

При этом падальщик стоит застывший. Если "переселиться" в него и нажать F8 разморозить его все равно не удается. Он может поворачиваться вокруг своей оси, но сдвинуться с места не может.

Ставил отладочные печати внутри процедуры состояния ZS_MM_Rtn_EatGround. В нее попадает и по ней проходит. А все равно падальщик не шевелится и диалог не срабатывает (то есть, условия выполняются, а в тело диалога не попадаем).

Пробовал вместо INSTANCE Scavenger_Skilful (Mst_Default_Scavenger_Skilful) ставить INSTANCE Scavenger_Skilful (Npc_Default), результат тот же самый.

Всю голову сломал, никак не пойму, где грабли.
А по моему редактировать надо не скрипт диалога, а самого падальщика, и его поведение. Во первых: Не нужно мобам задавать рутину, это же не НПС, у них уже существует функция ZS_MM_Alscheduller, которая отвечает за все поведение. Можно попробовать изменить ее. И нельзя задавать НПС гильдию моба, это приводит к слету всех анимаций.

И еще, хочу вас спросить, у кого есть анимация ношения двуручного оружия на плече? Мне очень нужно. Возможно на каком нибудь сервере или у кого то лично есть. Знаю, что была в Темной саге, но там закрыты скрипты. не возможно понять у какого оружия какая анимация. Если у кого то есть дайте пожалуйста..
 

kraw


Модостроитель
Регистрация
11 Окт 2005
Сообщения
2.095
Благодарности
871
Баллы
295
У персонажей есть показатели защиты:

PROT_BLUNT
PROT_EDGE
PROT_POINT
PROT_FIRE
PROT_FLY
PROT_MAGIC

Некоторые из них (например PROT_MAGIC или PROT_FIRE) понятны. А вот остальные...

Кто-нить поясните, что есть что. А то нужно, чтобы гг мог убить одного определенного падальщика исключительно оружием "короткой дистанции" (мечем, топором и т. п.), но никак не из лука, арбалета, ледяной или огненной стрелой и прочей магией. Ну или дать такую защиту от дальнодействующего оружия, чтобы "жизнь малиной не казалась".

А по моему редактировать надо не скрипт диалога

Спасибо. Проблема уже решена.
 
Последнее редактирование модератором:

Kreol Nekr

Участник форума
Регистрация
21 Ноя 2014
Сообщения
229
Благодарности
109
Баллы
190
У персонажей есть показатели защиты:

PROT_BLUNT
PROT_EDGE
PROT_POINT
PROT_FIRE
PROT_FLY
PROT_MAGIC

Некоторые из них (например PROT_MAGIC или PROT_FIRE) понятны. А вот остальные...

Кто-нить поясните, что есть что. А то нужно, чтобы гг мог убить одного определенного падальщика исключительно оружием "короткой дистанции" (мечем, топором и т. п.), но никак не из лука, арбалета, ледяной или огненной стрелой и прочей магией. Ну или дать такую защиту от дальнодействующего оружия, чтобы "жизнь малиной не казалась".

Защита от режущего
Защита от дробящего
Защита от колющего
Защита от огня
Защита от падения
Защита от магии
 
Сверху Снизу