Показать сообщение отдельно
Старый 10.05.2005, 17:22   #163
Vam

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

По умолчанию Re: Уроки скриптологии

Тема четвертая: Мир Готики.

Весь Готический мир (кроме предметов - папка ..\Items) уместился в папке ..\Story

1. Инициализация мира.
Данную функцию выполняет файл Startup.d

Подробно его рассматривать не будем, каждая его часть несет один и тот же смысл, такие большие файлы как этот будем рассматривать конспектно.

================================================== ======

Весь файл Startup.d состоит из блоков, каждый блок - из двух секций.
Первая секция - STARTUP_<LevelName>, в этой секции выполняется расстановка НПС и предметов на карте конкретной локации.
Вторая секция - INIT_<LevelName>, в этой секции выполняется инициализация отношений между монстрами, НПС и гильдиями; производится инициализация глобальных НПС, доступных в любой части скриптов; задается принадлежность помещений гильдиям и конкретным НПС.
<LevelName> в именах секций (кроме секции GLOBAL) является именем части мира Готики, на которую есть *.zen файл с именем LevelName и которая загружается при переходе из одной части мира в другую.
Функция STARTUP_ определенной части мира вызывается экзешником только один раз - при начале игры или при первом посещении этой части мира.
Функция INIT_ определенной части мира вызывается экзешником каждый раз при входе в эту часть мира.

Примечание: Самой распространенной ошибкой начинающих модмейкеров при вставке в мир своего НПС является не начинать игру заново, а загружать старый сейв, в таком случае новый НПС будет отсутствовать в мире.
Если Вы создаете свою карту мира, то необходимо в этом файле или любом другом (можно новом) создать для своего мира эти две секции.

// **************
// GLOBAL секция
// **************
// Вызывается только один раз при начале новой игры (инициализация глобальных внутренних переменных)

func void STARTUP_GLOBAL()
{
* *Game_InitGerman();
};

func void INIT_GLOBAL()
{
* *Game_InitGerman();
};

// *****************
// Testlevel секция
// *****************
// Тестовый уровень (Моё примечание: остался в этом файле от тестового уровня (Testlevel.zen), эта секция может быть удалена).

func void STARTUP_Testlevel()
{
};

func void INIT_SUB_Testlevel()
{
};

func void INIT_Testlevel()
{
* *B_InitMonsterAttitudes();
* *B_InitGuildAttitudes();
* *B_InitNpcGlobals();
* *INIT_SUB_Testlevel();
};

// Далее в файле Statup.d пойдут локации частей мира, они хотя и имеют свой *.zen файл, но вызываются не экзешником, а скриптами из секции части мира.
// Я надеюсь, что все поняли разницу между частью мира и локацией части мира, а так же понятие блока и секции.
// Если со STARTUP_ секцией всё понятно, то скажу дополнительно несколько слов по INIT_ секции.
// Для каждой INIT_ секции в файле есть INIT_SUB_ функция, вот эти то функции для локаций и вызываются из INIT_ секции части мира, следовательно, INIT_ секции локаций ниоткуда не вызываются и могут быть удалены.
// Всё вышесказанное закрепим на следующих функциях этого файла, внутреннее содержание функций я приводить не буду, если оно не представляет какой-либо дополнительный интерес, а является только вставкой НПС или предметов, пропущенные строки внутри функций буду помечать таким образом //!!!!!!

//-----------------------------------------------
// Часть мира - Яркендар, локация - Храм Аданоса
//-----------------------------------------------

// STARTUP_ секция - расстановка НПС в локации (будет вызвана из секции STARTUP_ части мира Яркендар)
func void STARTUP_ADDON_PART_ADANOSTEMPLE_01()
{
* *//!!!!!!
};

// INIT_SUB_ функция - инициализация локации (неважно что пуста, именно она вызовется из секции INIT_ части мира Яркендар)
func void INIT_SUB_ADDON_PART_ADANOSTEMPLE_01()
{
};

// INIT_ секция - инициализация локации (не будет ниоткуда вызвана, можно удалить)
func void INIT_ADDON_PART_ADANOSTEMPLE_01()
{
* *//!!!!!!
};

//------------------------------------------------
// Часть мира - Яркендар, локация - Золотая шахта
//------------------------------------------------
// аналогично предыдущему блоку

func void STARTUP_ADDON_PART_GOLDMINE_01()
{
* *//!!!!!!
};

func void INIT_SUB_ADDON_PART_GOLDMINE_01()
{
};

func void INIT_ADDON_PART_GOLDMINE_01()
{
* *//!!!!!!
};

//---------------------------------------------
// Часть мира - Яркендар, локация - Каньон
//---------------------------------------------
// аналогично предыдущему блоку

func void STARTUP_ADDON_PART_CANYON_01()
{
* *//!!!!!!
};

func void INIT_SUB_ADDON_PART_CANYON_01()
{
};

func void INIT_ADDON_PART_CANYON_01()
{
* *//!!!!!!
};

//--------------------------------------------------
// Часть мира - Яркендар, локация - Вход в Яркендар
//--------------------------------------------------
// аналогично предыдущему блоку

func void STARTUP_ADDON_PART_ENTRANCE_01()
{
* *//!!!!!!
};

func void INIT_SUB_ADDON_PART_ENTRANCE_01()
{
};

func void INIT_ADDON_PART_ENTRANCE_01()
{
* *//!!!!!!
};

//--------------------------------------------------
// Часть мира - Яркендар, локация - Лагерь Бандитов
//--------------------------------------------------
// аналогично предыдущему блоку

func void STARTUP_ADDON_PART_BANDITSCAMP_01()
{
* *//!!!!!!
};

// INIT_SUB_ функции с инициализацией помещений на принадлежность гильдиям
func void INIT_SUB_ADDON_PART_BANDITSCAMP_01()
{ *
* *Wld_AssignRoomToGuild("tavern01" *,GIL_NONE);
* *Wld_AssignRoomToGuild("beds01" * *,GIL_PUBLIC);
* *Wld_AssignRoomToGuild("merchant01",GIL_PUBLIC);
* *Wld_AssignRoomToGuild("schmied01" ,GIL_NONE);
* *Wld_AssignRoomToGuild("zoll01" * *,GIL_NONE);
* *Wld_AssignRoomToGuild("raven01" * ,GIL_PUBLIC);
};

func void INIT_ADDON_PART_BANDITSCAMP_01()
{
* *//!!!!!!
};

//--------------------------------------------------
// Часть мира - Яркендар, локация - Лагерь Пиратов
//--------------------------------------------------
// аналогично предыдущему блоку

func void STARTUP_ADDON_PART_PIRATESCAMP_01()
{
* *//!!!!!!
};

func void INIT_SUB_ADDON_PART_PIRATESCAMP_01()
{
};

func void INIT_ADDON_PART_PIRATESCAMP_01()
{
* *//!!!!!!
};

//--------------------------------------------------
// Часть мира - Яркендар, локация - Долина
//--------------------------------------------------
// аналогично предыдущему блоку

func void STARTUP_ADDON_PART_VALLEY_01()
{
* *//!!!!!!
};

func void INIT_SUB_ADDON_PART_VALLEY_01()
{
};

func void INIT_ADDON_PART_VALLEY_01()
{
* *//!!!!!!
};

//***********************************
// Часть мира - Яркендар
//***********************************
// Вот этот блок и будет вызван экзешником при входе в Яркендар

func void STARTUP_AddonWorld()
{ *
* *// вызов STARTUP_ секций локаций Яркендара
* *STARTUP_ADDON_PART_BANDITSCAMP_01();
* *STARTUP_ADDON_PART_PIRATESCAMP_01();
* *STARTUP_ADDON_PART_ENTRANCE_01();
* *STARTUP_ADDON_PART_GOLDMINE_01();
* *STARTUP_ADDON_PART_CANYON_01();
* *STARTUP_ADDON_PART_VALLEY_01();
* *STARTUP_ADDON_PART_ADANOSTEMPLE_01();
* *// установить флаг входа в Яркендар
* *ENTERED_ADDONWORLD = TRUE;
* *// установить текущий уровень на Яркендар
* *CurrentLevel = ADDONWORLD_ZEN;
* *// Маги воды уже ведут раскопки два дня
* *Wld_SetTime(60,00);
};

func void INIT_AddonWorld()
{
* *// вызов INIT_SUB_ функций локаций Яркендара
* *INIT_SUB_ADDON_PART_BANDITSCAMP_01();
* *INIT_SUB_ADDON_PART_PIRATESCAMP_01();
* *INIT_SUB_ADDON_PART_ENTRANCE_01();
* *INIT_SUB_ADDON_PART_GOLDMINE_01();
* *INIT_SUB_ADDON_PART_CANYON_01();
* *INIT_SUB_ADDON_PART_VALLEY_01();
* *INIT_SUB_ADDON_PART_ADANOSTEMPLE_01();
* *// инициализация отношений монстров к другим НПС
* *B_InitMonsterAttitudes();
* *// инициализация отношений между гильдиями людей
* *B_InitGuildAttitudes();
* *// инициализация глобальных НПС
* *B_InitNpcGlobals();
* *// вход в Яркендар
* *B_ENTER_ADDONWORLD();
};

//--------------------------------------------------------
// Часть мира - Миненталь, локация - Бывший Старый лагерь
//--------------------------------------------------------

func void STARTUP_OLDCAMP()
{
* *//!!!!!!
};

func void INIT_SUB_OLDCAMP()
{
* *//!!!!!!
};

func void INIT_OLDCAMP()
{
* *//!!!!!!
};

//-------------------------------------------------------------------------
// Часть мира - Миненталь, локация - Башня демонов (Старая башня Ксардаса)
//-------------------------------------------------------------------------
// аналогично предыдущему блоку

func void STARTUP_DEMONTOWER()
{
* *//!!!!!!
};

func void INIT_SUB_DEMONTOWER()
{
};

func void INIT_DEMONTOWER()
{
* *INIT_SUB_DEMONTOWER();
};

//------------------------------------------------
// Часть мира - Миненталь, локация - Окрестности
//------------------------------------------------
// аналогично предыдущему блоку

func void STARTUP_SURFACE()
{
* *//!!!!!!
};

func void INIT_SUB_SURFACE()
{
* *// Башня демонов занята Черными магами
* *Wld_AssignRoomToGuild("DT1",GIL_DMT);
* *Wld_AssignRoomToGuild("DT2",GIL_DMT);
* *// вход в Миненталь
* *B_ENTER_OLDWORLD();
};

func void INIT_SURFACE()
{
* *//!!!!!!
};

//***********************************
// Часть мира - Миненталь
//***********************************
// Этот блок будет вызван экзешником при входе в Миненталь

func void STARTUP_OLDWORLD()
{
* *// вызов STARTUP_ секций локаций Миненталя
* *Startup_Oldcamp();
* *Startup_Demontower();
* *Startup_Surface();
* *// установка времени
* *Wld_SetTime(00,00);
};

func void INIT_OLDWORLD()
{
* *// вызов INIT_SUB_ функций локаций Миненталя
* *INIT_SUB_Oldcamp();
* *INIT_SUB_Demontower();
* *INIT_SUB_Surface();
* *// инициализация отношений монстров к другим НПС
* *B_InitMonsterAttitudes();
* *// инициализация отношений между гильдиями людей
* *B_InitGuildAttitudes();
* *// инициализация глобальных НПС
* *B_InitNpcGlobals();
* *// вход в Миненталь
* *B_ENTER_OLDWORLD();
* *// если ГГ готов к переходу в 4 главу и он не в 4 главе
* *if(MIS_ReadyForChapter4 == TRUE) && (B_Chapter4_OneTime == FALSE)
* *{
* * * *// инициализация 4 главы
* * * *B_Kapitelwechsel(4,OLDWORLD_ZEN);
* * * *// установка флага входа в 4 главу
* * * *B_Chapter4_OneTime = TRUE;
* *};
};

//------------------------------------------------
// Часть мира - Новый мир, локация - Хоринис
//------------------------------------------------

func void STARTUP_NewWorld_Part_City_01()
{
* *//!!!!!!
};

func void INIT_SUB_NewWorld_Part_City_01()
{
* *// управление зажиганием фонарей
* *Wld_SetMobRoutine(00,00,"FIREPLACE",1);
* *Wld_SetMobRoutine(20,00,"FIREPLACE",1);
* *Wld_SetMobRoutine(05,00,"FIREPLACE",0);
* *// принадлежность помещений портового квартала
* *Wld_AssignRoomToGuild("hafen01",GIL_VLK);
* *Wld_AssignRoomToGuild("hafen02",GIL_VLK);
* *Wld_AssignRoomToGuild("hafen03",GIL_VLK);
* *Wld_AssignRoomToGuild("hafen04",GIL_PUBLIC);
* *Wld_AssignRoomToGuild("hafen05",GIL_VLK);
* *Wld_AssignRoomToGuild("hafen06",GIL_VLK);
* *Wld_AssignRoomToGuild("hafen07",GIL_VLK);
* *// если был диалог с Эддой
* *if(Edda_Schlafplatz == TRUE)
* *{
* * * *// можно спать в её доме
* * * *Wld_AssignRoomToGuild("hafen08",GIL_NONE);
* *}
* *else
* *{
* * * *// нельзя
* * * *Wld_AssignRoomToGuild("hafen08",GIL_VLK);
* *};
* *Wld_AssignRoomToGuild("hafen09", * *GIL_PUBLIC); // Игназ
* *Wld_AssignRoomToGuild("hafen10", * *GIL_VLK);
* *Wld_AssignRoomToGuild("hafen11", * *GIL_VLK);
* *Wld_AssignRoomToGuild("fellan", * * GIL_VLK);
* *Wld_AssignRoomToGuild("fisch", * * *GIL_VLK);
* *Wld_AssignRoomToGuild("lagerhaus", *GIL_NONE);
* *Wld_AssignRoomToGuild("karten", * * GIL_PUBLIC);
* *Wld_AssignRoomToGuild("hafenkneipe",GIL_NONE);
* *Wld_AssignRoomToGuild("puff", * * * GIL_NONE);
* *// Ремесленники
* *Wld_AssignRoomToGuild("bogner", * * GIL_PUBLIC); // Торбен и Гретта
* *Wld_AssignRoomToGuild("matteo", * * GIL_PUBLIC);
* *Wld_AssignRoomToGuild("hotel", * * *GIL_NONE);
* *Wld_AssignRoomToGuild("stadtkneipe",GIL_NONE);
* *Wld_AssignRoomToGuild("zuris", * * *GIL_VLK);
* *// если ГГ ученик Константино
* *if(Player_IsApprentice == APP_Constantino)
* *{
* * * *Wld_AssignRoomToGuild("alchemist",GIL_NONE);
* *}
* *else
* *{
* * * *Wld_AssignRoomToGuild("alchemist",GIL_PUBLIC);
* *};
* *// если ГГ ученик Боспера
* *if(Player_IsApprentice == APP_Bosper)
* *{
* * * *Wld_AssignRoomToGuild("gritta",GIL_NONE);
* *}
* *else
* *{
* * * *Wld_AssignRoomToGuild("gritta",GIL_PUBLIC);
* *};
* *// если ГГ ученик Харада
* *if(Player_IsApprentice == APP_Harad)
* *{
* * * *Wld_AssignRoomToGuild("schmied",GIL_NONE);
* *}
* *else
* *{
* * * *Wld_AssignRoomToGuild("schmied",GIL_VLK);
* *};
* *// тюрьма
* *Wld_AssignRoomToGuild("turmsued01", GIL_MIL);
* *Wld_AssignRoomToGuild("turmsued02", GIL_MIL);
* *Wld_AssignRoomToGuild("turmost01", *GIL_MIL);
* *Wld_AssignRoomToGuild("turmost02", *GIL_MIL);
* *Wld_AssignRoomToGuild("turmschmied",GIL_MIL);
* *Wld_AssignRoomToGuild("turmbogner", GIL_MIL);
* *// казармы
* *Wld_AssignRoomToGuild("andre", * * * GIL_PUBLIC);
* *Wld_AssignRoomToGuild("waffenkammer",GIL_PUBLIC);
* *Wld_AssignRoomToGuild("barracke", * *GIL_MIL);
* *// верхний квартал
* *Wld_AssignRoomToGuild("nwcityrich01",GIL_MIL);
* *Wld_AssignRoomToGuild("rathaus",GIL_PUBLIC);
* *Wld_AssignRoomToGuild("reich01",GIL_VLK);
* *Wld_AssignRoomToGuild("reich02",GIL_VLK);
* *Wld_AssignRoomToGuild("reich03",GIL_VLK);
* *Wld_AssignRoomToGuild("reich04",GIL_VLK);
* *Wld_AssignRoomToGuild("reich05",GIL_VLK);
* *Wld_AssignRoomToGuild("reich06",GIL_PUBLIC);
* *Wld_AssignRoomToGuild("richter",GIL_PUBLIC);
* *Wld_AssignRoomToGuild("leomar", GIL_VLK);
};

func void INIT_NewWorld_Part_City_01()
{
* *//!!!!!!
};

//------------------------------------------------
// Часть мира - Новый мир, локация - ферма Лобарта
//------------------------------------------------

func void STARTUP_NewWorld_Part_Farm_01()
{
* *//!!!!!!
};

func void INIT_SUB_NewWorld_Part_Farm_01()
{
* *Wld_AssignRoomToGuild("farm01",GIL_PUBLIC);
* *Wld_AssignRoomToGuild("farm02",GIL_PUBLIC);
* *// если ГГ заработал одежду у Лобарта
* *if(Lobart_Kleidung_Verkauft == TRUE)
* *{
* * * *Wld_AssignRoomToGuild("farm03",GIL_NONE);
* *}
* *else
* *{ * * *
* * * *Wld_AssignRoomToGuild("farm03",GIL_PUBLIC);
* *};
};
* *
func void INIT_NewWorld_Part_Farm_01()
{
* *//!!!!!!
};

//--------------------------------------------------
// Часть мира - Новый мир, локация - Башня Ксардаса
//--------------------------------------------------

func void STARTUP_NewWorld_Part_Xardas_01()
{
* *//!!!!!!
};

func void INIT_SUB_NewWorld_Part_Xardas_01()
{
};

func void INIT_NewWorld_Part_Xardas_01()
{
* *//!!!!!!
};

//--------------------------------------------------
// Часть мира - Новый мир, локация - Монастырь
//--------------------------------------------------

func void STARTUP_NewWorld_Part_Monastery_01()
{
* *//!!!!!!
};

func void INIT_SUB_NewWorld_Part_Monastery_01()
{
* *//!!!!!!
};

func void INIT_NewWorld_Part_Monastery_01()
{
* *//!!!!!!
};

//-----------------------------------------------------------------
// Часть мира - Новый мир, локация - усадьба Онара с окрестностями
//-----------------------------------------------------------------

func void STARTUP_NewWorld_Part_GreatPeasant_01()
{
* *//!!!!!!
};

func void INIT_SUB_NewWorld_Part_GreatPeasant_01()
{
* *// если ГГ помог Еролу найти каменную плитку
* *if(MIS_Addon_Erol_BanditStuff == LOG_SUCCESS)
* *{
* * * *Wld_AssignRoomToGuild("grpwaldhuette01",GIL_PUBLI C);
* *}
* *else
* *{
* * * *Wld_AssignRoomToGuild("grpwaldhuette01",GIL_SLD);
* *}; * * *
* *// двор Онара
* *Wld_AssignRoomToGuild("grphaupthaus01", GIL_PUBLIC);
* *Wld_AssignRoomToGuild("grpschmiede01", *GIL_PUBLIC);
* *Wld_AssignRoomToGuild("grpscheune01", * GIL_PUBLIC);
* *Wld_AssignRoomToGuild("grpkapelle01", * GIL_NONE);
* *// склеп
* *Wld_AssignRoomToGuild("cementary01", * *GIL_NONE);
* *// ферма Секоба
* *// если Ксардас еще не послал ГГ за Древней книгой на усадьбу Секоба
* *if(Sekob_RoomFree == FALSE)
* *{
* * * *Wld_AssignRoomToGuild("grpbauer01",GIL_PUBLIC);
* *}
* *else
* *{
* * * *Wld_AssignRoomToGuild("grpbauer01",GIL_NONE);
* *};
* *Wld_AssignRoomToGuild("grpbauerscheune01", *GIL_PUBLIC);
* *// ферма Бенгара
* *Wld_AssignRoomToGuild("grpbauer02", * * * * GIL_PUBLIC);
* *Wld_AssignRoomToGuild("grpbauerscheune02", *GIL_PUBLIC);
* *Wld_AssignRoomToGuild("grpturm02", * * *GIL_PUBLIC);
* *Wld_AssignRoomToGuild("grpturm01", * * *GIL_PUBLIC);
* *Wld_AssignRoomToGuild("grpwaldhuette02",GIL_PUBLI C);
};

func void INIT_NewWorld_Part_GreatPeasant_01()
{
* *//!!!!!!
};

//-------------------------------------------------------
// Часть мира - Новый мир, локация - проход в Миненталь
//-------------------------------------------------------

func void STARTUP_NewWorld_Part_Pass_To_OW_01()
{
* *//!!!!!!
};

func void INIT_SUB_NewWorld_Part_Pass_To_OW_01()
{
};

func void INIT_NewWorld_Part_Pass_To_OW_01 ()
{
* *//!!!!!!
};

//-------------------------------------------------------
// Часть мира - Новый мир, локация - средний лес
//-------------------------------------------------------

func void STARTUP_NewWorld_Part_Forest_01 ()
{
* *//!!!!!!
};

func void INIT_SUB_NewWorld_Part_Forest_01()
{
};

func void INIT_NewWorld_Part_Forest_01 ()
{
* *//!!!!!!
};
* *
//----------------------------------------------------------
// Часть мира - Новый мир, локация - область Черного тролля
//----------------------------------------------------------

func void STARTUP_NewWorld_Part_TrollArea_01()
{
* *//!!!!!!
};

func void INIT_SUB_NewWorld_Part_TrollArea_01()
{
};

func void INIT_NewWorld_Part_TrollArea_01 ()
{
* *//!!!!!!
};

//***********************************
// Часть мира - Новый мир
//***********************************
// Этот блок будет вызван экзешником при старте игры (Башня Ксардаса)

func void STARTUP_NewWorld()
{ *
* *// вызов STARTUP_ секций локаций Нового мира
* *STARTUP_NewWorld_Part_City_01();
* *STARTUP_NewWorld_Part_Farm_01();
* *STARTUP_NewWorld_Part_Xardas_01();
* *STARTUP_NewWorld_Part_Monastery_01();
* *STARTUP_NewWorld_Part_GreatPeasant_01();
* *STARTUP_NewWorld_Part_TrollArea_01();
* *STARTUP_NewWorld_Part_Forest_01();
* *STARTUP_NewWorld_Part_Pass_To_OW_01();
* *// начала главы 1
* *Kapitel = 1;
* *// мультики
* *PlayVideo("INTRO.BIK");
* *PlayVideo("Addon_Title.BIK");
* *// начальное умение ГГ добывать золото
* *Hero_HackChance = 10;
};

func void INIT_NewWorld()
{
* *// инициализация отношений монстров к другим НПС
* *B_InitMonsterAttitudes();
* *// инициализация отношений между гильдиями людей
* *B_InitGuildAttitudes();
* *// инициализация глобальных НПС
* *B_InitNpcGlobals();
* *// вход в Новый мир
* *B_ENTER_NEWWORLD();
* *// если ГГ расправился с Гильдией воров и Андре об этом не знает
* *if(Diebesgilde_Verraten) && (Andre_Diebesgilde_aufgeraeumt != TRUE)
* *{
* * * *// если Кассия, Джаспер или Рамирез живы
* * * *if(!Npc_IsDead(Cassia)) ¦¦ (!Npc_IsDead(Jesper)) ¦¦ (!Npc_IsDead(Ramirez))
* * * *{
* * * * * *// убить Гильдию воров
* * * * * *B_KillNpc(VLK_447_Cassia);
* * * * * *B_KillNpc(VLK_446_Jesper);
* * * * * *B_KillNpc(VLK_445_Ramirez);
* * * * * *// установить флаг выполнения задания
* * * * * *Andre_Diebesgilde_aufgeraeumt = TRUE;
* * * *};
* *};
* *// вызов INIT_SUB_ функций локаций Миненталя
* *INIT_SUB_NewWorld_Part_City_01();
* *INIT_SUB_NewWorld_Part_Farm_01();
* *INIT_SUB_NewWorld_Part_Xardas_01();
* *INIT_SUB_NewWorld_Part_Monastery_01();
* *INIT_SUB_NewWorld_Part_GreatPeasant_01();
* *INIT_SUB_NewWorld_Part_TrollArea_01();
* *INIT_SUB_NewWorld_Part_Forest_01();
* *INIT_SUB_NewWorld_Part_Pass_To_OW_01();
* *// если ГГ готов к переходу в 3 главу и он не в 3 главе
* *if(MIS_ReadyForChapter3 *== TRUE) && (B_Chapter3_OneTime == FALSE)
* *{
* * * *// инициализация 3 главы
* * * *B_Kapitelwechsel(3,NEWWORLD_ZEN);
* * * *// установка флага входа в 3 главу
* * * *B_Chapter3_OneTime = TRUE;
* *};
* *// если все драконы убиты и ГГ не в 5 главе
* *if(MIS_AllDragonsDead *== TRUE) && (B_Chapter5_OneTime == FALSE)
* *{
* * * *// инициализация 5 главы
* * * *B_Kapitelwechsel(5,NEWWORLD_ZEN);
* * * *// установка флага входа в 5 главу
* * * *B_Chapter5_OneTime = TRUE;
* *};
};

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