Урок № 4. Добавить новую локацию( на основе имеющихся моделей) В этом уроке, товарищи пираты, Вы научитесь добавлять новые локации в игру, используя модели игры. Создание новой модели - это уже другая работа, требующая знаний программ для 3D моделирования, таких как 3dMax, Maya и другие.
Для переходов между локациями, также используются локаторы, как и для НПС.
Напомню, что нужно сделать, чтобы включить видимость локаторов, обсуждали в уроке № 2.
Для локаций используются локаторы групп Reload.
Локации прописаны в PROGRAM\locations\init\
Названия для локаций можно прописать в RESOURCE\INI\texts\russian\LocLables.txt
Рассмотрим код локации:
Code
// МАГАЗИН
locations[n].id = "SentJons_store";
locations[n].id.label = "Store";
locations[n].filespath.models = "locations\inside\Store03\";
locations[n].image = "loading\inside\shop.tga";
//Town sack
locations[n].townsack = "SentJons";
locations[n].lockWeather = "Inside";
//Sound
locations[n].type = "shop";
locations[n].fastreload = "SentJons";
locations[n].islandId = "Antigua";
//Models
//Always
locations[n].models.always.locators = "Store03_locators";
locations[n].models.always.store = "Store03";
locations[n].models.always.store.level = 65538;
locations[n].models.always.window = "Store03_window";
locations[n].models.always.window.tech = "LocationWindows";
locations[n].models.always.window.level = 65539;
locations[n].models.always.back = "..\inside_back";
locations[n].models.always.back.level = 65529;
//Day
locations[n].models.day.charactersPatch = "Store03_patch";
//Night
locations[n].models.night.charactersPatch = "Store03_patch";
//Environment
locations[n].environment.weather = "true";
locations[n].environment.sea = "false";
//Reload map
locations[n].reload.l1.name = "reload1_back";
locations[n].reload.l1.go = "SentJons_town";
locations[n].reload.l1.emerge = "reload6";
locations[n].reload.l1.autoreload = "0";
locations[n].reload.l1.label = "Street";
locations[n].locators_radius.camdetector.camera1 = 5;
////////////////////////==> комната в магазине
locations[n].reload.l2.name = "reload2";
locations[n].reload.l2.go = "CommonPackhouse_1";
locations[n].reload.l2.emerge = "reload1";
locations[n].reload.l2.autoreload = "0";
locations[n].reload.l2.label = "Room";
LAi_LocationFightDisable(&locations[n], true);
n = n + 1;
locations[n].id – уникальный ид локации, как и персонажами, предметами и т.п.
locations[n].id.label – отображаемое название, написаны в RESOURCE\INI\texts\russian\LocLables.txt
locations[n].filespath.models - указывается путь к модели локации
locations[n].image – текстура дл загрузочного экрана, хранятся в RESOURCE\Textures\Loading.
locations[n].type – тип музыки для локации
locations[n].models.always.locators – указание на файл с локаторами локации.
Раздел Reload map.
Code
locations[n].reload.l1.name = "reload1_back";
locations[n].reload.l1.go = "SentJons_town";
locations[n].reload.l1.emerge = "reload6";
locations[n].reload.l1.autoreload = "0";
locations[n].reload.l1.label = "Street";
locations[n].reload.l1.name – название локатора в данной локации
locations[n].reload.l1.go – ид локации в какую будет переход.
locations[n].reload.l1.emerge – название локатора в какую будет переход.
locations[n].reload.l1.autoreload – автозагрузка
locations[n].reload.l1.label - метка
L1 – цифра может быть любая и любое количество, смотря сколько будет выходов из локации. Например, в локации города, этих самых reload может быть порядка двадцати.
n = n + 1; - обязательно как завершили описание локации.
Переход может быть автоматическим, загрузка в следующую локацию происходит автоматически, как только игрок вступает в зону действия локатора (например, локаторы в джунглях).
Для этого при описывании в Reload map написать
locations[n].reload.l1.autoreload = "1";
1 – автопереход.
0 – переход по использовании пользователем назначенной кнопки
Разобравшись с кодом локации, можно отредактировать другие локации, добавляя новые комнаты или поменять модель локации.
С вами был Korsary4, специально для пользователей сайта Korsary4.uCoz.Ru.