|
Re: Уроки скриптологии
// ****************************** // Комментарий завершенной атаки // ------------------------------ // self - агрессор, other - жертва // ******************************
func void B_Say_AttackEnd() { * *// если агрессор атаковал врага или монстра, убившего человека * *if(self.aivar[AIV_ATTACKREASON] == AR_GuildEnemy) ¦¦ (self.aivar[AIV_ATTACKREASON] == AR_MonsterMurderedHuman) * *{ * * * *// если жертва человек * * * *if(other.guild < GIL_SEPERATOR_HUM) * * * *{ * * * * * *// если жертва не убита * * * * * *if(!Npc_IsDead(other)) * * * * * *{ * * * * * * * *// если последняя атакованная цель и есть жертва * * * * * * * *if(self.aivar[AIV_LASTTARGET] == Hlp_GetInstanceID(other)) * * * * * * * *{ * * * * * * * * * *// агрессор говорит жертве (SVM фраза) "Умри, подлец!" * * * * * * * * * *B_Say(self,other,"$KILLENEMY"); * * * * * * * *} * * * * * * * *else // иначе * * * * * * * *{ * * * * * * * * * *// агрессор говорит жертве (SVM фраза) "Да, убей эту свинью!" * * * * * * * * * *B_Say(self,other,"$GOODKILL"); * * * * * * * *}; * * * * * *} * * * * * *else // иначе (жертва мертва) * * * * * *{ * * * * * * * *// агрессор говорит жертве (SVM фраза) "Ты это заслужил, подлец!" * * * * * * * *B_Say(self,other,"$ENEMYKILLED"); * * * * * *}; * * * *} * * * *else // иначе (жертва монстр) * * * *{ * * * * * *// если агрессор член партии ГГ * * * * * *if(self.aivar[AIV_PARTYMEMBER] == TRUE) * * * * * *{ * * * * * * * *var int rnd; * * * * * * * *rnd = Hlp_Random(100); * * * * * * * *// если вероятность 0.85 и жертва не дракон * * * * * * * *if(rnd > 15) && (other.guild != GIL_DRAGON) * * * * * * * *{ * * * * * * * * * *return; * * * * * * * *}; * * * * * *}; * * * * * *// если жертва убита не ГГ * * * * * *if(other.aivar[AIV_KilledByPlayer] == FALSE) * * * * * *{ * * * * * * * *// если агрессор имеет номер голоса 9 * * * * * * * *if(self.voice == 9) * * * * * * * *{ * * * * * * * * * *var int random; * * * * * * * * * *random = Hlp_Random(2); * * * * * * * * * *// если вероятность 0.5 * * * * * * * * * *if(random == 0) * * * * * * * * * *{ * * * * * * * * * * * *// агрессор говорит жертве (SVM фраза) "С тобой покончено, скотина!" * * * * * * * * * * * *B_Say(self,other,"$ADDON_MONSTERKILLED"); * * * * * * * * * *} * * * * * * * * * *else * * * * * * * * * *{ * * * * * * * * * * * *// агрессор говорит жертве (SVM фраза) "На ОДНУ тварь меньше." * * * * * * * * * * * *B_Say(self,other,"$ADDON_MONSTERKILLED2"); * * * * * * * * * *}; * * * * * * * *} * * * * * * * *// тначе, если агрессор имеет номер голоса 12 * * * * * * * *else if(self.voice == 12) * * * * * * * *{ * * * * * * * * * *// если агрессор Горн * * * * * * * * * *if((Hlp_GetInstanceID(self) == Hlp_GetInstanceID(GornOW)) * * * * * // в Рудниковой долине * * * * * * * * * *¦¦ (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(GornDJG)) * * * * *// охотник на драконов * * * * * * * * * *¦¦ (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(GornNW_vor_DJG)) * // охотник на драконов в лагере наемников * * * * * * * * * *¦¦ (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(GornNW_nach_DJG)) *// охотник на драконов в 6 главе * * * * * * * * * *¦¦ (Hlp_GetInstanceID(self) == Hlp_GetInstanceID(Gorn_DI))) * * * * // на острове драконов * * * * * * * * * *{ * * * * * * * * * * * *var int randy; * * * * * * * * * * * *randy = Hlp_Random(2); * * * * * * * * * * * *// если вероятность 0.5 * * * * * * * * * * * *if(randy == 0) * * * * * * * * * * * *{ * * * * * * * * * * * * * *// агрессор говорит жертве (SVM фраза) "С тобой покончено, скотина!" * * * * * * * * * * * * * *B_Say(self,other,"$ADDON_MONSTERKILLED"); * * * * * * * * * * * *} * * * * * * * * * * * *else * * * * * * * * * * * *{ * * * * * * * * * * * * * *// агрессор говорит жертве (SVM фраза) "Одной тварью меньше!" * * * * * * * * * * * * * *B_Say (self,other,"$MONSTERKILLED"); * * * * * * * * * * * *}; * * * * * * * * * *} * * * * * * * * * *else * * * * * * * * * *{ * * * * * * * * * * * *// агрессор говорит жертве (SVM фраза) "С тобой покончено, скотина!" * * * * * * * * * * * *B_Say(self,other,"$ADDON_MONSTERKILLED"); * * * * * * * * * *}; * * * * * * * *} * * * * * * * *else // другие голоса * * * * * * * *{ * * * * * * * * * *// агрессор говорит жертве (SVM фраза) "Одной тварью меньше!" * * * * * * * * * *B_Say(self,other,"$MONSTERKILLED"); * * * * * * * *}; * * * * * *} * * * * * *else // иначе (жертва убита ГГ) * * * * * *{ * * * * * * * *// ГГ говорит жертве (SVM фраза) "Хорошая работа - одной тварью меньше!" * * * * * * * *B_Say(self,other,"$GOODMONSTERKILL"); * * * * * * * * *}; * * * *}; * * * *return; * *}; * *// если агрессор атаковал вора * *if(self.aivar[AIV_ATTACKREASON] == AR_Theft) * *{ * * * *// агрессор говорит жертве (SVM фраза) "И не пытайся больше обокрасть меня!" * * * *B_Say(self,other,"$THIEFDOWN"); * * * *return; * *}; * *// агрессор атаковал ГГ, вскрывшего его сундук * *if(self.aivar[AIV_ATTACKREASON] == AR_UseMob) * *{ * * * *// агрессор говорит жертве (SVM фраза) "В следующий раз не советую тебе шарить по чужим вещам!" * * * *B_Say(self,other,"$RUMFUMMLERDOWN"); * * * *return; * *}; * *// если агрессор атаковал убийцу овец * *if (self.aivar[AIV_ATTACKREASON] == AR_SheepKiller) * *{ * * * *// если жертва человек * * * *if(other.guild < GIL_SEPERATOR_HUM) * * * *{ * * * * * *// агрессор говорит жертве (SVM фраза) "Никогда больше не делай этого! Это же наши овцы!" * * * * * *B_Say(self,other,"$SHEEPATTACKERDOWN"); * * * *} * * * *else // иначе (жертва монстр) * * * *{ * * * * * *// агрессор говорит жертве (SVM фраза) "Одной тварью меньше!" * * * * * *B_Say(self,other,"$MONSTERKILLED"); * * * *}; * * * *return; * *}; * *// если агрессор атаковал человека, убившего другого человека * *if(self.aivar[AIV_ATTACKREASON] == AR_HumanMurderedHuman) * *{ * * * *// если жертва не убита * * * *if(!Npc_IsDead(other)) * * * *{ * * * * * *// если последняя атакованная цель и есть жертва * * * * * *if(self.aivar[AIV_LASTTARGET] == Hlp_GetInstanceID(other)) * * * * * *{ * * * * * * * *// агрессор говорит жертве (SVM фраза) "Умри, убийца!" * * * * * * * *B_Say(self,other,"$KILLMURDERER"); * * * * * *} * * * * * *else // иначе * * * * * *{ * * * * * * * *// агрессор говорит жертве (SVM фраза) "Да, убей эту свинью!" * * * * * * * *B_Say(self,other,"$GOODKILL"); * * * * * *}; * * * *} * * * *else // иначе (жертва убита) * * * *{ * * * * * *// агрессор говорит жертве (SVM фраза) "Ты это заслужил, подлец!" * * * * * *B_Say(self,other,"$ENEMYKILLED"); * * * *}; * * * *return; * *}; * *// если агрессор помогает убить монстра * *if(self.aivar[AIV_ATTACKREASON] == AR_MonsterVsHuman) * *{ * * * *// если голос агрессора 9 или 12 * * * *if(self.voice == 9) ¦¦ (self.voice == 12) * * * *{ * * * * * *// агрессор говорит жертве (SVM фраза) "С тобой покончено, скотина!" * * * * * *B_Say(self,other,"$ADDON_MONSTERKILLED"); * * * *} * * * *else // иначе (другие голоса) * * * *{ * * * * * *// агрессор говорит жертве (SVM фраза) "Одной тварью меньше!" * * * * * *B_Say(self,other,"$MONSTERKILLED"); * * * *}; * * * *return; * *}; * *// если охрана ворот атакует монстра * *if(self.aivar[AIV_ATTACKREASON] == AR_MonsterCloseToGate) * *{ * * * *// агрессор говорит жертве (SVM фраза) "Тупоголовая скотина!" * * * *B_Say(self,other,"$STUPIDBEASTKILLED"); * * * *return; * *}; * *// если агрессор реагировал на повреждение (на него напали первым) * *if(self.aivar[AIV_ATTACKREASON] == AR_ReactToDamage) * *{ * * * *// агрессор говорит жертве (SVM фраза) "Больше никогда не спорь со мной!" * * * *B_Say(self,other,"$NEVERHITMEAGAIN"); * * * *return; * *}; * *// если агрессор реагировал на обнаженное оружие * *if(self.aivar[AIV_ATTACKREASON] == AR_ReactToWeapon) * *{ * * * *// агрессор говорит жертве (SVM фраза) "Это будет тебе уроком!" * * * *B_Say(self,other,"$YOUBETTERSHOULDHAVELISTENED"); * * * *return; * *}; * *// если агрессор реагировал на вход в его помещение или вызвана охраны для защиты помещения * *if(self.aivar[AIV_ATTACKREASON] == AR_ClearRoom) ¦¦ (self.aivar[AIV_ATTACKREASON] == AR_GuardCalledToRoom) * *{ * * * *// если ГГ находится в помещении, принадлежащем агрессору * * * *if(C_NpcIsBotheredByPlayerRoomGuild(self)) * * * *{ * * * * * *// агрессор говорит жертве (SVM фраза) "А теперь убирайся отсюда!" * * * * * *B_Say(self,other,"$GETUPANDBEGONE"); * * * *} * * * *else // иначе (вне помещения) * * * *{ * * * * * *// агрессор говорит жертве (SVM фраза) "И чтоб я больше тебя здесь не видел!" * * * * * *B_Say(self,other,"$NEVERENTERROOMAGAIN"); * * * *}; * * * *return; * *}; * *// если причина атаки - ГГ в помещении с ограниченным доступом * *if(self.aivar[AIV_ATTACKREASON] == AR_LeftPortalRoom) * *{ * * * *// агрессор говорит жертве (SVM фраза) "И чтоб я больше тебя здесь не видел!" * * * *B_Say(self,other,"$NEVERENTERROOMAGAIN"); * * * *return; * *}; * *// если охрана ворот атакует незваного гостя * *if(self.aivar[AIV_ATTACKREASON] == AR_GuardStopsIntruder) * *{ * * * *// агрессор говорит жертве (SVM фраза) "Умри, подлец!" * * * *B_Say(self,other,"$KILLENEMY"); * * * *return; * *}; * *// если охрана прекратила атаковать преступника * *if(self.aivar[AIV_ATTACKREASON] == AR_GuardStopsFight) * *{ * * * *// если жертва наемник или охотник на драконов * * * *if(other.guild == GIL_SLD) ¦¦ (other.guild == GIL_DJG) * * * *{ * * * * * *// молчат * * * *} * * * *else // иначе * * * *{ * * * * * *// агрессор говорит жертве (SVM фраза) "Борьбы здесь не будет, ясно!? Заруби это себе на носу!" * * * * * *B_Say(self,other,"$THEREISNOFIGHTINGHERE"); * * * *}; * * * *return; * *}; * *// если вызвана охрана по факту воровства * *if(self.aivar[AIV_ATTACKREASON] == AR_GuardCalledToThief) * *{ * * * *// агрессор говорит жертве (SVM фраза) "В следующий раз не советую тебе шарить по чужим вещам!" * * * *B_Say(self,other,"$RUMFUMMLERDOWN"); * * * *return; * *}; * *return; };
|