Показать сообщение отдельно
Старый 26.01.2005, 10:39   #83
Vam

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

По умолчанию 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)

С этими двумя файлами разберетесь сами (кому нужно)!

************************************************** *********
Сделаем небольшой перерывчик. Попрошу критически отозваться о предоставляемом метериале (что не устраивает, стиль изложения, краткость, что хотелось бы). Короче, жду критики!
************************************************** *********
Ответить с цитированием