Итак, целью нашей работы будет создание перса в городе.
Все персонажи создаются в файлах, хранящихся в паках program\character\init\
Вот самый общий код для создания перса:
//секция описание перса
makeref(ch,Characters[n]); //эта функция создаёт перса
ch.name = “Soldier”; //Определяем фамилию...
ch.lastname = ""; //...и имя
ch.id = “Redmond prison commendant”; //необходимо для каждого преса придумать УНИКАЛЬНЫЙ id. Обычно составляется из имя + фамилия.
ch.model = «offic_eng»; //Модель игрока (посмотреть модели можно в папке RESOURCES\MODELS\CHARACTERS\). Обратите внимание, что модель пишется БЕЗ расширения .gm
ch.sound_type = “soldier”; //тип звука который мы слышим при разговоре с персом.
ch.sex = “man”; //Анимация скелета - принимает значения man - мужская модель, woman - женская модель, monkey - обезьяна, skeleton - скелет.
LAi_CharacterReincarnation(ch, true, true); //Необязательный параметр, указывает может ли перс перерождаться.
//секция инвентаря
GiveItem2Character(ch, «Blade1»); //Даёт персу оружие blade1, список оружия можно посмотреть здесь: program\ITEMS\initItems.c
ch.equip.blade = «Blade1»; //Заставляем перса использовать оружие которое дали ему.
//секция локаций
ch.location = «Redmond_prison»; //Это название локации, список названий можно посмотретьв файле: PROGRAM\LOCATIONS\INIT\Имя города.c
ch.location.group = “sit”; //Группа локаторов
ch.location.locator = «sit1"; //Стартовая точка
//секция диалога
ch.Dialog.Filename = «
//секция умений и т.п.
ch.rank =
1;//ранг
ch.reputation = “None”;//репутация
ch.experience = “0”;//опыт
ch.skill.Leadership = “1”;//лидер
ch.skill.Fencing = “4”;//фехтование
ch.skill.Sailing = “1”;//навигация
ch.skill.Accuracy = “1”;//точность
ch.skill.Cannons = “1”;//орудия
ch.skill.Grappling = “1”;//абордаж
ch.skill.Repair = “1”;//починка
ch.skill.Defence = “1”;//защита
ch.skill.Commerce = “1”;//коммерция
ch.skill.Sneak = “1”;//удача
ch.money
= “10”; //деньги
//секция корабля, необязательная
ch.Ship.Name = “Fast death”;//имя корабля
ch.Ship.Type = SHIP_CORVETTE_PORTUGAL;//Тип корабля. Подробнее смотри program\Ships\Ships_init.c
ch.Ship.Cannons.Type = CANNON_TYPE_CANNON_LBS16;//Тип установленных орудий. 12,16, 24, и 32
//Анимация. Необходимо выбрать
один из вариантов
LAi_SetPoorType(ch); //Сидит(бродяга)
LAi_SetCitizenType(ch); //Ходит
LAi_SetMerchantType(ch); //Ходит за главным персом
LAi_SetPatrolType(ch); //Патруль
LAi_SetGuardianType(ch); //Патруль у дверей
LAi_SetPriestType(ch); //Священник
LAi_SetSitType(ch); //Сидит на стуле и т.п.
LAi_SetWaitressType(ch); //Оффициантка
LAi_SetBarmanType(ch); //Бармен
//Другие параметры, связаные с анимацией.
LAi_SetLoginTime(ch, 0.0, 24.0);
LAi_SetHP(ch, 80.0, 80.0);//Устанавливаем жизни
LAi_SetStayHuberPointWindow(ch, “goto”, «goto10"); //Описываем путь перса.
LAi_SetStayHuberPointMap(ch, “goto”,
«goto9");
//И на последок…
LAi_group_MoveCharacter(ch, «ENGLAND_SOLDIERS»); //Переместить перса в группу.
LAi_NoRebirthEnable(ch);//Запретить перерождение.
ch.greeting
= «Gr_Redmond Commendant»;
//Тип приветствия. Подробнее здесь: RESOURCE\INI\ALIASES\Greetings_alias.ini
n = n + 1;
вот и всё. мы создали перса.
теперь нам необходимо создать диалог к нему.