|
Re: Уроки скриптологии
// ************************************************** ************ // НПС slf называет НПС oth сумму денежного выражения goldAmount // ************************************************** ************
func void B_Say_Gold(var C_NPC slf,var C_NPC oth,var int goldAmount) { * *if(goldAmount == 1000) *{ B_Say(slf,oth,"$GOLD_1000"); *}; * *if(goldAmount == 950) * { B_Say(slf,oth,"$GOLD_950"); * }; * *if(goldAmount == 900) * { B_Say(slf,oth,"$GOLD_900"); * }; * *if(goldAmount == 850) * { B_Say(slf,oth,"$GOLD_850"); * }; * *if(goldAmount == 800) * { B_Say(slf,oth,"$GOLD_800"); * }; * *if(goldAmount == 750) * { B_Say(slf,oth,"$GOLD_750"); * }; * *if(goldAmount == 700) * { B_Say(slf,oth,"$GOLD_700"); * }; * *if(goldAmount == 650) * { B_Say(slf,oth,"$GOLD_650"); * }; * *if(goldAmount == 600) * { B_Say(slf,oth,"$GOLD_600"); * }; * *if(goldAmount == 550) * { B_Say(slf,oth,"$GOLD_550"); * }; * *if(goldAmount == 500) * { B_Say(slf,oth,"$GOLD_500"); * }; * *if(goldAmount == 450) * { B_Say(slf,oth,"$GOLD_450"); * }; * *if(goldAmount == 400) * { B_Say(slf,oth,"$GOLD_400"); * }; * *if(goldAmount == 350) * { B_Say(slf,oth,"$GOLD_350"); * }; * *if(goldAmount == 300) * { B_Say(slf,oth,"$GOLD_300"); * }; * *if(goldAmount == 250) * { B_Say(slf,oth,"$GOLD_250"); * }; * *if(goldAmount == 200) * { B_Say(slf,oth,"$GOLD_200"); * }; * *if(goldAmount == 150) * { B_Say(slf,oth,"$GOLD_150"); * }; * *if(goldAmount == 100) * { B_Say(slf,oth,"$GOLD_100"); * }; * *if(goldAmount == 90) * *{ B_Say(slf,oth,"$GOLD_90"); * *}; * *if(goldAmount == 80) * *{ B_Say(slf,oth,"$GOLD_80"); * *}; * *if(goldAmount == 70) * *{ B_Say(slf,oth,"$GOLD_70"); * *}; * *if(goldAmount == 60) * *{ B_Say(slf,oth,"$GOLD_60"); * *}; * *if(goldAmount == 50) * *{ B_Say(slf,oth,"$GOLD_50"); * *}; * *if(goldAmount == 40) * *{ B_Say(slf,oth,"$GOLD_40"); * *}; * *if(goldAmount == 30) * *{ B_Say(slf,oth,"$GOLD_30"); * *}; * *if(goldAmount == 20) * *{ B_Say(slf,oth,"$GOLD_20"); * *}; * *if(goldAmount == 10) * *{ B_Say(slf,oth,"$GOLD_10"); * *}; };
... еще файл
// ******************************* // НПС slf преветствует НПС oth // *******************************
func void B_Say_GuildGreetings(var C_NPC slf,var C_NPC oth) { * *// если милиция приветствует милицию или паладина * *if(slf.guild == GIL_MIL) && ((oth.guild == GIL_MIL) ¦¦ (oth.guild == GIL_PAL)) * *{ * * * *// звучит SVM фраза "За короля!" * * * *B_Say_Overlay(slf,oth,"$MILGREETINGS"); * * * *return; * *}; * *// если паладин приветствует паладина или милицию или магов огня * *if(slf.guild == GIL_PAL) && ((oth.guild == GIL_PAL) ¦¦ (oth.guild == GIL_MIL) ¦¦ (oth.guild == GIL_KDF)) * *{ * * * *// звучит SVM фраза "За Инноса!" * * * *B_Say_Overlay (slf,oth,"$PALGREETINGS"); * * * *return; * *}; * *// если маг огня приветствует паладина или мага послушника или мага огня * *if(slf.guild == GIL_KDF) && ((oth.guild == GIL_PAL) ¦¦ (oth.guild == GIL_NOV) ¦¦ (oth.guild == GIL_KDF)) * *{ * * * *// звучит SVM фраза "За Инноса!" * * * *B_Say_Overlay (slf,oth,"$PALGREETINGS"); * * * *return; * *}; * *// если приветствующий Барток и он сообщал об одиноком орке перед Хоринисом * *if(Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Bartok)) && (Bartok_OrkGesagt == TRUE) * *{ * * * *// Барток говорит об одиноком орке перед Хоринисом * * * *B_Bartok_ShitAnOrc(); * * * *return; * *}; * *// если приветствующий Кок * *if(Hlp_GetInstanceID(slf) == Hlp_GetInstanceID(Koch)) * *{ * * * *// Кок говорит о топоре * * * *B_Koch_Hackebeil(); * * * *return; * *}; * *var int zufall; * *zufall = Hlp_Random(100); * *// с вероятностью 0.1 и если идет дождь * *if((zufall <= 10) && Wld_IsRaining()) * *{ * * * *// звучит SVM фраза "Ну и скверная же погода!" * * * *B_Say_Overlay(slf,oth,"$WEATHER"); * * * *return; * * * * * *}; };
... и ещё
// ************************************************ // *Мини реплики НПС // ************************************************
func void B_Say_Smalltalk() { * *var int random; * *random = Hlp_Random (120); * *var int Choice; * *Choice = Hlp_Random(1); * *// с вероятностью 0.04 * *if(random < 5) * *{ * * * *// НПС произносит SVM фразу "... ты, правда, так думаешь..." * * * *B_Say(self,self,"$SMALLTALK01"); * *} * *// с вероятностью 0.04 * *else if(random < 10) * *{ * * * *// НПС произносит SVM фразу "... все возможно..." * * * *B_Say(self,self,"$SMALLTALK02"); * *} * *// с вероятностью 0.04 * *else if(random < 15) * *{ * * * *// НПС произносит SVM фразу "... он должен больше знать об этом..." * * * *B_Say(self,self,"$SMALLTALK03"); * *} * *// с вероятностью 0.04 * *else if(random < 20) * *{ * * * *// НПС произносит SVM фразу "... как будто у меня и так мало проблем..." * * * *B_Say(self,self,"$SMALLTALK04"); * *} * *// с вероятностью 0.04 * *else if(random < 25) * *{ * * * *// НПС произносит SVM фразу "... кто мог рассказать такое..." * * * *B_Say(self,self,"$SMALLTALK05"); * *} * *// с вероятностью 0.04 * *else if(random < 30) * *{ * * * *// НПС произносит SVM фразу "... все же я еще очень зол..." * * * *B_Say(self,self,"$SMALLTALK06"); * *} * *// с вероятностью 0.04 * *else if(random < 35) * *{ * * * *// НПС произносит SVM фразу "... кое-что болтают..." * * * *B_Say(self,self,"$SMALLTALK07"); * *} * *// с вероятностью 0.04 * *else if(random < 40) * *{ * * * *// НПС произносит SVM фразу "... я бы не делал этого..." * * * *B_Say(self,self,"$SMALLTALK08"); * *} * *// с вероятностью 0.04 * *else if(random < 45) * *{ * * * *// НПС произносит SVM фразу "... это всего лишь запах..." * * * *B_Say(self,self,"$SMALLTALK09"); * *} * *// с вероятностью 0.04 * *else if(random < 50) * *{ * * * *// НПС произносит SVM фразу "... нужно узнать, что они там замышляют..." * * * *B_Say(self,self,"$SMALLTALK10"); * *} * *// с вероятностью 0.04 * *else if(random < 55) * *{ * * * *// НПС произносит SVM фразу "... а я тебе что говорил..." * * * *B_Say(self,self,"$SMALLTALK11"); * *} * *// с вероятностью 0.04 * *else if(random < 60) * *{ * * * *// НПС произносит SVM фразу "... меня никто не спрашивал..." * * * *B_Say(self,self,"$SMALLTALK12"); * *} * *// с вероятностью 0.04 * *else if(random < 65) * *{ * * * *// НПС произносит SVM фразу "... бедный малый может и обидеть кого-нибудь..." * * * *B_Say(self,self,"$SMALLTALK13"); * *} * *// с вероятностью 0.04 * *else if(random < 70) * *{ * * * *// НПС произносит SVM фразу "... ничего нового..." * * * *B_Say(self,self,"$SMALLTALK14"); * *} * *// с вероятностью 0.04 * *else if(random < 75) * *{ * * * *// НПС произносит SVM фразу "... все ясно..." * * * *B_Say(self,self,"$SMALLTALK15"); * *} * *// с вероятностью 0.04 * *else if(random < 80) * *{ * * * *// НПС произносит SVM фразу "... меня не нужно спрашивать..." * * * *B_Say(self,self,"$SMALLTALK16"); * *} * *// с вероятностью 0.04 * *else if(random < 85) * *{ * * * *// НПС произносит SVM фразу "... так не может дальше продолжаться..." * * * *B_Say(self,self,"$SMALLTALK17"); * *} * *// с вероятностью 0.04 * *else if(random < 90) * *{ * * * *// НПС произносит SVM фразу "... мое мнение ты уже знаешь..." * * * *B_Say(self,self,"$SMALLTALK18"); * *} * *// с вероятностью 0.04 * *else if(random < 95) * *{ * * * *// НПС произносит SVM фразу "... я сказал то же самое..." * * * *B_Say(self,self,"$SMALLTALK19"); * *} * *// с вероятностью 0.04 * *else if(random < 100) * *{ * * * *// НПС произносит SVM фразу "... вряд ли что-нибудь изменится из-за этого..." * * * *B_Say(self,self,"$SMALLTALK20"); * *} * *// с вероятностью 0.04 * *else if(random < 105) * *{ * * * *// НПС произносит SVM фразу "... почему я узнаю об этом только сейчас..." * * * *B_Say(self,self,"$SMALLTALK21"); * *} * *// с вероятностью 0.04 * *else if(random < 110) * *{ * * * *// если НПС маг послушник или паладин или маг огня * * * *if(Npc_GetTrueGuild(self) == GIL_NOV) ¦¦ (Npc_GetTrueGuild(self) == GIL_PAL) ¦¦ (Npc_GetTrueGuild(self) == GIL_KDF) * * * *{ * * * * * *// с вероятностью 0.5 * * * * * *if(Choice == 0) * * * * * *{ * * * * * * * *// НПС произносит SVM фразу "... так написано в священных книгах..." * * * * * * * *B_Say(self,self,"$SMALLTALK28"); * * * * * *} * * * * * *else * * * * * *{ * * * * * * * *// НПС произносит SVM фразу "... давайте посмотрим, что из этого выйдет..." * * * * * * * *B_Say(self,self,"$SMALLTALK22"); * * * * * *}; * * * *} * * * *// если НПС бандит или наемник или охотник на драконов или пират * * * *else if(Npc_GetTrueGuild(self) == GIL_BDT) ¦¦ (Npc_GetTrueGuild(self) == GIL_SLD) ¦¦ (Npc_GetTrueGuild(self) == GIL_DJG) * * * *¦¦ *(Npc_GetTrueGuild(self) == GIL_PIR) * * * *{ * * * * * *// с вероятностью 0.5 * * * * * *if(Choice == 0) * * * * * *{ * * * * * * * *// НПС произносит SVM фразу "... он был пьянючий..." * * * * * * * *B_Say(self,self,"$SMALLTALK25"); * * * * * *} * * * * * *else * * * * * *{ * * * * * * * *// НПС произносит SVM фразу "... давайте посмотрим, что из этого выйдет..." * * * * * * * *B_Say(self,self,"$SMALLTALK22"); * * * * * *}; * * * *} * * * *else // остальные гильдии * * * *{ * * * * * *// НПС произносит SVM фразу "... давайте посмотрим, что из этого выйдет..." * * * * * *B_Say(self,self,"$SMALLTALK22"); * * * *}; * * *} * *// с вероятностью 0.04 * *else if(random < 115) * *{ * * * *// если НПС маг послушник или паладин или маг огня * * * *if(Npc_GetTrueGuild(self) == GIL_NOV) ¦¦ (Npc_GetTrueGuild(self) == GIL_PAL) ¦¦ (Npc_GetTrueGuild(self) == GIL_KDF) * * * *{ * * * * * *// с вероятностью 0.5 * * * * * *if(Choice == 0) * * * * * *{ * * * * * * * *// НПС произносит SVM фразу "... я действую по приказу Инноса..." * * * * * * * *B_Say(self,self,"$SMALLTALK29"); * * * * * *} * * * * * *else * * * * * *{ * * * * * * * *// НПС произносит SVM фразу "... некоторые проблемы решаются сами собой..." * * * * * * * *B_Say(self,self,"$SMALLTALK23"); * * * * * *}; * * * *} * * * *// если НПС бандит или наемник или охотник на драконов или пират * * * *else if(Npc_GetTrueGuild(self) == GIL_BDT) ¦¦ (Npc_GetTrueGuild(self) == GIL_SLD) ¦¦ (Npc_GetTrueGuild(self) == GIL_DJG) * * * *¦¦ (Npc_GetTrueGuild(self) == GIL_PIR) * * * *{ * * * * * *// с вероятностью 0.5 * * * * * *if(Choice == 0) * * * * * *{ * * * * * * * *// НПС произносит SVM фразу "... со мной бы этот номер не прошел..." * * * * * * * *B_Say(self,self,"$SMALLTALK26"); * * * * * *} * * * * * *else * * * * * *{ * * * * * * * *// НПС произносит SVM фразу "... некоторые проблемы решаются сами собой..." * * * * * * * *B_Say(self,self,"$SMALLTALK23"); * * * * * *}; * * * *} * * * *else // остальные гильдии * * * *{ * * * * * *// НПС произносит SVM фразу "... некоторые проблемы решаются сами собой..." * * * * * *B_Say(self,self,"$SMALLTALK23"); * * * *}; * * *} * *// с вероятностью 0.04 * *else if(random <= 120) * *{ * * * * * * *// если НПС маг послушник или паладин или маг огня * * * *if(Npc_GetTrueGuild(self) == GIL_NOV) ¦¦ (Npc_GetTrueGuild(self) == GIL_PAL) ¦¦ (Npc_GetTrueGuild(self) == GIL_KDF) * * * *{ * * * * * *// с вероятностью 0.5 * * * * * *if(Choice == 0) * * * * * *{ * * * * * * * *// НПС произносит SVM фразу "... никому не позволено нарушать указания богов..." * * * * * * * *B_Say(self,self,"$SMALLTALK30"); * * * * * *} * * * * * *else * * * * * *{ * * * * * * * *// НПС произносит SVM фразу "... я не могу больше это слушать..." * * * * * * * *B_Say(self,self,"$SMALLTALK24"); * * * * * *}; * * * *} * * * *// если НПС бандит или наемник или охотник на драконов или пират * * * *else if(Npc_GetTrueGuild(self) == GIL_BDT) ¦¦ (Npc_GetTrueGuild(self) == GIL_SLD) ¦¦ (Npc_GetTrueGuild(self) == GIL_DJG) * * * *¦¦ (Npc_GetTrueGuild (self) == GIL_PIR) * * * *{ * * * * * *// с вероятностью 0.5 * * * * * *if(Choice == 0) * * * * * *{ * * * * * * * *// НПС произносит SVM фразу "... все убежали словно зайцы, я остался один..." * * * * * * * *B_Say(self,self,"$SMALLTALK27"); * * * * * *} * * * * * *else * * * * * *{ * * * * * * * *// НПС произносит SVM фразу "... я не могу больше это слушать..." * * * * * * * *B_Say(self,self,"$SMALLTALK24"); * * * * * *}; * * * *} * * * *else // остальные гильдии * * * *{ * * * * * *// НПС произносит SVM фразу "... я не могу больше это слушать..." * * * * * *B_Say(self,self,"$SMALLTALK24"); * * * *}; * * *}; };
... и ещё
// ************************************************** ************** // НПС slf произносит для НПС oth быструю SVM фразу text // ---------------------------------------------------------------- // От B_Say() отличается только тем, что следующие AI команды будут // выполняться не ожидая окончания фразы // ************************************************** **************
func void B_Say_Overlay(var C_NPC slf,var C_Npc oth,var string text) { * *AI_OutputSVM_Overlay(slf,oth,text); };
|