|
Re: Уроки скриптологии
* *8. Функции входа в Новый мир (Хоринис с окрестностями).
Файл B_Enter_NewWorld.d
// Вход в Новый мир в Главе 1 func void B_ENTER_NEWWORLD_Kapitel_1() { * *// если Равен убит и Миксира в Хоринисе нет * *if((RavenIsDead == TRUE) && Npc_IsDead(KDW_140300_Addon_Myxir_CITY)) * *{ * * * *// вставить Миксира * * * *Wld_InsertNpc(KDW_140300_Addon_Myxir_CITY,"CITY1" ); * *}; * *// если ГГ был в Яркендаре * *if(ENTERED_ADDONWORLD == TRUE) * *{ * * * *// убрать Магов воды с раскопок * * * *B_RemoveNpc(KDW_1400_Addon_Saturas_NW); * * * *B_RemoveNpc(KDW_1401_Addon_Cronos_NW); * * * *B_RemoveNpc(KDW_1402_Addon_Nefarius_NW); * * * *B_RemoveNpc(KDW_1403_Addon_Myxir_NW); * * * *B_RemoveNpc(KDW_1404_Addon_Riordian_NW); * * * *B_RemoveNpc(KDW_1405_Addon_Merdarion_NW); * * * *B_RemoveNpc(PIR_1301_Addon_Skip_NW); * * * *// если ГГ не имеет ключа от портала (флаг одноразовости) * * * *if(SC_GotPORTALTEMPELWALKTHROUGHKey == FALSE) * * * *{ * * * * * *// вставить Каменного стража * * * * * *Wld_InsertNpc(Stoneguardian_MerdarionsSchluessel, "NW_TROLLAREA_PORTALTEMPE L_22"); * * * * * *// установить флаг * * * * * *SC_GotPORTALTEMPELWALKTHROUGHKey = TRUE; * * * *}; * *}; * *// если Пропавшие люди освобождены и не возвращены в Новый мир * *if(Sklaven_Flucht == TRUE) && (Sklaven_weg == FALSE) * *{ * * * *// вставить Пропавших людей * * * *Wld_InsertNpc(STRF_1123_Addon_Patrick_NW,"NW_BIGF ARM_PATRICK"); * * * *Wld_InsertNpc(STRF_1124_Addon_Monty_NW,"NW_CITY_H ABOUR_WERFT_IN_01"); * * * *Wld_InsertNpc(STRF_1125_Addon_Tonak_NW,"NW_FARM2_ FIELD_TANOK"); * * * *Wld_InsertNpc(STRF_1126_Addon_Telbor_NW,"NW_FARM2 _FIELD_TELBOR"); * * * *Wld_InsertNpc(STRF_1127_Addon_Pardos_NW,"NW_FARM3 _BENGAR"); * * * *// установить флаг возврата * * * *Sklaven_weg = TRUE; * * * *// миссия по возвращению людей завершена * * * *MissingPeopleReturnedHome = TRUE; * *}; };
// Вход в Новый мир в Главе 2
var int EnterNW_Kapitel2; * // флаг одноразовости
func void B_ENTER_NEWWORLD_Kapitel_2() { * *// если Грег вернулся в Яркендар * *if(GregIsBack == TRUE) * *{ * * * *// удалить Грега * * * *B_RemoveNpc(PIR_1300_Addon_Greg_NW); * *}; * *// если флаг сброшен * *if(EnterNW_Kapitel2 == FALSE) * *{ * * * *// респавн живности * * * *// Примечание: Здесь и далее значок //!!!!!! означает, что часть текста скрипта пропущена для краткости * * * *//!!!!!! * * * *// если ГГ милиционер или паладин * * * *if((hero.guild == GIL_MIL) ¦¦ (hero.guild == GIL_PAL)) * * * *{ * * * * * *// разместить Амулет ловкости * * * * * *Wld_InsertItem(ItAm_Dex_01,"FP_ROAM_XARDAS_SECRET _26"); * * * *} * * * *// если ГГ наёмник или охотник на драконов * * * *else if((hero.guild == GIL_SLD) ¦¦ (hero.guild == GIL_DJG)) * * * *{ * * * * * *// разместить Амулет жизни * * * * * *Wld_InsertItem(ItAm_Hp_01,"FP_ROAM_XARDAS_SECRET_ 26"); * * * *} * * * *else // иначе - маг Огня * * * *{ * * * * * *// разместить Амулет озарения * * * * * *Wld_InsertItem(ItAm_Hp_Mana_01,"FP_ROAM_XARDAS_SE CRET_26"); * * * *}; * * * *// если ГГ маг Огня * * * *if(hero.guild == GIL_KDF) * * * *{ * * * * * *// Агон стоит на охране в таверне * * * * * *B_StartOtherRoutine(Agon,"StillAlive"); * * * *}; * * * *// установить флаг * * * *EnterNW_Kapitel2 = TRUE; * *}; };
// Вход в Новый мир в Главе 3
var int EnterNW_Kapitel3; * // флаг одноразовости
func void B_ENTER_NEWWORLD_Kapitel_3() { * *// если флаг сброшен * *if(EnterNW_Kapitel3 == FALSE) * *{ * * * *// если Саландрил жив * * * *if(Npc_IsDead(Salandril) == FALSE) * * * *{ * * * * * *// сделать Саландрила "крутым парнем" * * * * * *Salandril.aivar[AIV_ToughGuy] = TRUE; * * * *}; * * * *// сброс флагов Корнелиуса * * * *Cornelius.Flags = 0; * * * *// если Ходжес жив * * * *if(!Npc_IsDead(Hodges)) * * * *{ * * * * * *// задать функцию распорядка дня * * * * * *B_StartOtherRoutine(Hodges,"BENNETWEG"); * * * *}; * * * *// если Диего мертв * * * *if(Npc_IsDead(DiegoNW)) * * * *{ * * * * * *// вставить Диего * * * * * *Wld_InsertNpc(PC_THIEF_NW,"NW_CITY_ENTRANCE_01"); * * * * * *// задать функцию распорядка дня * * * * * *B_StartOtherRoutine(DiegoNW,"START"); * * * *}; * * * *// если Горн мертв * * * *if(Npc_IsDead(GornNW_vor_DJG)) * * * *{ * * * * * *// вставить Горна * * * * * *Wld_InsertNpc(PC_Fighter_NW_vor_DJG,"BIGFARM"); * * * * * *// задать функцию распорядка дня * * * * * *B_StartOtherRoutine(GornNW_vor_DJG,"START"); * * * *}; * * * *// если Ларес жив * * * *if(Npc_IsDead(Lares) == FALSE) * * * *{ * * * * * *// задать функцию распорядка дня * * * * * *B_StartOtherRoutine(Lares,"START"); * * * *}; * * * *// вставить Ищущего у входа в Рудниковую долину * * * *Wld_InsertNpc(DMT_DementorAmbientSpeaker,"NW_PASS _GATE_02"); * * * *// убить паладинов, охраняющих вход в Рудниковую долину * * * *B_KillNpc(PAL_297_Ritter); * * * *B_KillNpc(PAL_298_Ritter); * * * *// если ГГ маг Огня * * * *if(hero.guild == GIL_KDF) * * * *{ * * * * * *// убить Ульфа * * * * * *B_KillNpc(Ulf); * * * *}; * * * *// вставка Полевых жуков в лесу * * * *Wld_InsertNpc(Giant_Bug,"FP_ROAM_MEDIUMFOREST_KAP 2_01"); * * * *Wld_InsertNpc(Giant_Bug,"FP_ROAM_MEDIUMFOREST_KAP 2_02"); * * * *Wld_InsertNpc(Giant_Bug,"FP_ROAM_MEDIUMFOREST_KAP 2_05"); * * * *// если Секоб жив * * * *if(Npc_IsDead(Sekob) == FALSE) * * * * *{ * * * * * *// задать функцию распорядка дня окружения Секоба * * * * * *B_StartOtherRoutine(Sekob,"FleeDMT"); * * * * * *B_StartOtherRoutine(Rosi,"FleeDMT"); * * * * * *B_StartOtherRoutine(Till,"FleeDMT"); * * * * * *B_StartOtherRoutine(Balthasar,"FleeDMT"); * * * * * *B_StartOtherRoutine(BAU_933_Rega,"FleeDMT"); * * * * * *B_StartOtherRoutine(BAU_934_Babera,"FleeDMT"); * * * * * *B_StartOtherRoutine(BAU_937_BAUER,"FleeDMT"); * * * * * *B_StartOtherRoutine(BAU_938_BAUER,"FleeDMT"); * * * * * *// вставить Ищущих в доме Секоба * * * * * *Wld_InsertNpc(DMT_DementorAmbientSekob1,"NW_FARM4 _IN_06"); * * * * * * *Wld_InsertNpc(DMT_DementorAmbientSekob2,"NW_FARM4 _IN_02"); * * * * * *Wld_InsertNpc(DMT_DementorAmbientSekob3,"NW_FARM4 _IN_03"); * * * * * *Wld_InsertNpc(DMT_DementorAmbientSekob4,"NW_FARM4 _IN_04"); * * * * * *// сделать Секоба бессмертным * * * * * *Sekob.flags = NPC_FLAG_IMMORTAL; * * * *}; * * * *// задать функции распорядка дня * * * *B_StartOtherRoutine(Lester,"WAITFORPLAYER"); * *// Лестер * * * *B_StartOtherRoutine(Bennet,"PRISON"); * * * * * // Беннет * * * *B_StartOtherRoutine(Sergio,"WAIT"); * * * * * * // Сергио * * * *B_StartOtherRoutine(Peck,"STORAGE"); * * * * * *// Пек * * * *// удалить Лотара * * * *B_RemoveNpc(PAL_203_Lothar); * * * *// респавн живности * * * *//!!!!!! * * * *// если Малак жив * * * *if(Npc_IsDead(Malak) == FALSE) * * * * *{ * * * * * *// Малак с рабочими покидает ферму * * * * * *B_StartOtherRoutine(Malak,"FleeFromPass"); * * * * * *// установить флаг, что Малак покинул ферму * * * * * *Malak_isAlive_Kap3 = TRUE; * * * * * *B_StartOtherRoutine(BAU_962_Bauer,"FleeFromPass") ; * * * * * *B_StartOtherRoutine(BAU_964_Bauer,"FleeFromPass") ; * * * * * *B_StartOtherRoutine(BAU_965_Bauer,"FleeFromPass") ; * * * * * *B_StartOtherRoutine(BAU_966_Bauer,"FleeFromPass") ; * * * * * *B_StartOtherRoutine(BAU_967_Bauer,"FleeFromPass") ; * * * * * *B_StartOtherRoutine(BAU_968_Bauer,"FleeFromPass") ; * * * * * *B_StartOtherRoutine(BAU_969_Bauer,"FleeFromPass") ; * * * * * *// если ГГ маг Огня * * * * * *if(hero.guild == GIL_KDF) * * * * * *{ * * * * * * * *// создать в инвентаре Малака "Альманах одержимости" * * * * * * * *CreateInvItems(Malak,ITWR_DementorObsessionBook_M IS,1); * * * * * *}; * * * *}; * * * *// если ГГ милиционер или паладин * * * *if((hero.guild == GIL_MIL) ¦¦ (hero.guild == GIL_PAL)) * * * *{ * * * * * *// Хильда круглосуточно спит * * * * * *B_StartOtherRoutine(Hilda,"Krank"); * * * *}; * * * *// если ГГ наемник или охотник на драконов * * * *if((hero.guild == GIL_SLD) ¦¦ (hero.guild == GIL_DJG)) * * * *{ * * * * * *// вставить Трость и нескольких НПС (где ???) * * * * * *Wld_InsertItem(ItMw_MalethsGehstock_MIS,"FP_ITEM_ FARM1_01"); * * * * * *Wld_InsertNpc(Shadowbeast,"NW_LITTLESTONEHENDGE") ; * * * * * * *Wld_InsertNpc(BDT_1024_MalethsBandit,"NW_FARM1_BA NDITS_CAVE_08") ; * * * * * *Wld_InsertNpc(BDT_1006_Bandit_H,"FP_STAND_DEMENTO R_KDF_29"); * * * * * *Wld_InsertNpc(BDT_1007_Bandit_H,"FP_STAND_DEMENTO R_KDF_30"); * * * * * *Wld_InsertNpc(BDT_1008_Bandit_H,"NW_FARM1_BANDITS _CAVE_03"); * * * * * *Wld_InsertNpc(BDT_1004_Bandit_M,"NW_FARM1_BANDITS _CAVE_02"); * * * * * *Wld_InsertNpc(BDT_1005_Bandit_M,"NW_FARM1_BANDITS _CAVE_04"); * * * *}; * * * *// если ГГ маг Огня * * * *if(hero.guild == GIL_KDF) * * * *{ * * * * * *// вставить "Горная порода священной земли" * * * * * *Wld_InsertItem(ItMi_KarrasBlessedStone_Mis,"FP_IT EM_FARM1_03"); * * * * * *Wld_InsertItem(ItMi_KarrasBlessedStone_Mis,"FP_NW _ITEM_TROLL_10"); * * * * * *// Хильда круглосуточно спит * * * * * *B_StartOtherRoutine(Hilda,"KRANK"); * * * * * *// если Вино жив * * * * * *if(Npc_IsDead(Vino) == FALSE) * * * * * * *{ * * * * * * * *// Вино курит болотник * * * * * * * *B_StartOtherRoutine(Vino,"OBESESSIONRITUAL"); * * * * * * * *// дать Вино "Альманах одержимости" * * * * * * * *CreateInvItems(Vino,ITWR_DementorObsessionBook_MI S,1); * * * * * * * * *// установить флаг, что Вино покинул ферму * * * * * * * *Vino_isAlive_Kap3 = TRUE; * * * * * * * *// Лобарт курит болотник * * * * * * * *B_StartOtherRoutine(Lobart,"OBESESSIONRITUAL"); * * * * * * * *// вставка Ищущих * * * * * * * *Wld_InsertNpc(DMT_DementorSpeakerVino1,"FP_STAND_ DEMENTOR_KDF_31"); * * * * * * * *Wld_InsertNpc(DMT_DementorSpeakerVino2,"FP_STAND_ DEMENTOR_KDF_32"); * * * * * * * *Wld_InsertNpc(DMT_DementorSpeakerVino3,"FP_STAND_ DEMENTOR_KDF_33"); * * * * * * * *Wld_InsertNpc(DMT_DementorSpeakerVino4,"NW_LITTLE STONEHENDGE_02"); * * * * * * * *// убийство Молодых полевых жуков * * * * * * * *B_KillNpc(YGiant_Bug_VinoRitual1); * * * * * * * *B_KillNpc(YGiant_Bug_VinoRitual2); * * * * * *}; * * * * * *// если Бромор жив * * * * * *if(Npc_IsDead(Bromor) == FALSE) * * * * * *{ * * * * * * * *// дать Бромору "Альманах одержимости" * * * * * * * *CreateInvItems(Bromor,ITWR_DementorObsessionBook_ MIS,1); * * * * * *}; * * * *}; * * * *// если компромат на Сару не собран и задание Кантара получено * * * *if(MIS_Canthars_KomproBrief != LOG_SUCCESS) && (MIS_Canthars_KomproBrief != FALSE) * * * *// и Кантору не заплачено и Кантор жив * * * *&& (Canthar_Pay == FALSE) && (Npc_IsDead(Canthar) == FALSE) * * * *{ * * * * * *// убить Сару * * * * * *B_RemoveNpc(Sarah); * * * * * *// Кантор торгует * * * * * *B_StartOtherRoutine(Canthar,"MARKTSTAND"); * * * * * *AI_Teleport(Canthar,"NW_CITY_SARAH"); * * * * * *// Кантор будет мстить * * * * * *Canthar_Sperre = TRUE; * * * * * *// ГГ обвиняет Кантора * * * * * *Canthar_WiederRaus = TRUE; * * * *}; * * * *// дать Лестеру серп * * * *CreateInvItems(Lester,ItMw_1h_Bau_Axe,1); * * * *// дать Эниму Жир кротокрыса * * * *CreateInvItems(Ehnim,ItMi_Moleratlubric_MIS,1); * * * *// проклясть статуи Инноса * * * *ShrineIsObsessed_NW_TROLLAREA_PATH_37 * * * * * = TRUE; * * * *ShrineIsObsessed_NW_FARM1_CONNECT_XARDAS * * * *= TRUE; * * * *ShrineIsObsessed_NW_TROLLAREA_PATH_66 * * * * * = TRUE; * * * *ShrineIsObsessed_NW_TROLLAREA_PATH_04 * * * * * = TRUE; * * * *ShrineIsObsessed_SAGITTA * * * * * * * * * * * *= TRUE; * * * *ShrineIsObsessed_NW_BIGMILL_MALAKSVERSTECK_02 * = TRUE; * * * *ShrineIsObsessed_NW_FARM3_BIGWOOD_02 * * * * * *= TRUE; * * * *// вывод разных заставок Третьей главы в зависимости от гильдии ГГ * * * *if((hero.guild == GIL_MIL) ¦¦ (hero.guild == GIL_PAL)) * * * *{ * * * * * *IntroduceChapter(KapWechsel_3,KapWechsel_3_Text," chapter3_MIL.tga,"ch apter_01.wav",6000); * * * *} * * * *else if (hero.guild == GIL_KDF) * * * *{ * * * * * *IntroduceChapter(KapWechsel_3,KapWechsel_3_Text," chapter3_KDF.tga,"ch apter_01.wav",6000); * * * *} * * * *else * * * *{ * * * * * *IntroduceChapter(KapWechsel_3,KapWechsel_3_Text," chapter3_SLD.tga,"ch apter_01.wav",6000); * * * *}; * * * *// установить флаг * * * *EnterNW_Kapitel3 = TRUE; * *}; };
// Вход в Новый мир в Главе 4
var int EnterNW_Kapitel4; * // флаг одноразовости
func void B_ENTER_NEWWORLD_Kapitel_4() { * *// если флаг сьрошен * *if(EnterNW_Kapitel4 == FALSE) * *{ * * * *// если Саландрил находится ближе 100м от алтаря * * * *if(Npc_GetDistToWP(Salandril,"ALTAR") < 10000) * * * *{ * * * * * *// задать распорядок дня * * * * * *B_StartOtherRoutine(Salandril,"Start"); * * * *}; * * * *// Йорген появляется у монастыря * * * *B_StartOtherRoutine(Jorgen,"Kloster"); * * * *// убить Бродягу * * * *B_KillNpc(BDT_1050_Landstreicher); * * * *// респавн живности * * * *//!!!!!! * * * *// если ГГ паладин * * * *if(hero.Guild == GIL_PAL) * * * *{ * * * * * *// расстановка орков по Новому миру * * * * * *//!!!!!! * * * *}; * * * *// если ГГ охотник на драконов или паладин * * * *if((hero.guild == GIL_DJG) ¦¦ (hero.guild == GIL_PAL)) * * * *{ * * * * * *// расстановка орков у фермы Лобарта * * * * * *Wld_InsertNpc(OrcWarrior_Lobart1,"NW_FARM1_PATH_C ITY_SHEEP_04"); * * * * * *Wld_InsertNpc(OrcWarrior_Lobart2,"NW_FARM1_PATH_C ITY_SHEEP_04"); * * * * * *Wld_InsertNpc(OrcWarrior_Lobart3,"NW_FARM1_PATH_C ITY_SHEEP_04"); * * * * * *Wld_InsertNpc(OrcWarrior_Lobart4,"NW_FARM1_PATH_C ITY_SHEEP_01"); * * * * * *Wld_InsertNpc(OrcWarrior_Lobart5,"NW_FARM1_PATH_C ITY_SHEEP_01"); * * * * * *Wld_InsertNpc(OrcWarrior_Lobart6,"NW_FARM1_PATH_C ITY_SHEEP_01"); * * * * * *// распорядок дня рабочих Лобарта * * * * * *B_StartOtherRoutine(Vino,"BugsThere"); * * * * * *B_StartOtherRoutine(LobartsBauer1,"BugsThere"); * * * * * *B_StartOtherRoutine(LobartsBauer2,"BugsThere"); * * * *}; * * * *// если ГГ маг Огня или охотник на драконов * * * *if((hero.guild == GIL_KDF) ¦¦ (hero.guild == GIL_DJG)) * * * *{ * * * * * *// проклясть статуи Инноса * * * * * *ShrineIsObsessed_NW_TROLLAREA_PATH_37 * * * * * = FALSE; * * * * * *ShrineIsObsessed_NW_FARM1_CONNECT_XARDAS * * * *= FALSE; * * * * * *ShrineIsObsessed_NW_TROLLAREA_PATH_66 * * * * * = FALSE; * * * * * *ShrineIsObsessed_NW_TROLLAREA_PATH_04 * * * * * = FALSE; * * * * * *ShrineIsObsessed_SAGITTA * * * * * * * * * * * *= FALSE; * * * * * *ShrineIsObsessed_NW_BIGMILL_MALAKSVERSTECK_02 * = FALSE; * * * * * *ShrineIsObsessed_NW_FARM3_BIGWOOD_02 * * * * * *= FALSE; * * * *}; * * * *// если ГГ охотник на драконов * * * *if (hero.guild == GIL_DJG) * * * *{ * * * * * *// расстановка Ящеров и их яиц по пещерам * * * * * *//!!!!!! * * * *}; * * * *// если ГГ маг Огня * * * *if(hero.guild == GIL_KDF) * * * *{ * * * * * *// расстановка Ищущих по Новому миру * * * * * *//!!!!!! * * * * * *// дать Рандольфу "Альманах одержимости" * * * * * *CreateInvItems(Randolph,ITWR_DementorObsessionBoo k_MIS,1); * * * * * *// Рандольф курит болотник * * * * * *B_StartOtherRoutine(Randolph,"Obsessed"); * * * *}; * * * *// установить флаг * * * *EnterNW_Kapitel4 = TRUE; * *}; * *// если Тальбин не перешел за перевал * *if(Talbin_FollowsThroughPass == LOG_RUNNING) * *{ * * * *// вставить Тальбина * * * *Wld_InsertNpc(VLK_4132_Talbin_NW,"LEVELCHANGE"); * * * *// установить флаг перехода * * * *Talbin_FollowsThroughPass = LOG_SUCCESS; * *}; };
// Вход в Новый мир в Главе 5
var int EnterNW_Kapitel5; * * * * * * * * * // флаг одноразовости var int Pal_Schiffswache_Exchange_onetime; *// охрана покинула корабль (TRUE) var int Rosi_FleeFromSekob_Kap5; * * * * * *// Роси покинула дом Секоба (TRUE)
func void B_ENTER_NEWWORLD_Kapitel_5() { * *// если флаг сброшен * *if(EnterNW_Kapitel5 == FALSE) * *{ * * * *// удалить Ксардаса * * * *B_RemoveNpc(Xardas); * * * *// Лестер стоит у башни Ксардаса * * * *B_StartOtherRoutine(Lester,"XardasWeg"); * * * *// если Саландрил находится ближе 100м от алтаря * * * *if(Npc_GetDistToWP(Salandril,"ALTAR") < 10000) * * * *{ * * * * * *// задать распорядок дня * * * * * *B_StartOtherRoutine(Salandril,"Start"); * * * *}; * * * *// если Секоб жив * * * *if(Npc_IsDead(Sekob) == FALSE) * * * * *{ * * * * * *// Роси ушла от Секоба * * * * * *B_StartOtherRoutine(Rosi,"FleeFromSekob"); * * * * * *// Тилл ушел от Секоба * * * * * *B_StartOtherRoutine(Till,"FleeFromSekob"); * * * * * *// установить флаг * * * * * *Rosi_FleeFromSekob_Kap5 = TRUE; * * * *}; * * * *// если Горн вернулся * * * *if(GornDJG_is_alive == TRUE) * * * *{ * * * * * *// вставить Горна * * * * * *Wld_InsertNpc(PC_Fighter_NW_nach_DJG,"Bigfarm"); * * * *}; * * * *// если Ангар вернулся * * * *if(DJG_Angar_is_alive == TRUE) * * * *{ * * * * * *// вставить Ангара * * * * * *Wld_InsertNpc(DJG_705_Angar_NW,"Bigfarm"); * * * *}; * * * *// респавн живности, вставка Марио и предметов * * * *//!!!!!! * * * *// если ГГ паладин * * * *if(hero.guild == GIL_PAL) * * * *{ * * * * * *// вставить Доспехи паладина * * * * * *Wld_InsertItem(ItAr_PAl_H,"FP_ITEM_PALFINALARMOR" ); * * * * * *// вставить Рунический камень * * * * * *Wld_InsertItem(ItMi_RuneBlank,"FP_NW_ITEM_LIBRARY _SEAMAP"); * * * * * *}; * * * *// если ГГ охотник на драконов (Примечание: можно убрать, пуской блок) * * * *if(hero.guild == GIL_DJG) * * * *{ * * * *}; * * * *// если ГГ маг Огня * * * *if(hero.guild == GIL_KDF) * * * *{ * * * * * *// расстановка Ищущих по Новому миру * * * * * *//!!!!!! * * * * * *// если Секоб жив * * * * * *if(Npc_IsDead(Sekob) == FALSE) * * * * * *{ * * * * * * * *// дать Секобу "Альманах одержимости" * * * * * * * *CreateInvItems(Sekob,ITWR_DementorObsessionBook_M IS,1); * * * * * * * *// Секоб курит болотник * * * * * * * *B_StartOtherRoutine(Sekob,"Obsessed"); * * * * * *}; * * * *}; * * * *// сборище паладинов в верхней части Хориниса * * * *//!!!!!! * * * *// вывод разных заставок Пятой главы в зависимости от гильдии ГГ * * * *if((hero.guild == GIL_MIL) ¦¦ (hero.guild == GIL_PAL)) * * * *{ * * * * * *IntroduceChapter(KapWechsel_5,KapWechsel_5_Text," chapter5_PAL.tga,"ch apter_01.wav",6000); * * * *} * * * *else if (hero.guild == GIL_KDF) * * * *{ * * * * * *IntroduceChapter(KapWechsel_5,KapWechsel_5_Text," chapter5_KDF.tga,"ch apter_01.wav",6000); * * * *} * * * *else * * * *{ * * * * * *IntroduceChapter(KapWechsel_5,KapWechsel_5_Text," chapter5_DJG.tga,"ch apter_01.wav",6000); * * * *}; * * * *// установить флаг * * * *EnterNW_Kapitel5 = TRUE; * *}; * *// выполняется при каждом входе в Новый мир в Главе 5 * *// если ГГ впустил орков в крепость и охрана не покинула корабль * *if(MIS_OCGateOpen == TRUE) && (Pal_Schiffswache_Exchange_onetime == FALSE) * *{ * * * *// охрана покидает корабль * * * *B_StartOtherRoutine(Pal_212_Schiffswache,"ShipFre e"); * * * *B_StartOtherRoutine(Pal_213_Schiffswache,"ShipFre e"); * * * *// установить флаг * * * *Pal_Schiffswache_Exchange_onetime = TRUE; * * * *// команда может подниматься на корабль * * * *MIS_ShipIsFree = TRUE; * *}; * *// если Бифф шел за перевал * *if(Biff_FollowsThroughPass == LOG_RUNNING) * *{ * * * *// вставить Биффа * * * *Wld_InsertNpc(DJG_713_Biff_NW,"LEVELCHANGE"); * * * *// Бифф успешно дошел * * * *Biff_FollowsThroughPass = LOG_SUCCESS; * * *}; };
// Вход в Новый мир в Главе 6 // Примечание: функция не используется, можно удалить вместе с флагом
var int EnterNW_Kapitel6; * // флаг одноразовости
func void B_ENTER_NEWWORLD_Kapitel_6() { * *if (EnterNW_Kapitel6 == FALSE) * *{ * * * *EnterNW_Kapitel6 = TRUE; * *}; };
// Общая функция входа в Новый мир func void B_ENTER_NEWWORLD() * * { * *// инициализация глобальных НПС * *B_InitNpcGlobals(); * *// в зависимости от главы вызвать соответствующую функцию * *if (Kapitel >= 1) * { B_ENTER_NEWWORLD_Kapitel_1(); }; * *if (Kapitel >= 2) * { B_ENTER_NEWWORLD_Kapitel_2(); }; * *if (Kapitel >= 3) * { B_ENTER_NEWWORLD_Kapitel_3(); }; * *if (Kapitel >= 4) * { B_ENTER_NEWWORLD_Kapitel_4(); }; * *if (Kapitel >= 5) * { B_ENTER_NEWWORLD_Kapitel_5(); }; * *if (Kapitel >= 6) * { B_ENTER_NEWWORLD_Kapitel_6(); }; * *// задать текущий уровень * *CurrentLevel = NEWWORLD_ZEN; * *// инициализация глобальных НПС (уже было, можно удалить) * *B_InitNpcGlobals(); };
|