|
Re: Скриптинг в Готике
Ещё один вопрос.Вот скрипт моего диалога: instance DIA_Lobart_q (C_Info) { * * *npc = BAU_950_Lobart; * * *nr = 1; * * *condition = dia_Lobart_q_condition; * * *information = dia_Lobart_q_info; * * * * * * * * * * * * * * * * *permanent = FALSE; * * *important = FALSE; * * *description = "текст"; }; func int dia_Lobart_q_condition() { * * *if(Npc_KnowsInfo(other, DIA_Kiranor_q2 )) * * *{ * * * * * *return TRUE; * * *}; }; func void dia_Lobart_q_info() { AI_Output(other,self,"DIA_Lobart_q_15_00"); * * *//AI_Output(other,self,"DIA_Lobart_q_15_00"); * * *//текст AI_Output(self,other,"dia_Lobart_q_03_01"); * //текст Info_ClearChoices(dia_Lobart_q); Info_AddChoice(DIA_Lobart_q ,"текст",dia_Lobart_q_a); Info_AddChoice(DIA_Lobart_q ,"текст",dia_Lobart_q_s); }; func void dia_Lobart_q_a() { AI_Output(other,self,"dia_Lobart_q_a_15_00"); * * *//текст. AI_Output(self,other,"dia_Lobart_q_a_03_01"); * //текст AI_StopProcessInfos (self); }; func void dia_Lobart_q_s() { AI_Output(other,self,"DIA_Lobart_q_s_15_00"); * * *//текст AI_Output(self,other,"dia_Lobart_q_s_03_01"); * //текст AI_Output(other,self,"DIA_Lobart_q_s_15_01"); * * *//текст AI_Output(self,other,"dia_Lobart_q_s_03_02"); * //текст AI_StopProcessInfos (self); }; instance DIA_Lobart_q2 (C_Info) { * * *npc = BAU_950_Lobart; * * *nr = 1; * * *condition = dia_Lobart_q2_condition; * * *information = dia_Lobart_q2_info; * * * * * * * * * * * * * * * * *permanent = FALSE; * * *important = FALSE; * * *description = "текст"; }; func int dia_Lobart_q2_condition() { * * *if(Npc_KnowsInfo(other,dia_Lobart_q_a) && (Npc_HasItems(other,ItMi_Gold) >= 100)) * * *{ * * * * * *return TRUE; * * *}; }; func void dia_Lobart_q2_info() { AI_Output(other,self,"DIA_Lobart_q2_15_00"); * * *//текст b_giveinvitems(self,other,ItMi_Gold,100); B_GivePlayerXP(100); B_LogEntry(TOPIC_q2,"текст."); }; instance DIA_Lobart_q3 (C_Info) { * * *npc = BAU_950_Lobart; * * *nr = 1; * * *condition = dia_Lobart_q3_condition; * * *information = dia_Lobart_q3_info; * * * * * * * * * * * * * * * * *permanent = FALSE; * * *important = FALSE; * * *description = "текст"; }; func int dia_Lobart_q3_condition() { * * *if(Npc_KnowsInfo(other,dia_Lobart_q_s) && (Npc_HasItems(other,ItMi_Gold) >= 280)) * * *{ * * * * * *return TRUE; * * *}; }; func void dia_Lobart_q3_info() { AI_Output(other,self,"DIA_Lobart_q3_15_00"); * * *//текст b_giveinvitems(self,other,ItMi_Gold,100); B_GivePlayerXP(100); B_LogEntry(TOPIC_q2,"текст."); }; Компилятор выдаёт ошибку: 00:29 Fatal:-1 U: PAR:STORY/DIALOGE/DIA_BAU_LOBART.D:Wrong type:DIA_LOBART_Q_A...<zParser.cpp,#599. Как её можно исправить?Если я уберу DIA_LOBART_Q_A и поставлю DIA_LOBART_Q товсё работает! Но мне нужно имено чтобы я сначала сказал DIA_LOBART_Q_A и чтобы при мне было 100 монет. Как мне можно сделать?
|