Лебедев
Участник форума
- Регистрация
- 3 Сен 2005
- Сообщения
- 595
- Благодарности
- 77
- Баллы
- 225
Да легко:
Элементарную вещь сделать через жопу? Мож сразу Икарус?
Ваш пример диалога встречается в любой Готике чуть менее чем через раз.
instance DIA_511_SHIP(C_Info)
{
npc = KDF_511_Daron;
nr = 800;
condition = dia_511_SHIP_condition;
information = dia_511_SHIP_info;
permanent = 1; //Ставим выполнение диалога постоянным.
description = "Уважаемый Дарон, недалеко от острова на якоре стоит пиратский корабль, думаю они планируют напасть на город, нужна ваша помощь, чтоб защитить жителей.";
};
func int dia_511_SHIP_condition()
{
if((Npc_KnowsInfo(other,DIA_KIL_SHIP)) && (PRIZO25 == 1))
{
return TRUE;
};
};
func void dia_511_SHIP_info()
{
AI_Output(other,self,"DIA_511_SHIP_15_00"); //Уважаемый Дарон, недалеко от острова на якоре стоит пиратский корабль, думаю они планируют напасть на город, нужна ваша помощь, чтоб защитить жителей.
AI_Output(self,other,"DIA_511_SHIP_15_01"); //Для этого потребуется большой запас магической энергии, на покупку магических микстур мне необходимо 200 золотых.
if(Npc_HasItems(hero,ItMi_Gold) >= 200)
{
AI_Output(other,self,"DIA_511_SHIP_15_02"); //Вот деньги.
AI_Output(self,other,"DIA_511_SHIP_15_03"); //Не будем терять времени.
Npc_RemoveInvItems(hero,ItMi_Gold,200);
self.aivar[AIV_PARTYMEMBER] = TRUE;
Npc_ExchangeRoutine(self,"ship");
B_LogEntry(TOPIC_KILL7,"Надо сопровождать Дарона пока он не прочтет заклинание.");
DIA_511_SHIP.permanent = 0; //После выполнения этой ветки, диалог больше появляться не будет.
AI_StopProcessInfos(self);
};
if(Npc_HasItems(hero,ItMi_Gold) < 200)
{
AI_Output(other,self,"DIA_511_SHIP_15_04"); //У меня сейчас нет необходимой суммы денег.
AI_StopProcessInfos(self);
};
};
Тогда вопрос: где указано, что для каждого диалога резервируются данные наименование диалога и permanent в движке и при сохранении данных?
Мною не встречен открытый код в котором пишется в файл сохранения - сохранить следующие данные (это скрыто в движке).
За вариант спасибо.
Т.к. диалог у меня по сути состоит из 3 частей
1 часть. бесконечно выполняется
2 часть. 1 раз
3 часть. бесконечно выполняется
Такого в готике не применялось т.к. такие диалоги не писались. И Vam таких диалогов не мог описывать (Но это так мысли..)
Я бы это перекинул в скрипт прочтения заклинания, тогда бы точно выполнялось условия что ветка выполнена и диалог более не требуется, ибо гг может вернуться без прочтения Дароном.. а диалога уже не будет. А так по факту события как говорится.. Но это так мысли..
Дарон остаётся ждать ГГ на Маяке бесконечно (до истечения срока 24 часа) и второй способ прохождения квеста отрезается достаточно выполнить условие 200 монет заплатить Дарону.
Последнее редактирование: