Показать / Скрыть текст. Сценой в игре называется любое пространство, где главный герой и всевозможные персонажи ходят, прыгают
Сценой в игре называется любое пространство, где главный герой и всевозможные персонажи ходят, прыгают, дерутся и т.д. Игрок проводит тут львиную долю своего времени, поэтому уметь работать со сценами важно для каждого стоящего мода. Описание в файле scenes.py модульной системы: Вот два самых стандартных примера такой записи: ("quick_battle_1",sf_generate,"none", "none", (0,0),(120,120),-100,"0x30401ee300059966000001bf0000299a0000638f", ("tutorial_2",sf_indoors,"tutorial_2_scene", "bo_tutorial_2_scene", (-100,-100),(100,100),-100,"0",
Файл сцены находится в папке SceneObj вашего мода (если её нет, скопируйте её из Native), носит имя "название_сцены.sco(файл скомпилированный из разных источников движком игры (Встроенным редактором сцен - ВРС) и содержит самые мелкие подробности о реальном виде вашей сцены. То есть - где и как Вы вручную поменяли ландшафт, разместили различные объекты и растительность (включая их масштаб, углы наклона,...), нанесли на поверхность земли текстуру песка или камня, покрасили снег в зелёный цвет, проложили АИ-меши, для компьютерных болванчиков... ВРС - Собственно говоря, это и есть движок игры, такой же компилятор, как и Питон, он просто собирает в одно место информацию из разных файлов и позволяет нам их наглядно редактировать. AI Mesh - это сеть, указывающая NPC (ботам, т.е всем кем управляет ИИ), где он может пройти, а где нет. Если, какой-нибудь NPC вдруг захотел прогуляться из точки A в точку B, он делает это так: находит кратчайший путь, проверяет, может ли он там пройти, и только потом (о, чудо!) идет. Если Вы построили стену у него на пути, то он врежется в нее и застрянет там навечно. Но если Вы сделаете AI mesh так, чтобы он учитывал эту стену, то NPC не только не врежется, но и обойдет злополучную стену кратчайшим путем События (триггеры) в файле module_mission_templates.py. Чтобы на сцене кипела жизнь, ей должна соответствовать определённая миссия (грубо говоря, сценарий). Вызов сцены в модульной системе сопровождается вызовом миссии (сценария). Далеко не всегда они составляют жёсткие пары. Обычно одна миссия используется для многих однотипных сцен, например, есть 110 деревень, для всех них в мирной ситуации используется миссия "village_center", а при сражении "lead_charge". Другой пример - на сцене Вы размещаете осадную башню, а вот её движение и поведение "актёров" определяется миссией. Внутриигровые меню в файле module_game_menus.py - для каждой активной партии (т.е. города, отряда, деревни) игра с помощью скриптов определяет, какое именно меню вызвать. Зачастую внутри меню содержатся дополнительные проверки и вычисления, оценивающие игровую ситуацию. Дружественный это замок или враждебный? Соответственно используется либо мирная сцена, либо сцена штурма. Также в меню часто определяются присутствующие на сцене персонажи (стражники, гуляющие местные жители, бандиты). Самым обширным меню обладают города, там можно выбрать переход в одну из нескольких сцен (покои, таверна, улицы...).
|