|
Re: М: Уроки скриптологии
Вот значит весь скрипт. Осторожно, больше двухсот строк, точнее почти 300. [spoiler]instance dia_vlk_432_moe (C_Info) { * * *npc = vlk_432_moe; * * *nr = 1; * * *condition = dia_vlk_432_moe_condition; * * *information = dia_vlk_432_moe_info; * * *permanent = false; * * *important = true; };
func int dia_vlk_432_moe_condition () { * * *return TRUE; };
func void dia_vlk_432_moe_info () { * * *AI_Output (self, other, "dia_vlk_432_moe_01_01"); // Íå òîðîïèñü ; äðóæîê, ðàçãîâîð ; åñòü. * * *AI_Output (other, self, "dia_vlk_432_moe_02_01"); // ×òî òåáå íóæíî? * * *AI_Output (self, other, "dia_vlk_432_moe_01_02"); // Òû ïðèøåë íà íàùó òåððèòîð&# 232;þ è çäåñü äåéñòâóþ ; äðóãèå çàêîíû, íåæåëè â îñòàëüíû&# 245; ÷àñòÿõ ãîðîäà. * * *AI_Output (self, other, "dia_vlk_432_moe_01_03"); // Åñëè òû õî÷åøü ñïîêîéíî ; æèòü è ãóëÿòü ãäå õî÷åøü, òî çà ýòî íóæíî íàì çàïëàòèò&# 252;. * * *AI_Output (other, self, "dia_vlk_432_moe_02_02"); // À êòî âû òàêèå, ÷òîáû ÿ âàì ïëàòèë? * * *AI_Output (self, other, "dia_vlk_432_moe_01_04"); // Ìû? Òû ðàçâå íå ñëûøàë î áàíäå "×åðíûå ßñòðåáû"? * * *AI_Output (other, self, "dia_vlk_432_moe_01_03"); // Íåò, íå ñëûøàë. * * *AI_Output (self, other, "dia_vlk_432_moe_01_05"); // Íó, òåïåðü çíà÷èò óñëûøàë. * * *AI_Output (self, other, "dia_vlk_432_moe_01_06"); //  îáùåì, òû äîëæåí áóäåøü ïëàòèòü íàì êàæäûé äåíü ïî 20 ìîíåò. ß äóìàþ, äëÿ òåáÿ ýòî íå ñîñòàâèò ; òðóäà. * * *Info_ClearChoices (dia_vlk_432_moe); * * *Log_CreateTopic (TOPIC_BlackHawks, LOG_MISSION); * *Log_SetTopicStatus (TOPIC_BlackHawks, LOG_RUNNING); * *B_LogEntry (TOPIC_BlackHawks, " ïîðòó ÿ âñòðåòèë ; Ìî, ÷ëåíà áàíäû ×åðíûõ ßñòðåáîâ ;. Îí âûìîãàå ó ìåíÿ äåíüãè."); * * *Info_ClearChoices (dia_vlk_432_moe); * * *Info_AddChoice (dia_vlk_432_moe, "À íå ïîøåë áû òû ê òàêîé-òî áàáóøêå?", dia_vlk_432_moe_1); * *Info_AddChoice (dia_vlk_432_moe, "Õîðîøî, ÿ ñîãëàñåí." , dia_vlk_432_moe_2); };
func void dia_vlk_432_moe_1 () { * * *AI_Output (other, self, "dia_vlk_432_moe_1_02_01"); // À íå ïîøåë áû òû ê òàêîé-òî áàáóøêå? * * *AI_Output (self, other, "dia_vlk_432_moe_1_01_01"); // Ïàðåíü, òû, íàâåðíîå ;, ìåíÿ íå ïîíÿë. Íó, ýòî íå áåäà, ñåé÷àñ ÿ òåáå âñ¸ îáúÿñíþ. * * *B_Attack(self,other,AR_NONE,1); * * *AI_StopProcessInfos(self); };
func void dia_vlk_432_moe_2 () { * * *AI_Output(other,self,"dia_vlk_432_moe_2_02_01"); // Õîðîøî, ÿ ñîãëàñåí ;. * * *AI_Output(self,other,"dia_vlk_432_moe_2_01_01"); // Òû âñå ïðàâèëüí&# 238; ñäåëàë. Íå çàáóäü íàâåäûâà&# 242;üñÿ êî ìíå êàæäûé äåíü. * * *B_GiveInvItems(other,self,ItMi_Gold, 20); * * *B_LogEntry (TOPIC_BlackHawks, "Òåïåðü ÿ äîëæåí êàæäûé äåíü ïëàòèòü Ìî 20 çîëîòûõ."); * * *AI_StopProcessInfos(self); };
instance dia_vlk_432_moe_afterfight_loose (C_Info) { * * *npc = vlk_432_moe; * * *nr = 2; * * *condition = dia_vlk_432_moe_afterfight_loose_condition; * * *information = dia_vlk_432_moe_afterfight_loose_info; * * *permanent = false; * * *important = true; };
func int dia_vlk_432_moe_afterfight_loose_condition () { * * *if((self.aivar[AIV_LastFightAgainstPlayer] == FIGHT_LOST) && Npc_IsInState(self,ZS_Talk)) * * *{ * * * * * *return TRUE; * * *}; };
func void dia_vlk_432_moe_afterfight_loose_info () { * * *AI_Output(self,other,"dia_vlk_432_moe_faterfight_ loose_02_01"); // À òû óïåðòûé ïàðåíü. È ÿ çàìàðàë ñâîé ñþðòóê, ïîýòîìó òû áóäåøü ïëàòèòü íå 20, à 40 çîëîòûõ. * * *AI_Output(self,other,"dia_vlk_432_moe_faterfight_ loose_02_02"); // ß äóìàþ ýòî íàó÷èò òåáÿ óâàæàòü ñòàðøèõ. Òû ìåíÿ ïîíÿë? * * *AI_Output(other,self,"dia_vlk_432_moe_faterfight_ loose_01_01"); // Äà, ÿ âñå ïîíÿë. * * *B_LogEntry(TOPIC_BlackHawks, "Òåïåðü ÿ äîëæåí êàæäûé äåíü ïëàòèòü Ìî 40 çîëîòûõ."); * * *AI_StopProcessInfos(self); };
instance dia_vlk_432_moe_afterfight_win (C_Info) { * * *npc = vlk_432_moe; * * *nr = 2; * * *condition = dia_vlk_432_moe_afterfight_win_condition; * * *information = dia_vlk_432_moe_afterfight_win_info; * * *permanent = false; * * *important = true; };
func int dia_vlk_432_moe_afterfight_win_condition () { * * *if((self.aivar[AIV_LastFightAgainstPlayer] != FIGHT_LOST) && Npc_IsInState(self,ZS_Talk)) * * *{ * * * * * *return TRUE; * * *}; };
func void dia_vlk_432_moe_afterfight_win_info () { * * *AI_Output(self,other,"dia_vlk_432_moe_faterfight_ win_02_01"); // Ïàðåíü, ó òåáÿ áîëüøèå íåïðèÿòí&# 238;ñòè! ß òàê ýòî äåëî íå îñòàâëþ. * * *B_LogEntry(TOPIC_BlackHawks, "ß ïîáåäèë Ìî, îí îáåùàë ìíå óñòðîèòü ; íåïðèÿòí&# 238;ñòè."); * * *AI_StopProcessInfos(self); };
* * * instance dia_vlk_432_moe_pay (C_Info) { * * *npc = vlk_432_moe; * * *nr = 3; * * *condition = dia_vlk_432_moe_pay_condition; * * *information = dia_vlk_432_moe_pay_info; * * *permanent = true; * * *important = true; };
func int dia_vlk_432_moe_pay_condition () { * * *If(Npc_KnowsInfo(other, dia_vlk_432_moe_2)) * * *{ * * *return TRUE; * * *}; };
func void dia_vlk_432_moe_pay_info () { * * *AI_Output ( self, other, "dia_vlk_432_moe_pay_01_01"); // Òû, íàâåðíîå ;, ïðèí¸ñ äåíüãè? * * *Info_Addchoice (dia_vlk_432_moe_pay, "Äà, âîò îíè.", dia_vlk_432_moe_pay_yes); * * *Info_Addchoice (dia_vlk_432_moe_pay, "Òû íè÷åãî íå ïîëó÷èøü!" , dia_vlk_432_moe_pay_no); };
func void dia_vlk_432_moe_pay_info_yes () { * * *AI_Output ( other, self, "dia_vlk_432_moe_pay_yes_02_01"); // Äà, âîò îíè. * * *if(B_GiveInvItems(other,self,ItMi_Gold,20)) * * *{ * * * * * *AI_Output(self,other,"DIA_vlk_432_moe_pay_yes_01_ 01"); * * *//Íó õîðîøî, ìîæåøü èäòè. * * * * * *AI_StopProcessInfos(self); * * *} * * *else if(Npc_HasItems(hero,ItMi_Gold) <20) * * *{ * * * * * *AI_Output(self,other,"DIA_vlk_432_moe_pay_yes_01_ 01"); * * *// Çäåñü íå âñ¸! Òû ðåøèë ïåðåõèòð&# 232;òü ìåíÿ! * * * * * *B_Attack(self,other,AR_NONE,1); * * *}; }; * * * instance dia_vlk_432_moe_pay40 (C_Info) { * * *npc = vlk_432_moe; * * *nr = 4; * * *condition = dia_vlk_432_moe_pay40_condition; * * *information = dia_vlk_432_moe_pay40_info; * * *permanent = true; * * *important = true; };
func int dia_vlk_432_moe_pay40_condition () * * *{ * * *If (Npc_KnowsInfo(other, dia_vlk_432_moe_afterfight_loose)) * * *{ * * *return TRUE; * * *}; };
func void dia_vlk_432_moe_pay40_info () { * * *AI_Output ( self, other, "dia_vlk_432_moe_pay40_01_01"); // Òû, íàâåðíîå ;, ïðèí¸ñ äåíüãè? * * *Info_Addchoice (dia_vlk_432_moe_pay40, "Äà, âîò îíè.", dia_vlk_432_moe_pay40_yes); * * *Info_Addchoice (dia_vlk_432_moe_pay40, "Òû íè÷åãî íå ïîëó÷èøü!" , dia_vlk_432_moe_pay40_no); };
func void dia_vlk_432_moe_pay40_info_yes () { * * *AI_Output ( other, self, "dia_vlk_432_moe_pay40_yes_02_01"); // Äà, âîò îíè. * * *if(B_GiveInvItems(other,self,ItMi_Gold,40)) * * *{ * * * * * *AI_Output(self,other,"DIA_vlk_432_moe_pay40_yes_0 1_01"); * * *//Íó õîðîøî, ìîæåøü èäòè. * * * * * *AI_StopProcessInfos(self); * * * * * * * * *} * * *else if(Npc_HasItems(hero,ItMi_Gold) >40) * * *{ * * * * * *AI_Output(self,other,"DIA_vlk_432_moe_pay40_yes_0 1_01"); * * *// Çäåñü íå âñ¸! Òû ðåøèë ïåðåõèòð&# 232;òü ìåíÿ! * * * * * *B_Attack(self,other,AR_NONE,1); * * * * * *AI_StopProcessInfos(self); * * *}; };
instance dia_moe_ment (C_Info) { * * *npc = vlk_432_moe; * * *nr = 5; * * *condition = dia_moe_ment_condition; * * *information = dia_moe_ment_info; * * *permanent = true; * * *important = true; };
func int dia_moe_ment_condition () { * * *If(other.guild == GIL_MIL) * * *{ * * *return TRUE; * * *}; };
func void dia_moe_ment_info () { * * *AI_Output ( self, other, "dia_moe_ment_01_01"); // Ýé, ïàðíè! Âîò ýòîò òèï, ïðî êîòîðîãî ; ÿ âàì ãîâîðèë! * * *AI_Output ( other, self, "dia_moe_ment_02_01"); // Òåáå ïîêàçàëî&# 241;ü ìàëî ïðîøëîãî ; ðàçãîâîð&# 224;? * * *AI_Output ( self, other, "dia_moe_ment_01_02"); // Ñåé÷àñ ÿ òåáå çàäàì, ìåíòîâñê&# 224;ÿ ñêîòèíà! * * *B_LogEntry(TOPIC_BlackHawks, "Âñÿ áàíäà ×åðíûõ ßñòðåáîâ ; õî÷åò ìåíÿ óáèòü. ß äîëæåí ïîãîâîðè&# 242;ü ïî ýòîìó ïîâîäó ñ Ëîðäîì Àíäðå."); * * *B_Attack(self,other,AR_NONE,1); * * *AI_StopProcessInfos(self); };
instance dia_moe_join (C_Info) { * * *npc = vlk_432_moe; * * *nr = 6; * * *condition = dia_moe_join_condition; * * *information = dia_moe_join_info; * * *permanent = false; * * *important = true; };
func int dia_moe_join_condition () { * * *If(other.guild != GIL_MIL) && (other.guild != GIL_PAL) * * *{ * * * * * *return TRUE; * * *}; };
func void dia_moe_join_info () { * * *AI_Output ( self, other, "dia_moe_join_01_01"); // Ýé, ïàðåíü! * * *AI_Output ( other, self, "dia_moe_join_02_01"); // ×òî? Îïÿòü çà ñòàðîå? * * *AI_Output ( self, other, "dia_moe_join_01_02"); // Íåò. Ó ìåíÿ åñòü ê òåáå äåëî. * * *AI_Output ( * * *other, self, "dia_moe_join_02_02"); // Êàêîå åùå äåëî? * * *AI_Output ( self, other, "dia_moe_join_01_03"); // Òîáîé çàèíòåðå&# 241;îâàëñÿ íàø áîññ, Îñêàð. Îí õîòåë áû âñòðåòèò&# 252;ñÿ ñ òîáîé. * * *AI_Output ( other, self, "dia_moe_join_02_03"); // ×òîáû ìåíÿ ïðèêîí÷è&# 242;ü? * * *AI_Output ( self, other, "dia_moe_join_01_04"); // Íåò, ÷òîáû ïîãîâîðè&# 242;ü. Ïðèõîäè â ïîëíî÷ü â òàâåðíó Êàðäèôà, îí áóäåò æäàòü òåáÿ. * * *B_LogEntry(TOPIC_BlackHawks, "Ìåíÿ õî÷åò âèäåòü ãëàâàðü áàíäû. Ìíå íóæíî ïðèéòèâ òàâåðíó Êàðäèôà â ïîëíî÷ü."); * * *AI_StopProcessInfos(self); };
instance dia_moe_enter (C_Info) { * * *npc = vlk_432_moe; * * *nr = 7; * * *condition = dia_moe_enter_condition; * * *information = dia_moe_enter_info; * * *permanent = true; * * *important = true; };
func int dia_moe_enter_condition () { * * *if(Wld_IsTime(0,0,2,0)) * * *{ * * * * * *return TRUE; * * *}; };
func void dia_moe_enter_info () { * * *AI_Output ( self, other, "dia_moe_enter_01_01"); // ×òî òåáå çäåñü íóæíî? * * *AI_Output ( other, self, "dia_moe_enter_02_01"); // Õî÷ó ïîñèäåòü ; â òàâåðíå. * * *AI_Output ( other, self, "dia_moe_enter_01_02"); // Ïðèõîäè ïîçæå, òàâåðíà óæå ïåðåïîëí&# 229;íà. * * *AI_StopProcessInfos(self); };
instance dia_moe_enterjoin (C_Info) { * * * * * *npc = vlk_432_moe; * * *nr = 8; * * *condition = dia_moe_enterjoin_condition; * * *information = dia_moe_enterjoin_info; * * *important = true; * * *permanent = false; };
func int dia_moe_enterjoin_condition () { * * *If(Npc_KnowsInfo(other, dia_moe_join)) * * *{ * * * * * *return true; * * *}; };
func void dia_moe_enterjoin_info () { * * *AI_Output ( self, other, "dia_moe_enterjoin_01_01"); // Ñòîé. ×òî òåáå çäåñü íóæíî? * * *AI_Output ( other, self, "dia_moe_enterjoin_02_01"); // Ìåíÿ æäåò âàø áîññ. * * *AI_Output ( self, other, "dia_moe_enterjoin_01_02"); // Ïðîõîäè. * * *AI_StopProcessInfos(self); }; [/spoiler]
Да что ж ты будешь делать. Текст из ноутпада не делаеться по-русски
|