Новости Вышел первый трейлер будущей космической РПГ Exodus
  • 344
  • 1
Студия Archetype Entertainment представила первый трейлер Exodus - научно-фантастической РПГ в духе Mass Effect. Её разработкой занимается команда во главе с ветераном BioWare Джеймсом Оленом. По...
Новости Новые скриншоты и детали Gothic Remake: изменения башни, орков и монстров
  • 968
  • 7
Также изменился и путь к башне. Теперь его охраняют големы, которые могут активно взаимодействовать с окружающей средой, делая прохождение более сложным. Стоит отметить, что даже затопленные руины...
Новости Path of Exile 2 - игра ворвалась в топ Steam и собрала 1,3 млн зрителей в Твиче
  • 932
  • 7
Тому кто знаком с диаблоидами, не стоит представлять данную игру. Первая часть была невероятно популярной и по праву носила звание лучшей ARPG среди Hack&Slash-игр. И вот вчера, 6 декабря...
Новости Ремейк "Готики 1" | Трейлер Showcase 2024
  • 7.806
  • 9
Новички, пришло время принять реальность и смириться с судьбой. Чувствуйте себя как дома в Долине Рудников, месте, полном опасностей, преступлений и жадности. Вам предстоит оставаться здесь очень...

Вопросы по скриптингу в Готике

WoOliN

Герой
Команда форума
Модератор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
5 Сен 2012
Сообщения
5.469
Реакции
3.201
Баллы
711
Лучшие ответы
403

Milaskus

Постоялец
Участник форума
Регистрация
13 Авг 2020
Сообщения
52
Реакции
70
Баллы
20
Лучшие ответы
0
А эта переменная задана где-то предварительно?

Обычно их файле Story_Globals.d задают в виде
var int mis_BECOMEKDW;
Нет, искал где переменные миссий находятся. Не нашел, думал что так прокатит. Поищу спасибо за ответ
 

WoOliN

Герой
Команда форума
Модератор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
5 Сен 2012
Сообщения
5.469
Реакции
3.201
Баллы
711
Лучшие ответы
403
Поищи по переменной любого существующего квеста.

Искать легче всего так, как показано на скринах ниже
11.jpg 12.jpg 13.jpg

Окно сообщений с результатами поиска находится в левом нижнем углу программы.
 

Milaskus

Постоялец
Участник форума
Регистрация
13 Авг 2020
Сообщения
52
Реакции
70
Баллы
20
Лучшие ответы
0
Научите пожалуйста способу как сделать диалог.
Хочу сделать чтобы гг проходил проверку на GILD_KDW(мага воды) и блокировал(удалял) строку в меню диалога (убирал permanent = TRUE) после ответа. По тексту понятно чтобы не учили маги воды. (я знаю что они и так не учат, просто хочу оставить возможность спросить.) Следовал примеру Педро(у него 3 варианта диалога). И никак не выходит, всегда один вариант, полное отсутствие строки о повышении круга магии из данного примера.. Я не понимаю как работает вариант с Педро. Перебирал разные варианты (сравнения и исключения гильдий, без гильдии), но так и не разобрался.





{
npc = kdf_504_parlan;
nr = 99;
condition = dia_parlan_circle1_condition;
information = dia_parlan_circle1_info;
permanent = TRUE;
description = "Научи меня первому Кругу магии.";
};

var int dia_pedro_aufnahme_noperm; (текст для примера я писал просто dia_kdw_noperm)
func int dia_parlan_circle1_condition()
{
if(Npc_KnowsInfo(hero,dia_parlan_mage) && (other.guild == GIL_KDF) && (Npc_GetTalentSkill(other,NPC_TALENT_MAGE) == 0) && (dia_pedro_aufnahme_noperm == FALSE))
{
return TRUE;
};
};


func void dia_parlan_circle1_info()
{
AI_Output(other,self,"DIA_Parlan_TECH_CIRCLE1_15_00"); //Научи меня первому Кругу магии.
if(b_teachmagiccircle(self,other,1))
{
AI_Output(self,other,"DIA_Parlan_TECH_CIRCLE1_05_01"); //Первый Круг магии позволит тебе использовать руны, созданные тобой.
AI_Output(self,other,"DIA_Parlan_TECH_CIRCLE1_05_02"); //Теперь ты достоин узнать формулы заклинаний для создания собственных рун.
AI_Output(self,other,"DIA_Parlan_TECH_CIRCLE1_05_03"); //Каждый из нас специализируется на своей области магии. Так что хорошо подумай, в какой области хочешь специализироваться ты.
}

if(hero.guild ==GIL_KDW)
{
AI_Output(self,other,"dia_mod_gilkdw_parlan_circle_05_01"); //О Инос, что творит этот Маг..
AI_Output(self,other,"dia_mod_gilkdw_parlan_circle_05_02"); //Ты Маг Воды, как ты можешь просить такое?!
AI_Output(self,other,"dia_mod_gilkdw_parlan_circle_05_03"); //НЕТ! Кругам магии мы МАГИ ОГНЯ, обучаем только Магов Огня!
dia_pedro_aufnahme_noperm = TRUE;
};
};


instance dia_pedro_aufnahme(C_INFO)
{
npc = nov_600_pedro;
condition = dia_pedro_aufnahme_condition;
information = dia_pedro_aufnahme_info;
permanent = TRUE;
description = "Я хочу стать послушником.";
};


var int dia_pedro_aufnahme_noperm;

func int dia_pedro_aufnahme_condition()
{
if(Npc_KnowsInfo(hero,dia_pedro_rules) && (dia_pedro_aufnahme_noperm == FALSE))
{
return TRUE;
};
};

func void b_dia_pedro_aufnahme_choice()
{
Info_ClearChoices(dia_pedro_aufnahme);
Info_AddChoice(dia_pedro_aufnahme,"Я еще немного подумаю над этим.",dia_pedro_aufnahme_no);
Info_AddChoice(dia_pedro_aufnahme,"Да, я хочу посвятить свою жизнь служению Инносу.",dia_pedro_aufnahme_yes);
};

func void dia_pedro_aufnahme_info()
{
AI_Output(other,self,"DIA_Pedro_AUFNAHME_15_00"); //Я хочу стать послушником.
Npc_PerceiveAll(self); Эту строку подставлял роли не сыграло..
if(hero.guild != GIL_NONE)
{
AI_Output(self,other,"DIA_Pedro_AUFNAHME_09_01"); //Ты уже выбрал свой путь. Путь магии закрыт для тебя.
dia_pedro_aufnahme_noperm = TRUE;
}
else if(Npc_KnowsInfo(other,dia_addon_pedro_statuette))
{
AI_Output(self,other,"DIA_Addon_Pedro_AUFNAHME_09_02"); //Твое решение окончательно? Пути назад для тебя уже не будет.
b_dia_pedro_aufnahme_choice();
}
else if((hero.guild == GIL_NONE) && (Npc_HasItems(hero,itmi_gold) >= SUMME_KLOSTER) && Wld_DetectNpc(self,follow_sheep,NOFUNC,-1) && (Npc_GetDistToNpc(self,other) < 1000))
{
AI_Output(self,hero,"DIA_Pedro_AUFNAHME_09_03"); //Я вижу, ты принес необходимое приношение. Если ты действительно желаешь этого, ты можешь стать послушником.
AI_Output(self,hero,"DIA_Pedro_AUFNAHME_09_04"); //Однако, если ты примешь это решение, пути назад не будет - хорошо подумай, твой ли это путь!
b_dia_pedro_aufnahme_choice();
}
else
{
AI_Output(self,other,"DIA_Pedro_AUFNAHME_09_02"); //Ты не принес необходимое приношение.
};
};
 

Liker

Демиург
Команда форума
Редактор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
21 Фев 2016
Сообщения
23.964
Реакции
19.674
Баллы
1.341
Лучшие ответы
754
@Milaskus, убрать permanent с диалога нельзя. Надо чтобы условие не выполнялось и все. На скрине все верно. dia_pedro_aufnahme_noperm станет TRUE и диалог больше не покажется. Вроде все верно
 

Milaskus

Постоялец
Участник форума
Регистрация
13 Авг 2020
Сообщения
52
Реакции
70
Баллы
20
Лучшие ответы
0
@Milaskus, убрать permanent с диалога нельзя. Надо чтобы условие не выполнялось и все. На скрине все верно. dia_pedro_aufnahme_noperm станет TRUE и диалог больше не покажется. Вроде все верно
Тут хотел чтобы он вначале текст проговорил. А получается что нет самого варианта диалога изначально. Вот пример из вступления в Ги МВ.

instance DIA_MOD_SATURAS_GILKDW_JOIN(C_INFO)
{
npc = kdw_1400_addon_saturas_nw;
nr = 700;
condition = dia_mod_saturas_gilkdw_join_condition;
information = dia_mod_saturas_gilkdw_join_info;
permanent = TRUE;
description = "Я могу стать Магом Воды?";
};





var int DIA_MOD_SATURAS_GILKDW_join_noperm;
func int dia_mod_saturas_gilkdw_join_condition()
{
if((MIS_BECOMEKDW == LOG_Running) && (DIA_MOD_SATURAS_GILKDW_join_noperm == FALSE) && (other.guild == GIL_NONE))
{
return TRUE;
};
};



func void b_dia_mod_saturas_gilkdw_join_choice()
{
Info_ClearChoices(DIA_MOD_SATURAS_GILKDW_JOIN);
Info_AddChoice(DIA_MOD_SATURAS_GILKDW_JOIN,"Мне надо подумать.",dia_mod_saturas_gilkdw_no);
Info_AddChoice(DIA_MOD_SATURAS_GILKDW_JOIN,"Да, я желаю вступить в круг Магов Воды.",dia_mod_saturas_gilkdw_yes);
};





func void dia_mod_saturas_gilkdw_join_info()
{
AI_Output(other,self,"DIA_mod_Saturas_gilkdw_Join_info_15_00"); //Я могу стать Магом Воды?
Npc_PerceiveAll(self);

if(hero.guild != GIL_NONE)
{
AI_Output(self,other,"DIA_mod_Saturas_gilkdw_join_info_14_05"); // Ты являешься членом другой гильдии, и путь Мага Воды для тебя закрыт.
DIA_MOD_SATURAS_GILKDW_join_noperm = TRUE;
}
else if((hero.guild == GIL_NONE) && (mis_addon_lares_ornament2saturas == LOG_RUNNING) && (mis_addon_vatras_wherearemissingpeople == LOG_SUCCESS)) //LOG_RUNNING;
{
AI_Output(self,other,"DIA_mod_Saturas_gilkdw_join_14_00"); // Ты узнал причину пропажи жителей острова?
AI_Output(other,self,"DIA_mod_Saturas_gilkdw_join_15_01"); // Да, я уже доложил Ватрасу.
AI_Output(self,other,"DIA_mod_Saturas_gilkdw_join_14_01"); // Хорошо, ты достаточно помог нам.
AI_Output(self,other,"DIA_mod_Saturas_gilkdw_join_14_02"); // Тперь ты можешь вступить в Маги Воды?
b_dia_mod_saturas_gilkdw_join_choice();
}
else if(hero.guild == GIL_NONE)
{
AI_Output(self,other,"DIA_mod_Saturas_gilkdw_join_14_03"); // Ты узнал причину пропажи жителей острова?
AI_Output(other,self,"DIA_mod_Saturas_gilkdw_join_15_02"); // Еще нет.
AI_Output(self,other,"DIA_mod_Saturas_gilkdw_join_14_04"); // (Разгневан)Тогда не беспокой меня пока не сделаешь то, что должен!!!
AI_StopProcessInfos(self);
};
};

Просто не появляется диалог, "Ты являешься членом другой гильдии, и путь Мага Воды ы являешься членом другой гильдии, и путь Мага Воды " А то что по скрипту все правильно, может и правильно. Результата нет..
 

Liker

Демиург
Команда форума
Редактор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
21 Фев 2016
Сообщения
23.964
Реакции
19.674
Баллы
1.341
Лучшие ответы
754
@Milaskus, а диалог новый или старый переделанный? Любой новый диалог требует запускать новой игры.
 

Milaskus

Постоялец
Участник форума
Регистрация
13 Авг 2020
Сообщения
52
Реакции
70
Баллы
20
Лучшие ответы
0
@Milaskus, а диалог новый или старый переделанный? Любой новый диалог требует запускать новой игры.
Диалог новый. каждое изменение проверяю, запуском новой игры после смены скриптов. Когда "G" нажимаешь в игре там написано два варианта гильдии "GUILD" и "GUILDTRUE". до диалога, при выполнении всех условий вступления, когда уже можно вступить. Вызывал CH. Менял гильдию. Оба показателя "Паладин" к примеру. И диалог просто исчезает при общении. Могу видео для наглядности записать.
 

Liker

Демиург
Команда форума
Редактор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
21 Фев 2016
Сообщения
23.964
Реакции
19.674
Баллы
1.341
Лучшие ответы
754
@Milaskus, 7 лет занимаюсь готикой, до сих пор не знаю что такое true guild и чем она от guild отличается... Ну мб кто поможет.
 

Kor.Angar

Гвардеец
Команда форума
Редактор раздела
Модостроитель
Тестировщик
 
Участник форума
Регистрация
2 Июн 2019
Сообщения
1.472
Реакции
636
Баллы
250
Лучшие ответы
44
тебе проще сделать под это отдельную новую инстнацию. например вот так
 

Вложения

Сверху Снизу