Показать сообщение отдельно
Старый 10.08.2005, 09:31   #227
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию 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();
};

Ответить с цитированием