|
Re: Уроки скриптологии
2. Состояния тела НПС, фокусы камеры и параметры гильдий.
Все состояния тела НПС описаны в файле ..\AI_Intern\BodyStates.d, правда многие из них в игре не используются.
// ************************************************* // Состояния тела // *************************************************
// Флаги прерываний const int BS_FLAG_INTERRUPTABLE * * = * 32768; *//Состояние прерываемо const int BS_FLAG_FREEHANDS * * * * = * 65536; *//Свободные руки
// ****************************************** // Флаги состояние тела // ****************************************** const int BS_STAND * * * * * * * * *= * 0 | BS_FLAG_INTERRUPTABLE | BS_FLAG_FREEHANDS; *//Стоит const int BS_WALK * * * * * * * * * = * 1 | BS_FLAG_INTERRUPTABLE; * * *//Идет const int BS_SNEAK * * * * * * * * *= * 2 | BS_FLAG_INTERRUPTABLE; * * *//Подкрадывается const int BS_RUN * * * * * * * * * *= * 3; * * * * * * * * * * * * * * *//Бежит const int BS_SPRINT * * * * * * * * = * 4; * * * * * * * * * * * * * * *//Быстро бежит const int BS_SWIM * * * * * * * * * = * 5; * * * * * * * * * * * * * * *//Плывет const int BS_CRAWL * * * * * * * * *= * 6; * * * * * * * * * * * * * * *//Ползет const int BS_DIVE * * * * * * * * * = * 7; * * * * * * * * * * * * * * *//Ныряет const int BS_JUMP * * * * * * * * * = * 8; * * * * * * * * * * * * * * *//Прыгает const int BS_CLIMB * * * * * * * * *= * 9 | BS_FLAG_INTERRUPTABLE; * * *//Взбирается const int BS_FALL * * * * * * * * * = * 10; * * * * * * * * * * * * * * //Падает const int BS_SIT * * * * * * * * * *= * 11 | BS_FLAG_FREEHANDS; * * * * //Сидит const int BS_LIE * * * * * * * * * *= * 12; * * * * * * * * * * * * * * //Лежит const int BS_INVENTORY * * * * * * *= * 13; * * * * * * * * * * * * * * //Открывает инвентарь const int BS_ITEMINTERACT * * * * * = * 14 | BS_FLAG_INTERRUPTABLE; * * //Действие с предметом const int BS_MOBINTERACT * * * * * *= * 15; * * * * * * * * * * * * * * //Действие с MOBом const int BS_MOBINTERACT_INTERRUPT *= * 16 | BS_FLAG_INTERRUPTABLE; * * //Прерываемое действие с MOBом
const int BS_TAKEITEM * * * * * * * = * 17; * * * * * * * * * * * * * * //Берет предмет const int BS_DROPITEM * * * * * * * = * 18; * * * * * * * * * * * * * * //Выкидывает предмет const int BS_THROWITEM * * * * * * *= * 19; * * * * * * * * * * * * * * //Бросает предмет const int BS_PICKPOCKET * * * * * * = * 20 | BS_FLAG_INTERRUPTABLE; * * //Карманная кража
const int BS_STUMBLE * * * * * * * *= * 21; * * * * * * * * * * * * * * //(не используется) const int BS_UNCONSCIOUS * * * * * *= * 22; * * * * * * * * * * * * * * //Без сознания const int BS_DEAD * * * * * * * * * = * 23; * * * * * * * * * * * * * * //Мертвый
const int BS_AIMNEAR * * * * * * * *= * 24; * * * * * * * * * * * * * * //Близкая цель const int BS_AIMFAR * * * * * * * * = * 25; * * * * * * * * * * * * * * //Далекая цель const int BS_HIT * * * * * * * * * *= * 26 | BS_FLAG_INTERRUPTABLE; * * //Удар const int BS_PARADE * * * * * * * * = * 27; * * * * * * * * * * * * * * //(не используется)
// Магия const int BS_CASTING * * * * * * * *= * 28; * * * * * * * * * * * * * * //Кастует const int BS_PETRIFIED * * * * * * *= * 29; * * * * * * * * * * * * * * //Ошеломленный const int BS_CONTROLLING * * * * * *= * 30 | BS_FLAG_INTERRUPTABLE; * * //Управляемый
const int BS_MAX * * * * * * * * * *= * 31; * * * * * * * * * * * * * * //Макс. кол-во состояний тела
// Модификаторы состояний const int BS_MOD_HIDDEN * * * * * * = * 128; * * * * * * * * * * * * * *//Скрытый const int BS_MOD_DRUNK * * * * * * *= * 256; * * * * * * * * * * * * * *//Пьяный const int BS_MOD_NUTS * * * * * * * = * 512; * * * * * * * * * * * * * *//??? const int BS_MOD_BURNING * * * * * *= * 1024; * * * * * * * * * * * * * //Горящий const int BS_MOD_CONTROLLED * * * * = * 2048; * * * * * * * * * * * * * //Управляемый const int BS_MOD_TRANSFORMED * * * *= * 4096; * * * * * * * * * * * * * //Трансформируемый
// имена MOBов const string MOB_SIT * * * * * * * *= * "BENCH,CHAIR,GROUND,THRONE"; const string MOB_LIE * * * * * * * *= * "BED,BEDHIGH,BEDLOW"; const string MOB_CLIMB * * * * * * *= * "CLIMB,LADDER,RANKE"; const string MOB_NOTINTERRUPTABLE * = * "DOOR,LEVER,TOUCHPLATE,TURNSWITCH,VWHEEL,CHESTBIG, CHESTSMALL,HERB,IDOL,PAN, SMOKE,INNOS"; // Все другие MOBы, здесь не приведенные, являются прерываемыми, это: // BOOK,BSANVIL,BSCOOL,BSFIRE,BSSHARP,CAULDRON,DRUM,G RAVE,LAB,ORE,REPAIR,RMAKER,BAU MSAEGE,STOVE,SDW(Stein des Wissens)
В файле ..\AI_Intern\Focus.d описываются фокусы камеры (производные INSTANCE от класса C_Focus) для следующих ситуаций: Focus_Normal - обычный фокус камеры Focus_Melee - фокус камеры при сражении оружием ближнег радиуса поражения Focus_Ranged - фокус камеры при сражении оружием дальнего радиуса поражения Focus_Throw_Item - фокус камеры при броске (метании) предмета Focus_Throw_Mob - фокус камеры при броске (метании) МОВа Focus_Magic - фокус камеры при кастовании заклинания
В файле ..\AI_Intern\Species.d описывается значение параметров всех гильдий (производная INSTANCE Gil_Values от класса C_GILVALUES)
С этими двумя файлами разберетесь сами (кому нужно)!
************************************************** ********* Сделаем небольшой перерывчик. Попрошу критически отозваться о предоставляемом метериале (что не устраивает, стиль изложения, краткость, что хотелось бы). Короче, жду критики! ************************************************** *********
|