FOnline
Полный список членов класса
Класс Critter

Криттер. Подробнее...

Открытые члены

Скрипты и события

300

bool  SetScript (string @+script)
  Устанавливает новый скрипт и вызывает в нем функцию инициализации с параметром firstTime равным true. Подробнее...
 
uint  GetScriptId ()
  Возвращает ID текущего скрипта, связанного с данным криттером. Подробнее...
 
void  SetEvent (int eventType, string &funcName)
  Биндит функцию-обработчика определенного события. Подробнее...
 
Вызов событий

295

void  EventIdle ()
  Принудительно вызывает событие CRITTER_EVENT_IDLE. Подробнее...
 
void  EventFinish (bool deleted)
  Принудительно вызывает событие CRITTER_EVENT_FINISH. Подробнее...
 
void  EventDead (Critter @killer)
  Принудительно вызывает событие CRITTER_EVENT_DEAD. Подробнее...
 
void  EventRespawn ()
  Принудительно вызывает событие CRITTER_EVENT_RESPAWN. Подробнее...
 
void  EventShowCritter (Critter &cr)
  Принудительно вызывает событие CRITTER_EVENT_SHOW_CRITTER. Подробнее...
 
void  EventHideCritter (Critter &cr)
  Принудительно вызывает событие CRITTER_EVENT_HIDE_CRITTER. Подробнее...
 
void  EventShowItemOnMap (Item &showItem, bool added, Critter @dropper)
  Принудительно вызывает событие CRITTER_EVENT_SHOW_ITEM_ON_MAP. Подробнее...
 
void  EventChangeItemOnMap (Item &item)
  Принудительно вызывает событие CRITTER_EVENT_CHANGE_ITEM_ON_MAP. Подробнее...
 
void  EventHideItemOnMap (Item &hideItem, bool removed, Critter @picker)
  Принудительно вызывает событие CRITTER_EVENT_HIDE_ITEM_ON_MAP. Подробнее...
 
bool  EventAttacked (Critter &attacker, Item @weapon)
  Принудительно вызывает событие CRITTER_EVENT_ATTACKED. Подробнее...
 
void  EventStealing (Critter &thief, bool success, Item &item, uint count)
  Принудительно вызывает событие CRITTER_EVENT_STEALING. Подробнее...
 
void  EventMessage (Critter &fromCrit, int message, int value)
  Принудительно вызывает событие CRITTER_EVENT_MESSAGE. Подробнее...
 
bool  EventAttack (Critter &target, Item @weapon)
  Принудительно вызывает событие CRITTER_EVENT_ATTACK. Подробнее...
 
bool  EventUseItem (Item &item, Critter @onCritter, Item @onItem, Scenery @onScenery)
  Принудительно вызывает событие CRITTER_EVENT_USE_ITEM. Подробнее...
 
bool  EventUseSkill (int skill, Critter @onCritter, Item @onItem, Scenery @onScenery)
  Принудительно вызывает событие CRITTER_EVENT_USE_SKILL. Подробнее...
 
void  EventDropItem (Item &item)
  Принудительно вызывает событие CRITTER_EVENT_DROP_ITEM. Подробнее...
 
void  EventMoveItem (Item &item, uint8 fromSlot)
  Принудительно вызывает событие CRITTER_EVENT_MOVE_ITEM. Подробнее...
 
void  EventKnockout (uint anim2begin, uint anim2idle, uint anim2end, uint lostAp, uint knockDist)
  Принудительно вызывает событие CRITTER_EVENT_KNOCKOUT. Подробнее...
 
void  EventSmthStealing (Critter &fromCrit, Critter &thief, bool success, Item &item, uint count)
  Принудительно вызывает событие CRITTER_EVENT_SMTH_STEALING. Подробнее...
 
void  EventSmthAttack (Critter &fromCrit, Critter &target)
  Принудительно вызывает событие CRITTER_EVENT_SMTH_ATTACK. Подробнее...
 
void  EventSmthAttack (Critter &fromCrit, Critter &target)
  Принудительно вызывает событие CRITTER_EVENT_SMTH_ATTACKED. Подробнее...
 
void  EventSmthUseItem (Critter &fromCrit, Item &item, Critter @onCritter, Item @onItem, Scenery @onScenery)
  Принудительно вызывает событие CRITTER_EVENT_SMTH_USE_ITEM. Подробнее...
 
void  EventSmthUseSkill (Critter &fromCrit, int skill, Critter @onCritter, Item @onItem, Scenery @onScenery)
  Принудительно вызывает событие CRITTER_EVENT_SMTH_USE_SKILL. Подробнее...
 
void  EventSmthDropItem (Critter &fromCrit, Item &item)
  Принудительно вызывает событие CRITTER_EVENT_SMTH_DROP_ITEM. Подробнее...
 
void  EventSmthMoveItem (Critter &fromCrit, Item &item, uint8 fromSlot)
  Принудительно вызывает событие CRITTER_EVENT_SMTH_MOVE_ITEM. Подробнее...
 
void  EventSmthKnockout (Critter &fromCrit, uint anim2begin, uint anim2idle, uint anim2end, uint lostAp, uint knockDist)
  Принудительно вызывает событие CRITTER_EVENT_SMTH_KNOCKOUT. Подробнее...
 
bool  EventBarter (Critter &cr, bool attach, uint barterCount)
  Принудительно вызывает событие CRITTER_EVENT_BARTER. Подробнее...
 
bool  EventTalk (Critter &cr, bool attach, uint talkCount)
  Принудительно вызывает событие CRITTER_EVENT_TALK. Подробнее...
 
bool  EventPlaneBegin (NpcPlane &plane, uint childIndex, int reason, Critter @someCr, Item @someItem)
  Принудительно вызывает событие CRITTER_EVENT_PLANE_BEGIN. Подробнее...
 
bool  EventPlaneEnd (NpcPlane &plane, uint childIndex, int reason, Critter @someCr, Item @someItem)
  Принудительно вызывает событие CRITTER_EVENT_PLANE_END. Подробнее...
 
bool  EventPlaneRun (NpcPlane &plane, uint childIndex, int reason, uint &p0, uint &p1, uint &p2)
  Принудительно вызывает событие CRITTER_EVENT_PLANE_RUN. Подробнее...
 
void  EventShowCritter1 (Critter &cr)
  Принудительно вызывает событие CRITTER_EVENT_SHOW_CRITTER_1. Подробнее...
 
void  EventShowCritter2 (Critter &cr)
  Принудительно вызывает событие CRITTER_EVENT_SHOW_CRITTER_2. Подробнее...
 
void  EventShowCritter3 (Critter &cr)
  Принудительно вызывает событие CRITTER_EVENT_SHOW_CRITTER_3. Подробнее...
 
void  EventHideCritter1 (Critter &cr)
  Принудительно вызывает событие CRITTER_EVENT_HIDE_CRITTER_1. Подробнее...
 
void  EventHideCritter2 (Critter &cr)
  Принудительно вызывает событие CRITTER_EVENT_HIDE_CRITTER_2. Подробнее...
 
void  EventHideCritter3 (Critter &cr)
  Принудительно вызывает событие CRITTER_EVENT_HIDE_CRITTER_3. Подробнее...
 
bool  EventGlobalProcess (int type, Critter &cr, Item @car, uint &x, uint &y, uint &toX, uint &toY, uint &speed, uint &encounterDescriptor, bool &waitForAnswer)
  Принудительно вызывает событие CRITTER_EVENT_GLOBAL_PROCESS. Подробнее...
 
bool  EventGlobalInvite (Critter &leader, Item @car, uint encounterDescriptor, int combatMode, uint &mapId, uint16 &hexX, uint16 &hexY, uint8 &dir)
  Принудительно вызывает событие CRITTER_EVENT_GLOBAL_INVITE. Подробнее...
 
Карта

290

Map  GetMap ()
  Возвращает указатель на объект карты, на которой находится криттер. Подробнее...
 
uint  GetMapId ()
  Возвращает уникальный ID карты, на которой находится криттер. Подробнее...
 
uint16  GetMapProtoId ()
  Возвращает ID прототипа карты, на которой находится криттер. Подробнее...
 
int  GetFog (uint16 zoneX, uint16 zoneY)
  Позволяет получить состояние видимости указанной клетки глобальной карты мира для криттера. Подробнее...
 
void  SetFog (uint16 zoneX, uint16 zoneY, int fog)
  Позволяет изменить для криттера видимость указанной клетки глобальной карты мира. Подробнее...
 
Cтатистика

270

void  AddScore (int score, int value)
  Добавляет указанное количество очков в указанную статистику криттера. Подробнее...
 
Инвентарь

260

uint  GetBagRefreshTime ()
  Возвращает время обновления сумки. Подробнее...
 
void  SetBagRefreshTime (uint realMinutes)
  Устанавливает время обновления сумки. Подробнее...
 
uint  GetInternalBag (uint16[]@+pids, uint[]@+minCounts, uint[]@+maxCounts, int[]@+slots)
  Позволяет получить внутреннюю сумку криттера. Подробнее...
 
void  SetInternalBag (uint16[]&pids, uint[]@+minCounts, uint[]@+maxCounts, int[]@+slots)
  Позволяет установить внутреннюю сумку криттера. Подробнее...
 
uint  ItemsCount ()
  Возвращает количество всех предметов, находящихся в инвентаре криттера. Подробнее...
 
uint  ItemsWeight ()
  Возвращает общий вес всех предметов, находящихся в инвентаре криттера. Подробнее...
 
uint  ItemsVolume ()
  Возвращает общий объем всех предметов, находящихся в инвентаре криттера. Подробнее...
 
uint  CountItem (uint16 protoId)
  Возвращает количество указанных предметов, находящихся в инвентаре криттера. Подробнее...
 
Item  GetItem (uint16 protoId, int slot)
  Позволяет получить предмет с указанным прототипом, находящийся в указанном слоте инвентаря криттера. Подробнее...
 
Item  GetItemById (uint itemId)
  Позволяет получить предмет с указанным идентификатором, находящийся в инвентаре криттера. Подробнее...
 
uint  GetItems (int slot, Item @[]@+items)
  Находит все предметы, которые находятся в инвентаре. Подробнее...
 
uint  GetItemsByType (int type, Item @[]@+items)
  Позволяет получить все предметы указанного типа, находящиеся в инвентаре криттера. Подробнее...
 
bool  MoveItem (uint objId, uint count, uint8 toSlot)
  Перемещает предмет из одного слота в другой. Подробнее...
 
Item  AddItem (uint16 protoId, uint count)
  Добавляет предмет в инвентарь криттера. Подробнее...
 
bool  DeleteItem (uint16 protoId, uint count)
  Удаляет предмет из инвентаря криттера. Подробнее...
 
bool  PickItem (uint16 hexX, uint16 hexY, uint16 protoId)
  Заставляет криттера поднять предмет. Подробнее...
 
uint16  GetFavoriteItem (int slot)
  Возвращает номер прототипа избранной вещи криттера для указанного слота. Подробнее...
 
void  SetFavoriteItem (int slot, uint16 pid)
  Устанавливает избранную вещь криттера для указанного слота. Подробнее...
 
ProtoItem  GetSlotProto (int slot)
  Позволяет получить прототип предмета, который находится в указанном слоте. Подробнее...
 
Передвижение

250

bool  MoveRandom ()
  Заставляет криттера пройти 1 гексагон в случайном направлении. Подробнее...
 
bool  MoveToDir (uint8 dir)
  Заставляет криттера пройти 1 гексагон в указанном направлении. Подробнее...
 
void  SetDir (uint8 dir)
  Поворачивает криттера в указанном направлении. Подробнее...
 
void  SetHomePos (uint16 hexX, uint16 hexY, uint8 dir)
  Устанавливает домашнюю позицию криттера. Подробнее...
 
void  GetHomePos (uint &mapId, uint16 &hexX, uint16 &hexY, uint8 &dir)
  Возвращает домашнюю позицию криттера. Подробнее...
 
bool  TransitToGlobal (bool requestGroup)
  Перемещает игрока или партию игроков на глобальную карту мира. Подробнее...
 
bool  TransitToGlobal (Critter @[]&group)
  Перемещает на глобал с группой. Подробнее...
 
bool  TransitToGlobalGroup (uint critterId)
  Перемещает криттера на глобал в группу указанного криттера. Подробнее...
 
bool  TransitToHex (uint16 hexX, uint16 hexY, uint8 dir)
  Перемещает криттера в указанный гексагон на текущей карте. Подробнее...
 
bool  TransitToMap (uint mapId, uint16 hexX, uint16 hexY, uint8 dir, bool withGroup)
  Перемещает криттера на определенную карту, помещая его в указанный гексагон. Подробнее...
 
bool  TransitToMap (uint mapId, uint16 hexX, uint16 hexY, uint8 dir)
  Перемещает криттера на определенную карту, помещая его в указанный гексагон. Подробнее...
 
bool  TransitToMap (uint mapId, uint8 entireNum)
  Перемещает криттера на определенную карту, помещая его на точку входа с указанным номером. Подробнее...
 
Разговор

240

void  Say (uint8 howSay, string @text)
  Заставляет криттера сказать что-либо. Подробнее...
 
void  SayMsg (uint8 howSay, uint16 textMsg, uint strNum)
  Заставляет криттера сказать что-либо. Подробнее...
 
void  SayMsg (uint8 howSay, uint16 textMsg, uint strNum, string &lexems)
  Заставляет криттера сказать что-либо. Подробнее...
 
Локации

230

bool  IsKnownLoc (bool byId, uint locNum)
  Позволяет определить, знает ли игрок об указанной локации или нет. Подробнее...
 
bool  SetKnownLoc (bool byId, uint locNum)
  Делает локацию видимой для криттера. Подробнее...
 
bool  UnsetKnownLoc (bool byId, uint locNum)
  Делает локацию невидимой для криттера. Подробнее...
 
Планы

220

bool  AddPlane (NpcPlane @+plane)
  Устанавливает план NPC. Подробнее...
 
bool  ErasePlane (uint index)
  Удаляет план по указанному индексу. Подробнее...
 
uint  ErasePlane (int planeType, bool all)
  Удаляет план(ы) указанного типа. Подробнее...
 
NpcPlane  GetCurPlane ()
  Возвращает текущий план. Подробнее...
 
uint  GetPlanes (NpcPlane @[]@+planes)
  Позволяет получить все текущие планы NPC. Подробнее...
 
bool  IsNoPlanes ()
  Позволяет проверить, есть ли у криттера запланированные действия. Подробнее...
 
uint  GetPlanes (int identifier, NpcPlane @[]@+planes)
  Позволяет узнать количество планов с заданным идентификатором. Подробнее...
 
uint  GetPlanesByExt (uint identifierExt, NpcPlane @[]@+planes)
  Позволяет узнать количество планов с заданным параметром identifierExt. Подробнее...
 
uint  GetPlanes (int identifier, uint identifierExt, NpcPlane @[]@+planes)
  Позволяет узнать количество планов с заданными параметрами identifier и identifierExt. Подробнее...
 
void  DropPlanes ()
  Cбрасывает все планы NPC. Подробнее...
 
Уведомления

210

void  SendQuestVar (GameVar &var)
  Отправляет игроку уведомление об изменившейся игровой переменной. Подробнее...
 
void  SendCombatResult (uint[]&combatResult)
  Служит для оповещения игроков о результатах боя. Подробнее...
 
void  SetSendParam (uint index, bool enabled)
  Служит для разрешения отправки игроку информации о других криттерах. Подробнее...
 
void  SendMessage (int num, int val, int to)
  Отправляет сообщение другим криттерам. Подробнее...
 
Состояние

200

bool  IsFree ()
  Проверяет, свободен ли криттер или нет. Подробнее...
 
bool  IsBusy ()
  Проверяет, занят ли криттер или нет. Подробнее...
 
bool  IsDead ()
  Проверяет, мёртв ли криттер. Подробнее...
 
bool  IsKnockout ()
  Проверяет, находится ли криттер в нокдауне. Подробнее...
 
bool  IsLife ()
  Проверяет, жив ли криттер. Подробнее...
 
void  ToDead (uint anim2, Critter @+killer)
  Убивает криттера. Подробнее...
 
bool  ToKnockout (uint anim2begin, uint anim2idle, uint anim2end, uint lostAp, uint16 knockHx, uint16 knockHy)
  Посылает криттера в нокаут. Подробнее...
 
bool  ToLife ()
  Возвращает мертвого криттера к жизни. Подробнее...
 
Анимация

190

void  Animate (uint anim1, uint anim2, Item @+item, bool clearSequence, bool delayPlay)
  Ставит указанную анимацию в очередь проигрываемых анимаций криттера. Подробнее...
 
bool  ChangeCrType (uint newType)
  Cмена типа криттера. Подробнее...
 
bool  IsAnim1 (uint index)
  Позволяет определить возможность использования криттером указанной анимации (оружия, действий) Подробнее...
 
void  SetAnims (int cond, uint anim1, uint anim2)
  Для смены данных значений на постоянной основе (например, положение сидя, лежа). Подробнее...
 
Для групп (партий)

180

uint  GetFollowGroup (int findType, Critter @[]@+critters)
  Ищет криттеров, входящих в группу во главе с криттером. Подробнее...
 
Critter  GetFollowLeader ()
  Позволяет получить лидера группы, в которую входит криттер. Подробнее...
 
Critter[]  GetGlobalGroup ()
  Возвращает текущую группу на глобальной карте, в которую входит криттер. Подробнее...
 
Для работы со стеком противников

Максимальная вместимость стека – 30.

170

void  AddEnemyInStack (uint critterId)
  Добавляет криттера с указанным ID в стек противников. Подробнее...
 
void  ChangeEnemyStackSize (uint newSize)
  Позволяет изменить размер стека противников. Подробнее...
 
bool  CheckEnemyInStack (uint critterId)
  Позволяет проверить, находится ли криттер с указанным ID в стеке противников. Подробнее...
 
void  ClearEnemyStack ()
  Очищает стек противников. Подробнее...
 
void  EraseEnemyFromStack (uint critterId)
  Удаляет криттера с указанным ID из стека противников. Подробнее...
 
void  GetEnemyStack (uint[]&enemyStack)
  Позволяет получить ID всех противников, находящихся в стеке. Подробнее...
 
Информация с голодисков

160

void  AddHolodiskInfo (uint holodiskNum)
  Записывает в Пип-бой информацию с указанного голодиска. Подробнее...
 
void  EraseHolodiskInfo (uint holodiskNum)
  Стирает из Пип-боя информацию с указанного голодиска. Подробнее...
 
bool  IsHolodiskInfo (uint holodiskNum)
  Позволяет проверить, содержится ли в Пип-бое информация с указанного голодиска. Подробнее...
 
Для работы с временными событиями криттера.

150

bool  AddTimeEvent (string &funcName, uint duration, int identifier)
  Создает временное событие персонажа. Подробнее...
 
bool  AddTimeEvent (string &funcName, uint duration, int identifier, uint rate)
  Создает временное событие персонажа с указанием параметра rate. Подробнее...
 
void  ChangeTimeEvent (uint index, uint newDuration, uint newRate)
  Изменяет временное событие персонажа. Подробнее...
 
uint  GetTimeEvents (int identifier, uint[]@+indexes, uint[]@+durations, uint[]@+rates)
  Возвращает количество найденных событий персонажа по указанным параметрам. Подробнее...
 
uint  GetTimeEvents (int[]&findIdentifiers, int[]@+identifiers, uint[]@+indexes, uint[]@+durations, uint[]@+rates)
  Возвращает количество найденных событий персонажа, а так же их параметры identifier по указанным параметрам. Подробнее...
 
void  EraseTimeEvent (uint index)
  Удаляет временное событие персонажа по индексу в массиве. Подробнее...
 
uint  EraseTimeEvents (int identifier)
  Удаляет временные события персонажа с заданным идентификатором. Подробнее...
 
uint  EraseTimeEvents (int[]&identifiers)
  Удаляет временные события персонажа с заданными идентификаторами. Подробнее...
 
Мультигексовость

145

uint  GetMultihex ()
  Возвращает значение мултигексовости для персонажа Подробнее...
 
void  SetMultihex (int value)
  Устанавливает новое значение мультигексовости для персонажа Подробнее...
 
Прочее

140

uint16  GetProtoId ()
  Возвращает номер прототипа криттера. Подробнее...
 
bool  IsNpc ()
  Позволяет проверить, является ли криттер NPC. Подробнее...
 
bool  IsPlayer ()
  Позволяет проверить, является ли криттер игроком. Подробнее...
 
void  Wait (uint ms)
  Заставляет криттера подождать указанное количество времени. Подробнее...
 
void  ShowContainer (Critter @+contCr, Item @+contItem, uint8 transferType)
  Показывает игроку содержимое контейнера. Подробнее...
 
uint  GetCritters (bool lookOnMe, int findType, Critter @[]@+critters)
  Ищет криттеров в поле видимости. Подробнее...
 
uint  GetTalkedPlayers (Critter @[]@+players)
  Находит всех игроков, разговаривающих с криттером. Подробнее...
 
void  DropTimers ()
  Сбрасывает таймеры на вызов обновлений Фикс-боя, точек входа в город и игровой статистики. Подробнее...
 
void  ShowScreen (int screenType, uint param, string &funcName)
  Открывает окно на стороне клиента, позволяя обработать его ответ. Подробнее...
 
void  PlaySound (string &soundName, bool sendSelf)
  Проигрывает звук с указанным именем на стороне клиента. Подробнее...
 
void  PlaySound (uint8 soundType, uint8 soundTypeExt, uint8 soundId, uint8 soundIdExt, bool sendSelf)
  Проигрывает звук с указанными составляющими на стороне клиента. Подробнее...
 
void  RunClientScript (string &funcName, int p0, int p1, int p2, string @+p3, int[]@+p4)
  Вызывает скрипт на стороне клиента. Подробнее...
 
void  SetLexems (string @+lexems)
  Устанавливает значения для лексем, использующихся в строках с описанием криттера. Подробнее...
 
bool  IsCanWalk ()
  Позволяет проверить, может ли криттер перемещаться. Подробнее...
 
bool  IsCanRun ()
  Позволяет проверить, может ли криттер передвигаться бегом. Подробнее...
 
bool  IsCanRotate ()
  Позволяет проверить, может ли криттер вращаться. Подробнее...
 
bool  IsCanAim ()
  Позволяет проверить, может ли криттер атаковать прицельно. Подробнее...
 
int  GetAccess ()
  Позволяет получить уровень доступа игрока. Подробнее...
 
bool  IsSee (Critter &cr)
  Проверяет, виден ли указанный криттер криттеру. Подробнее...
 
bool  IsSeenBy (Critter &cr)
  Проверяет, виден ли криттер указанным криттером. Подробнее...
 
bool  IsSee (Item &item)
  Проверяет, виден ли указанный предмет криттеру. Подробнее...
 
void  RefreshVisible ()
  Обновляет видимость криттера. Подробнее...
 
void  Action (int action, int actionExt, Item @+item)
  Вызывает на стороне клиент зарезервированную функцию critter_action. Подробнее...
 
void  Disconnect ()
  Вызывает отключение клиента. Подробнее...
 

Открытые атрибуты

Общие поля

200

const uint  Id
  Уникальный идентификатор криттера. Подробнее...
 
const bool  IsNotValid
  Позволяет определить валидность объекта. Подробнее...
 
const uint8  CrType
  Базовый тип анимации криттера. Подробнее...
 
const uint16  HexX
  Координата, по оси X, расположения криттера на карте. Подробнее...
 
const uint16  HexY
  Координата, по оси Y, расположения криттера на карте. Подробнее...
 
const uint16  WorldX
  Координата, по оси X, расположения криттера на глобальной карте. Подробнее...
 
const uint16  WorldY
  Координата, по оси Y, расположения криттера на глобальной карте. Подробнее...
 
const uint8  Dir
  Направление, в которое повернут криттер. Подробнее...
 
const uint8  Cond
  Текущее состояние криттера. Подробнее...
 
const uint8  CondExt
  Уточняет состояние криттера. Подробнее...
 
const uint16  Flags
  Флаги криттера, предназначенные только для чтения. Подробнее...
 
int  NpcRole
  Определяет роль криттера. Подробнее...
 
uint  ShowCritterDist1
  Дистанция обнаружения для событий CRITTER_EVENT_SHOW_CRITTER_1 и CRITTER_EVENT_HIDE_CRITTER_1. Подробнее...
 
uint  ShowCritterDist2
  Дистанция обнаружения для события CRITTER_EVENT_SHOW_CRITTER_2 и CRITTER_EVENT_HIDE_CRITTER_2. Подробнее...
 
uint  ShowCritterDist3
  Дистанция обнаружения для событий CRITTER_EVENT_SHOW_CRITTER_3 и CRITTER_EVENT_HIDE_CRITTER_3. Подробнее...
 
bool  IsRuning
  Позволяет узнать, бежал ли криттер в момент срабатывания событий триггера или предмета. Подробнее...
 
const uint  Life
  Уточняет состояние криттера. Подробнее...
 
const uint  Knockout
  Уточняет состояние криттера. Подробнее...
 
const uint  Dead
  Уточняет состояние криттера. Подробнее...
 
DataVal  Param
  Массив значений параметров криттера. Подробнее...
 
DataRef  ParamBase
  Массив базовых значений параметров криттера. Подробнее...
 

Подробное описание

Криттер.

Под словом "криттер" подразумеваются как игроки, так и NPC.

Методы

bool SetScript ( string @+  script )

Устанавливает новый скрипт и вызывает в нем функцию инициализации с параметром firstTime равным true.

Аргументы
script Имя скрипта.
Возвращает
true в случае успеха; false в случае провала.
Прим.
Если скрипт или функция не найдена, то установки значения скрипта не произойдет.
uint GetScriptId ( )

Возвращает ID текущего скрипта, связанного с данным криттером.

См. _scripts.fos, scripts.lst.

Возвращает
ID текущего скрипта. 0, если скрипт не назначен.
void SetEvent ( int  eventType,
string funcName 
)

Биндит функцию-обработчика определенного события.

Аргументы
eventType Тип события (см. Critter events).
funcName Имя функции-обработчика.
void EventIdle ( )

Принудительно вызывает событие CRITTER_EVENT_IDLE.

void EventFinish ( bool  deleted )

Принудительно вызывает событие CRITTER_EVENT_FINISH.

void EventDead ( Critter killer )

Принудительно вызывает событие CRITTER_EVENT_DEAD.

void EventRespawn ( )

Принудительно вызывает событие CRITTER_EVENT_RESPAWN.

void EventShowCritter ( Critter cr )

Принудительно вызывает событие CRITTER_EVENT_SHOW_CRITTER.

void EventHideCritter ( Critter cr )

Принудительно вызывает событие CRITTER_EVENT_HIDE_CRITTER.

void EventShowItemOnMap ( Item showItem,
bool  added,
Critter dropper 
)

Принудительно вызывает событие CRITTER_EVENT_SHOW_ITEM_ON_MAP.

void EventChangeItemOnMap ( Item item )

Принудительно вызывает событие CRITTER_EVENT_CHANGE_ITEM_ON_MAP.

void EventHideItemOnMap ( Item hideItem,
bool  removed,
Critter picker 
)

Принудительно вызывает событие CRITTER_EVENT_HIDE_ITEM_ON_MAP.

bool EventAttacked ( Critter attacker,
Item weapon 
)

Принудительно вызывает событие CRITTER_EVENT_ATTACKED.

void EventStealing ( Critter thief,
bool  success,
Item item,
uint  count 
)

Принудительно вызывает событие CRITTER_EVENT_STEALING.

void EventMessage ( Critter fromCrit,
int  message,
int  value 
)

Принудительно вызывает событие CRITTER_EVENT_MESSAGE.

bool EventAttack ( Critter target,
Item weapon 
)

Принудительно вызывает событие CRITTER_EVENT_ATTACK.

bool EventUseItem ( Item item,
Critter onCritter,
Item onItem,
Scenery onScenery 
)

Принудительно вызывает событие CRITTER_EVENT_USE_ITEM.

bool EventUseSkill ( int  skill,
Critter onCritter,
Item onItem,
Scenery onScenery 
)

Принудительно вызывает событие CRITTER_EVENT_USE_SKILL.

void EventDropItem ( Item item )

Принудительно вызывает событие CRITTER_EVENT_DROP_ITEM.

void EventMoveItem ( Item item,
uint8  fromSlot 
)

Принудительно вызывает событие CRITTER_EVENT_MOVE_ITEM.

void EventKnockout ( uint  anim2begin,
uint  anim2idle,
uint  anim2end,
uint  lostAp,
uint  knockDist 
)

Принудительно вызывает событие CRITTER_EVENT_KNOCKOUT.

void EventSmthStealing ( Critter fromCrit,
Critter thief,
bool  success,
Item item,
uint  count 
)

Принудительно вызывает событие CRITTER_EVENT_SMTH_STEALING.

void EventSmthAttack ( Critter fromCrit,
Critter target 
)

Принудительно вызывает событие CRITTER_EVENT_SMTH_ATTACK.

void EventSmthAttack ( Critter fromCrit,
Critter target 
)

Принудительно вызывает событие CRITTER_EVENT_SMTH_ATTACKED.

void EventSmthUseItem ( Critter fromCrit,
Item item,
Critter onCritter,
Item onItem,
Scenery onScenery 
)

Принудительно вызывает событие CRITTER_EVENT_SMTH_USE_ITEM.

void EventSmthUseSkill ( Critter fromCrit,
int  skill,
Critter onCritter,
Item onItem,
Scenery onScenery 
)

Принудительно вызывает событие CRITTER_EVENT_SMTH_USE_SKILL.

void EventSmthDropItem ( Critter fromCrit,
Item item 
)

Принудительно вызывает событие CRITTER_EVENT_SMTH_DROP_ITEM.

void EventSmthMoveItem ( Critter fromCrit,
Item item,
uint8  fromSlot 
)

Принудительно вызывает событие CRITTER_EVENT_SMTH_MOVE_ITEM.

void EventSmthKnockout ( Critter fromCrit,
uint  anim2begin,
uint  anim2idle,
uint  anim2end,
uint  lostAp,
uint  knockDist 
)

Принудительно вызывает событие CRITTER_EVENT_SMTH_KNOCKOUT.

bool EventBarter ( Critter cr,
bool  attach,
uint  barterCount 
)

Принудительно вызывает событие CRITTER_EVENT_BARTER.

bool EventTalk ( Critter cr,
bool  attach,
uint  talkCount 
)

Принудительно вызывает событие CRITTER_EVENT_TALK.

bool EventPlaneBegin ( NpcPlane plane,
uint  childIndex,
int  reason,
Critter someCr,
Item someItem 
)

Принудительно вызывает событие CRITTER_EVENT_PLANE_BEGIN.

bool EventPlaneEnd ( NpcPlane plane,
uint  childIndex,
int  reason,
Critter someCr,
Item someItem 
)

Принудительно вызывает событие CRITTER_EVENT_PLANE_END.

bool EventPlaneRun ( NpcPlane plane,
uint  childIndex,
int  reason,
uint &  p0,
uint &  p1,
uint &  p2 
)

Принудительно вызывает событие CRITTER_EVENT_PLANE_RUN.

void EventShowCritter1 ( Critter cr )

Принудительно вызывает событие CRITTER_EVENT_SHOW_CRITTER_1.

void EventShowCritter2 ( Critter cr )

Принудительно вызывает событие CRITTER_EVENT_SHOW_CRITTER_2.

void EventShowCritter3 ( Critter cr )

Принудительно вызывает событие CRITTER_EVENT_SHOW_CRITTER_3.

void EventHideCritter1 ( Critter cr )

Принудительно вызывает событие CRITTER_EVENT_HIDE_CRITTER_1.

void EventHideCritter2 ( Critter cr )

Принудительно вызывает событие CRITTER_EVENT_HIDE_CRITTER_2.

void EventHideCritter3 ( Critter cr )

Принудительно вызывает событие CRITTER_EVENT_HIDE_CRITTER_3.

bool EventGlobalProcess ( int  type,
Critter cr,
Item car,
uint &  x,
uint &  y,
uint &  toX,
uint &  toY,
uint &  speed,
uint &  encounterDescriptor,
bool &  waitForAnswer 
)

Принудительно вызывает событие CRITTER_EVENT_GLOBAL_PROCESS.

bool EventGlobalInvite ( Critter leader,
Item car,
uint  encounterDescriptor,
int  combatMode,
uint &  mapId,
uint16 &  hexX,
uint16 &  hexY,
uint8 &  dir 
)

Принудительно вызывает событие CRITTER_EVENT_GLOBAL_INVITE.

Map GetMap ( )

Возвращает указатель на объект карты, на которой находится криттер.

Возвращает
Указатель на экземпляр класса Map. В случае провала – null.
uint GetMapId ( )

Возвращает уникальный ID карты, на которой находится криттер.

Возвращает
ID карты. В случае провала – 0.
uint16 GetMapProtoId ( )

Возвращает ID прототипа карты, на которой находится криттер.

Возвращает
ID прототипа карты. В случае провала – 0.
int GetFog ( uint16  zoneX,
uint16  zoneY 
)

Позволяет получить состояние видимости указанной клетки глобальной карты мира для криттера.

Аргументы
zoneX,zoneY Координаты клетки глобальной карты мира.
Возвращает
Состояние видимости. См. Global map fog.
См. также
SetFog
void SetFog ( uint16  zoneX,
uint16  zoneY,
int  fog 
)

Позволяет изменить для криттера видимость указанной клетки глобальной карты мира.

Аргументы
zoneX,zoneY Координаты клетки глобальной карты мира.
fog Устанавливаемое состояние видимости. См. Global map fog.
См. также
GetFog
void AddScore ( int  score,
int  value 
)

Добавляет указанное количество очков в указанную статистику криттера.

Аргументы
score Номер статистики (см. Scores).
value Количество очков.
uint GetBagRefreshTime ( )

Возвращает время обновления сумки.

Возвращает
Время обновления сумки в реальных минутах.
См. также
SetBagRefreshTime
void SetBagRefreshTime ( uint  realMinutes )

Устанавливает время обновления сумки.

Если время обновления равно 0, то берется время по-умолчанию: рандомно от 60 до 120 реальных минут.

Аргументы
realMinutes Новое значение в реальных минутах.
См. также
GetBagRefreshTime
uint GetInternalBag ( uint16 @+[]  pids,
uint @+[]  minCounts,
uint @+[]  maxCounts,
int @+[]  slots 
)

Позволяет получить внутреннюю сумку криттера.

Аргументы
pids Массив, к которому будут дописаны номера прототипов предметов в сумке.
minCounts Массив, к которому будут дописано минимальное количество предметов для каждого прототипа.
maxCounts Массив, к которому будут дописано максимальное количество предметов для каждого прототипа.
slots Массив, к которому будут дописаны номера слотов размещения для каждого прототипа.
См. также
SetInternalBag
void SetInternalBag ( uint16 &[]  pids,
uint @+[]  minCounts,
uint @+[]  maxCounts,
int @+[]  slots 
)

Позволяет установить внутреннюю сумку криттера.

Начальное состояние формируется из инвентаря NPC в маппере, если его параметр BagId равен 0.

Аргументы
pids Массив с номерами прототипов предметов, которые будут содержаться в сумке.
minCounts Массив, содержащий минимальное количество каждого предмета в сумке.
maxCounts Массив, содержащий максимальное количество каждого предмета в сумке.
slots Массив с номерами слотов, в которых должны размещаться предметы из сумки.
См. также
GetInternalBag
uint ItemsCount ( )

Возвращает количество всех предметов, находящихся в инвентаре криттера.

Возвращает
Количество всех предметов.
uint ItemsWeight ( )

Возвращает общий вес всех предметов, находящихся в инвентаре криттера.

Возвращает
Общий вес предметов в инвентаре.
uint ItemsVolume ( )

Возвращает общий объем всех предметов, находящихся в инвентаре криттера.

Возвращает
Общий объем предметов в инвентаре.
uint CountItem ( uint16  protoId )

Возвращает количество указанных предметов, находящихся в инвентаре криттера.

Аргументы
protoId ID прототипа предмета (см. файл ITEMPID.H).
Возвращает
Количество предметов с указанным прототипом, находящихся в инвентаре.
Item GetItem ( uint16  protoId,
int  slot 
)

Позволяет получить предмет с указанным прототипом, находящийся в указанном слоте инвентаря криттера.

Аргументы
protoId ID прототипа предмета (см. файл ITEMPID.H).
slot Слот, в котором находится предмет (см. Slots). Если установлено значение: -1, то слот учитываться не будет.
Возвращает
Указатель на экземпляр класса Item, если предмет найден. В противном случае – null.
Item GetItemById ( uint  itemId )

Позволяет получить предмет с указанным идентификатором, находящийся в инвентаре криттера.

Аргументы
itemId ID предмета (см. файл ITEMPID.H).
Возвращает
Указатель на экземпляр класса Item, если предмет найден. В противном случае – null.
uint GetItems ( int  slot,
Item @@+[]  items 
)

Находит все предметы, которые находятся в инвентаре.

Аргументы
slot Слот, в котором находятся предметы (см. Slots). Если установлено значение: -1, то слот учитываться не будет.
items Массив указателей на предметы, которые находятся в инвентаре. Массив не очищается, а дописывается с конца нужными предметами.
Возвращает
Количество найденных предметов.
uint GetItemsByType ( int  type,
Item @@+[]  items 
)

Позволяет получить все предметы указанного типа, находящиеся в инвентаре криттера.

Аргументы
type Тип предмета (см. Items types).
items Массив, в конец которого будут записаны найденные предметы.
Возвращает
Количество предметов указанного типа.
bool MoveItem ( uint  objId,
uint  count,
uint8  toSlot 
)

Перемещает предмет из одного слота в другой.

Аргументы
objId Уникальный ID предмета.
toSlot Слот, в который перемещают предмет (см. Slots).
count Количество перемещаемых предметов.
Возвращает
true – в случае удачного перемещения, false – в случае провала.
Item AddItem ( uint16  protoId,
uint  count 
)

Добавляет предмет в инвентарь криттера.

Аргументы
protoId Номер прототипа предмета (см. файл ITEMPID.H).
count Количество предметов.
Возвращает
Указатель на экземпляр класса Item. В случае провала – null.
bool DeleteItem ( uint16  protoId,
uint  count 
)

Удаляет предмет из инвентаря криттера.

Аргументы
protoId Номер прототипа предмета (см. файл ITEMPID.H).
count Количество предметов.
Возвращает
true – в случае удачного добавления; false – в случае провала.
bool PickItem ( uint16  hexX,
uint16  hexY,
uint16  protoId 
)

Заставляет криттера поднять предмет.

Для того, чтобы предмет был поднят удачно, криттер должен находиться не дальше, чем на 1 гексагон от предмета.

Аргументы
hexX,hexY Координаты гексагона, на котором находится предмет.
protoId Номер прототипа предмета (см. файл ITEMPID.H).
Возвращает
true – в случае поднятия, false – в случае неудачного завершения работы функции.
uint16 GetFavoriteItem ( int  slot )

Возвращает номер прототипа избранной вещи криттера для указанного слота.

Подроности см. в описании SetFavoriteItem.

Аргументы
slot Слот. Доступны три: SLOT_HAND1, SLOT_HAND2, SLOT_ARMOR.
См. также
SetFavoriteItem
void SetFavoriteItem ( int  slot,
uint16  pid 
)

Устанавливает избранную вещь криттера для указанного слота.

Криттер, по окончании планов, может автоматически выбирать избранный предмет в нужный слот.

Для отключения механизма можно установить криттеру перк MODE_NO_FAVORITE_ITEM.

Аргументы
slot Слот. См. Slots. Из них доступны три: SLOT_HAND1, SLOT_HAND2, SLOT_ARMOR.
pid Номер прототипа избранной вещи.
См. также
GetFavoriteItem
ProtoItem GetSlotProto ( int  slot )

Позволяет получить прототип предмета, который находится в указанном слоте.

Аргументы
slot Слот (см. Slots).
Возвращает
Указатель на экземпляр класса ProtoItem. Если слот пуст, то возвращается null.
bool MoveRandom ( )

Заставляет криттера пройти 1 гексагон в случайном направлении.

Возвращает
true – в случае удачного выполнения функции; false – в случае провала.
См. также
MoveToDir
bool MoveToDir ( uint8  dir )

Заставляет криттера пройти 1 гексагон в указанном направлении.

Аргументы
dir Направление шага. Возможные значения: 0 – вверх-право, 1 – вправо, 2 – вниз-право и т.д.
Возвращает
true – в случае удачного выполнения функции; false – в случае провала.
См. также
MoveRandom
void SetDir ( uint8  dir )

Поворачивает криттера в указанном направлении.

Аргументы
dir Направление. Возможные значения: 0 – вверх-право, 1 – вправо, 2 – вниз-право и т.д.
void SetHomePos ( uint16  hexX,
uint16  hexY,
uint8  dir 
)

Устанавливает домашнюю позицию криттера.

Криттер будет всегда возвращаться в эту позицию при отсутствии планов.

Аргументы
hexX,hexY Координаты гексагона (позиции).
dir Направление, в которое будет повернут криттер, будучи на этой позиции.
См. также
GetHomePos
void GetHomePos ( uint &  mapId,
uint16 &  hexX,
uint16 &  hexY,
uint8 &  dir 
)

Возвращает домашнюю позицию криттера.

Аргументы
[out] mapId Переменная, в которую будет записан уникальный идентификатор карты домашней позиции криттера.
[out] hexX,hexY Переменные, в которые будут записаны координаты домашней позиции.
[out] dir Переменная, в которую будет записано направление, в которое повернут криттер, стоя на этой позиции.
См. также
SetHomePos
bool TransitToGlobal ( bool  requestGroup )

Перемещает игрока или партию игроков на глобальную карту мира.

Аргументы
requestGroup Указывает, нужно ли послать уведомление о перемещении всей партии данного игрока (true) или просто выкинуть игрока на глобал (false).
Прим.
Предназначена только для игроков.
bool TransitToGlobal ( Critter @&[]  group )

Перемещает на глобал с группой.

Аргументы
group Массив криттеров, перемещаемых на глобал в группу с криттером.
Возвращает
true – если перемещение успешно; false – в противном случае.
Прим.
Криттер, у которого вызывается метод, должен находиться не на глобале.
Криттеры из группы могут находиться и на других картах. Если кто-то из них находится на глобале, то в группу он не будет добавлен, но функция всё равно завершится успешно и криттер, для которого был вызван метод, будет перемещен на глобал.
bool TransitToGlobalGroup ( uint  critterId )

Перемещает криттера на глобал в группу указанного криттера.

Аргументы
critterId Идентификатор криттера, в группу которого происходит перемещение. Этот криттер должен находиться на глобале.
Возвращает
true – если перемещение успешно; false – в противном случае.
Прим.
Криттер, для которого вызывается метод, должен находиться не на глобале.
bool TransitToHex ( uint16  hexX,
uint16  hexY,
uint8  dir 
)

Перемещает криттера в указанный гексагон на текущей карте.

Аргументы
hexX,hexY Координаты гексагона, в который нужно переместить криттера.
dir Направление криттера после перемещения.
Прим.
Для NPC автоматически прописывается новая домашняя позиция.
Если параметр dir > 5, то направление криттера не меняется.
bool TransitToMap ( uint  mapId,
uint16  hexX,
uint16  hexY,
uint8  dir,
bool  withGroup 
)

Перемещает криттера на определенную карту, помещая его в указанный гексагон.

Аргументы
mapId Идентификатор карты.
hexX,hexY Координаты гексагона, на который помещается криттер. При передаче некорректных гексов Игрок перемещается в область рядом с машиной или на вход с номером 0, если машина отсутствует.
dir Направление криттера после перемещения.
withGroup Перемещать ли игрока вместе с группой или отдельно.
Прим.
Для NPC автоматически прописывается новая домашняя позиция.
Если параметр dir > 5, то направление криттера не меняется.
bool TransitToMap ( uint  mapId,
uint16  hexX,
uint16  hexY,
uint8  dir 
)

Перемещает криттера на определенную карту, помещая его в указанный гексагон.

Аргументы
mapId Идентификатор карты.
hexX,hexY Координаты гексагона, на который помещается криттер. При передаче некорректных гексов Игрок перемещается в область рядом с машиной или на вход с номером 0, если машина отсутствует.
dir Направление криттера после перемещения.
Прим.
Для NPC автоматически прописывается новая домашняя позиция.
Если параметр dir > 5, то направление криттера не меняется.
bool TransitToMap ( uint  mapId,
uint8  entireNum 
)

Перемещает криттера на определенную карту, помещая его на точку входа с указанным номером.

Аргументы
mapId Идентификатор карты.
entireNum Номер точки входа (специально помеченной группы гексагонов).
Прим.
Для NPC автоматически прописывается новая домашняя позиция.
void Say ( uint8  howSay,
string text 
)

Заставляет криттера сказать что-либо.

Если NPC мертв или упал на землю, то произносить фразу он не будет.

Аргументы
howSay Тип фразы. Например: говорить спокойно, кричать и т.д. (см. Say types).
text Текст сообщения.
void SayMsg ( uint8  howSay,
uint16  textMsg,
uint  strNum 
)

Заставляет криттера сказать что-либо.

Текст сообщения находится в файле. Если NPC мертв или упал на землю, то произносить фразу он не будет.

Аргументы
howSay Тип фразы, например: говорить спокойно, кричать и т.д. (см. Say types).
textMsg Название файла с текстами (см. Msg nums).
strNum Номер фразы в файле.
void SayMsg ( uint8  howSay,
uint16  textMsg,
uint  strNum,
string lexems 
)

Заставляет криттера сказать что-либо.

Текст сообщения находится в файле. Если NPC мертв или упал на землю, то произносить фразу он не будет.

Аргументы
howSay Тип фразы, например: говорить спокойно, кричать и т.д. (см. Say types).
textMsg Название файла с текстами (см. Msg nums).
strNum Номер фразы в файле.
lexems Вставки текста (см. Работа с диалогом).
bool IsKnownLoc ( bool  byId,
uint  locNum 
)

Позволяет определить, знает ли игрок об указанной локации или нет.

Аргументы
byId Если указано значение true, то locNum расценивается как уникальный идентификатор локации; если false – то как номер прототипа.
locNum Номер прототипа локации (см. файл _maps.fos) или уникальный идентификатор локации.
Возвращает
true – если знает; false – если нет.
См. также
SetKnownLoc
UnsetKnownLoc
bool SetKnownLoc ( bool  byId,
uint  locNum 
)

Делает локацию видимой для криттера.

Аргументы
byId Если указано значение true, то locNum расценивается как уникальный идентификатор локации, если false – то как номер прототипа.
locNum Номер прототипа локации (см. файл _maps.fos) или уникальный идентификатор локации.
Возвращает
true – в случае успеха; false – в случае провала.
См. также
IsKnownLoc
UnsetKnownLoc
bool UnsetKnownLoc ( bool  byId,
uint  locNum 
)

Делает локацию невидимой для криттера.

Аргументы
byId Если указано значение true, то locNum расценивается как уникальный идентификатор локации, если false – то как номер прототипа.
locNum Номер прототипа локации (см. файл _maps.fos) или уникальный идентификатор локации.
Возвращает
true – в случае успеха, false – в случае провала.
См. также
IsKnownLoc
SetKnownLoc
bool AddPlane ( NpcPlane @+  plane )

Устанавливает план NPC.

План добавляется в очередь планов. Cортировка планов (т.е. определение порядка исполнения) при установке идет по их приоритету (см. NpcPlane::Priority).

Аргументы
plane Устанавливаемый план.
Возвращает
true – в случае успеха; false – в случае неудачи.
Прим.
Для создания экземпляра класса NpcPlane используйте глобальную функцию CreatePlane.
bool ErasePlane ( uint  index )

Удаляет план по указанному индексу.

Аргументы
index Индекс удаляемого плана в очереди.
Возвращает
true – в случае успеха; false – в случае неудачи.
uint ErasePlane ( int  planeType,
bool  all 
)

Удаляет план(ы) указанного типа.

Аргументы
planeType Тип плана, который следует удалить (см. Planes types). Если установлено значение: -1, то этот параметр учитываться не будет.
all Если установлено значение true, то удаляются все планы указанного типа. Если установлено значение – false, то удаляется только один план указанного типа, находящийся в самом начале очереди.
Возвращает
Отрицательное значение в случае неудачи. Все остальные значения в случае удачного выполнения функции.
NpcPlane GetCurPlane ( )

Возвращает текущий план.

Возвращает
Текущий план.
uint GetPlanes ( NpcPlane @@+[]  planes )

Позволяет получить все текущие планы NPC.

Аргументы
planes Массив, в конец которого будут дописаны все текущие планы.
Возвращает
Количество базовых планов.
Прим.
Чтобы просто узнать количество базовых планов, в параметре planes можно передать значение null вместо списка.
bool IsNoPlanes ( )

Позволяет проверить, есть ли у криттера запланированные действия.

Возвращает
true – если у криттера нет запланированных действий; false – если есть.
uint GetPlanes ( int  identifier,
NpcPlane @@+[]  planes 
)

Позволяет узнать количество планов с заданным идентификатором.

Аргументы
identifier Идентификатор планов.
planes Массив, в конец которого будут дописаны все текущие планы.
Возвращает
Количество найденных планов.
uint GetPlanesByExt ( uint  identifierExt,
NpcPlane @@+[]  planes 
)

Позволяет узнать количество планов с заданным параметром identifierExt.

Аргументы
identifierExt Параметр identifierExt планов, среди которых будет вестись поиск.
planes Массив, в конец которого будут дописаны все текущие планы.
Возвращает
Количество найденных планов.
uint GetPlanes ( int  identifier,
uint  identifierExt,
NpcPlane @@+[]  planes 
)

Позволяет узнать количество планов с заданными параметрами identifier и identifierExt.

Аргументы
identifier параметр identifier планов, среди которых будет вестись поиск.
identifierExt параметр identifierExt планов, среди которых будет вестись поиск.
planes Массив, в конец которого будут дописаны все текущие планы.
Возвращает
Количество найденных планов.
void DropPlanes ( )

Cбрасывает все планы NPC.

void SendQuestVar ( GameVar var )

Отправляет игроку уведомление об изменившейся игровой переменной.

Аргументы
var Изменившаяся игровая переменная.
Прим.
Только для игроков.
void SendCombatResult ( uint &[]  combatResult )

Служит для оповещения игроков о результатах боя.

Аргументы
combatResult Массив, содержащий информацию о бое и его результате. Первый элемент массива должен содержать размер массива. Затем может следовать любое количество записей (детальную их спецификацию см. в combat_msg.fos).
Прим.
Только для игроков.
void SetSendParam ( uint  index,
bool  enabled 
)

Служит для разрешения отправки игроку информации о других криттерах.

Аргументы
index Индекс параметра. См. Параметры криттеров.
enabled Разрешить или запретить отправку.
Прим.
По-умолчанию, все уведомления запрещены.
Только для игроков.
void SendMessage ( int  num,
int  val,
int  to 
)

Отправляет сообщение другим криттерам.

Чтобы другой криттер прочитал это сообщение, для него должна быть описана предопределенная функция ::on_message. Сообщения принимаются в момент посылки.

Аргументы
num Номер сообщения.
val Передаваемое значение.
to Определяет, кому отсылается сообщение (см. In SendMessage).
См. также
CRITTER_EVENT_MESSAGE
bool IsFree ( )

Проверяет, свободен ли криттер или нет.

Возвращает
true – если криттер свободен; false – в противном случае.
См. также
IsBusy
bool IsBusy ( )

Проверяет, занят ли криттер или нет.

Возвращает
true – если криттер занят; false – в противном случае.
См. также
IsFree
bool IsDead ( )

Проверяет, мёртв ли криттер.

Возвращает
true – если криттер мёртв; false – в противном случае.
См. также
ToDead
IsKnockout
IsLife
bool IsKnockout ( )

Проверяет, находится ли криттер в нокдауне.

Возвращает
true – если криттер в нокдауне; false – в противном случае.
См. также
ToKnockout
IsDead
IsLife
bool IsLife ( )

Проверяет, жив ли криттер.

Возвращает
true – если криттер жив; false – в противном случае.
См. также
ToLife
IsDead
IsKnockout
void ToDead ( uint  anim2,
Critter @+  killer 
)

Убивает криттера.

Аргументы
anim2 Тип анимации смерти (см. COND_DEAD_... в Critter extended conditions).
killer Указатель на криттера-убийцу.
См. также
IsDead
bool ToKnockout ( uint  anim2begin,
uint  anim2idle,
uint  anim2end,
uint  lostAp,
uint16  knockHx,
uint16  knockHy 
)

Посылает криттера в нокаут.

Аргументы
anim2begin анимации начала накаута
anim2idle анимации нахождения в накауте
anim2end анимации выхода из накаута
lostAp Количество очков действия, необходимых для поднятия с земли.
knockHx,knockHy Гекс, на который падает криттер.
Возвращает
true – в случае успеха; false – в случае неудачи.
Прим.
Пока возможность указать гекс, на который упал криттер, не реализована должным образом. Криттер в клиенте падает в отличный от своей позиции гекс некорректно.
См. также
IsKnockout
bool ToLife ( )

Возвращает мертвого криттера к жизни.

Если позиция мёртвого криттера занята (например, другим криттером), то респаун не происходит.

Возвращает
true – в случае успеха; false – в случае неудачи.
См. также
IsLife
void Animate ( uint  anim1,
uint  anim2,
Item @+  item,
bool  clearSequence,
bool  delayPlay 
)

Ставит указанную анимацию в очередь проигрываемых анимаций криттера.

Для удобства пользуйтесь макросами (см. Animation в файле _macros.fos).

Функция прекращает свою работу, когда началось проигрывание анимации.

Если функция была вызвана в момент, когда у криттера проигрывается какая-либо анимация, то проигрывание новой анимации будет занесено в очередь.

Аргументы
anim1 Первый индекс анимации (см. ANIM1_* в _animation.fos).
anim2 Второй индекс анимации (см. ANIM2_* в _animation.fos).
item Указатель на предмет, используемый в анимации.
clearSequence Очистка очереди анимаций. При false анимация записывается в конец очереди.
delayPlay Актуален при clearSequence == false. Указывает ставить ли анимацию в очередь или пропустить (не проигрывать, если в данный момент идет другая анимация).
См. также
animation2d_process
animation3d_process
bool ChangeCrType ( uint  newType )

Cмена типа криттера.

Аргументы
newType Новый тип. См. Таблицу типов криттеров и возможностей их анимации.
Возвращает
true – в случае успеха, false – в противном случае.
bool IsAnim1 ( uint  index )

Позволяет определить возможность использования криттером указанной анимации (оружия, действий)

Аргументы
index Индекс анимации.
Возвращает
true – если анимация может использоваться, false – в противном случае.
void SetAnims ( int  cond,
uint  anim1,
uint  anim2 
)

Для смены данных значений на постоянной основе (например, положение сидя, лежа).

Аргументы
cond Для какого состаяния применить значения (см. COND_* в _defines.fos), при нуле применяется ко всем трем.
anim1 Значения анимаций.
anim2 Значения анимаций.
uint GetFollowGroup ( int  findType,
Critter @@+[]  critters 
)

Ищет криттеров, входящих в группу во главе с криттером.

Аргументы
findType Тип поиска (см. Critter find types).
critters Массив криттеров, в конец которого будут записаны найденные криттеры.
Возвращает
Количество найденных криттеров.
Прим.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение null вместо списка.
Найденные криттеры будут отсортированы по отдалению от криттера.
Critter GetFollowLeader ( )

Позволяет получить лидера группы, в которую входит криттер.

Возвращает
В том случае, если криттер видит лидера, то возвращается указатель на лидера группы. В противном случае возвращается null.
Critter [] GetGlobalGroup ( )

Возвращает текущую группу на глобальной карте, в которую входит криттер.

Возвращает
Массив, содержащий всех криттеров, входящих в группу на глобальной карте. Если криттер находится не на глобале, то будет возвращен null.
void AddEnemyInStack ( uint  critterId )

Добавляет криттера с указанным ID в стек противников.

Аргументы
critterId ID добавляемого криттера.
void ChangeEnemyStackSize ( uint  newSize )

Позволяет изменить размер стека противников.

Аргументы
newSize Новый размер стека. Максимальное значение – 30.
bool CheckEnemyInStack ( uint  critterId )

Позволяет проверить, находится ли криттер с указанным ID в стеке противников.

Аргументы
critterId ID проверяемого криттера.
Возвращает
true если находится; false – если нет.
void ClearEnemyStack ( )

Очищает стек противников.

void EraseEnemyFromStack ( uint  critterId )

Удаляет криттера с указанным ID из стека противников.

Аргументы
critterId ID удаляемого криттера.
void GetEnemyStack ( uint &[]  enemyStack )

Позволяет получить ID всех противников, находящихся в стеке.

Аргументы
enemyStack Массив, в который будут записаны все ID врагов криттера.
void AddHolodiskInfo ( uint  holodiskNum )

Записывает в Пип-бой информацию с указанного голодиска.

Аргументы
holodiskNum Номер голодиска.
См. также
EraseHolodiskInfo
IsHolodiskInfo
void EraseHolodiskInfo ( uint  holodiskNum )

Стирает из Пип-боя информацию с указанного голодиска.

Аргументы
holodiskNum Номер голодиска.
См. также
AddHolodiskInfo
IsHolodiskInfo
bool IsHolodiskInfo ( uint  holodiskNum )

Позволяет проверить, содержится ли в Пип-бое информация с указанного голодиска.

Аргументы
holodiskNum Номер голодиска.
Возвращает
true – если содержится; false – если нет.
См. также
AddHolodiskInfo
EraseHolodiskInfo
bool AddTimeEvent ( string funcName,
uint  duration,
int  identifier 
)

Создает временное событие персонажа.

Аргументы
funcName Строка ссылка на функцию.
duration Игровое время (в игровых секундах) через которое должно произойти событие.
identifier идентификатор, для удобного поиска событий в общем списке.
Возвращает
Возвращает true в случае успеха.
См. также
Временные события персонажей
bool AddTimeEvent ( string funcName,
uint  duration,
int  identifier,
uint  rate 
)

Создает временное событие персонажа с указанием параметра rate.

Аргументы
funcName Строка ссылка на функцию.
duration Игровое время (в игровых секундах) через которое должно произойти событие.
identifier идентификатор, для удобного поиска событий в общем списке.
rate дополнительный параметр, можно использовать для любых целей, если использован метод без указания значения rate, то данный параметр в функции обработчике будет равен нулю.
Возвращает
Возвращает true в случае успеха.
См. также
Временные события персонажей
void ChangeTimeEvent ( uint  index,
uint  newDuration,
uint  newRate 
)

Изменяет временное событие персонажа.

Аргументы
index Индекс события, которое необходимо изменить.
newDuration Новый интервал до возникновения события.
newRate Новое значение параметра rate.
См. также
Временные события персонажей
uint GetTimeEvents ( int  identifier,
uint @+[]  indexes,
uint @+[]  durations,
uint @+[]  rates 
)

Возвращает количество найденных событий персонажа по указанным параметрам.

Аргументы
identifier Идентификатор указанный при создании события.
indexes Индексы событий.
durations Временные промежутки событий.
rates значения параметра rate тех событий.
Возвращает
Количество найденных событий.
См. также
Временные события персонажей
uint GetTimeEvents ( int &[]  findIdentifiers,
int @+[]  identifiers,
uint @+[]  indexes,
uint @+[]  durations,
uint @+[]  rates 
)

Возвращает количество найденных событий персонажа, а так же их параметры identifier по указанным параметрам.

Аргументы
findIdentifiers Идентификаторы найденных событий.
identifiers Идентификаторы указанные при создании событий.
indexes Индексы событий.
durations Временные промежутки событий.
rates значения параметра rate событий.
Возвращает
Количество найденных событий.
См. также
Временные события персонажей
void EraseTimeEvent ( uint  index )

Удаляет временное событие персонажа по индексу в массиве.

Аргументы
index Индекс события, которое следует удалить
См. также
Временные события персонажей
uint EraseTimeEvents ( int  identifier )

Удаляет временные события персонажа с заданным идентификатором.

Аргументы
identifier Идентификатор, указанный при создании, тех событий, которые следует удалить.
Возвращает
Количество удаленных событий
См. также
Временные события персонажей
uint EraseTimeEvents ( int &[]  identifiers )

Удаляет временные события персонажа с заданными идентификаторами.

Аргументы
identifiers Массив идентификаторов тех событий, которые нужно удалить.
Возвращает
Количество удаленных событий.
См. также
Временные события персонажей
uint GetMultihex ( )

Возвращает значение мултигексовости для персонажа

void SetMultihex ( int  value )

Устанавливает новое значение мультигексовости для персонажа

Прим.
при value равном -1 значение меняется на значение по-умолчанию (значение по-умолчанию указано в CritterType.cfg)
uint16 GetProtoId ( )

Возвращает номер прототипа криттера.

bool IsNpc ( )

Позволяет проверить, является ли криттер NPC.

Возвращает
true – если криттер является NPC; false – в противном случае.
bool IsPlayer ( )

Позволяет проверить, является ли криттер игроком.

Возвращает
true – если криттер является игроком; false – в противном случае.
void Wait ( uint  ms )

Заставляет криттера подождать указанное количество времени.

Функция прекращает свою работу после окончания таймаута.
Примечание: Если функция вызвана во время движения персонажа, то он остановится.

Аргументы
ms Время (в миллисекундах, 1 секунда = 1000 миллисекунд), которое криттер должен ждать.
См. также
CRITTER_EVENT_IDLE
void ShowContainer ( Critter @+  contCr,
Item @+  contItem,
uint8  transferType 
)

Показывает игроку содержимое контейнера.

Аргументы
contCr Указатель на криттера, инвентарь которого будет показан.
contItem Указатель на предмет-контейнер, содержимое которого будет показано.
transferType Тип обмена (см. Transfer types).
uint GetCritters ( bool  lookOnMe,
int  findType,
Critter @@+[]  critters 
)

Ищет криттеров в поле видимости.

Аргументы
lookOnMe При значении true ищутся те, кто видит криттера, а при false – те, кого видит криттер.
findType Тип поиска (см. Critter find types).
critters Массив криттеров, в конец которого будут записаны найденные криттеры.
Возвращает
Количество записанных криттеров.
Прим.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение null вместо списка.
Найденные криттеры будут отсортированы по отдалению от криттера.
uint GetTalkedPlayers ( Critter @@+[]  players )

Находит всех игроков, разговаривающих с криттером.

Аргументы
players Массив криттеров, в который будут записаны разговаривающие с криттером игроки.
Возвращает
Количество игроков, разговаривающих с криттером.
Прим.
Предназначена только для NPC.
Если необходимо просто проверить, разговаривает ли кто-либо с криттером, можно передать null в качестве значения аргумента players.
На данный момент с каждым NPC может разговаривать максимум два игрока.
Найденные криттеры будут отсортированы по отдалению от криттера.
void DropTimers ( )

Сбрасывает таймеры на вызов обновлений Фикс-боя, точек входа в город и игровой статистики.

void ShowScreen ( int  screenType,
uint  param,
string funcName 
)

Открывает окно на стороне клиента, позволяя обработать его ответ.

Подробности использования этой функции смотрите в статье Взаимодействие с игроком.

Аргументы
screenType Тип окна (см. Show screen modes).
param Дополнительный параметр.
funcName Вызываемая при ответе функция.
Прим.
Ответ (вызов функции) вы сможете получить только на последний вызванный ShowScreen, т.к. каждый вызов ShowScreen отменяет ожидание предыдущего. Также у игрока всегда есть возможность не отвечать на него, и тогда и функция не вызовется.
void PlaySound ( string soundName,
bool  sendSelf 
)

Проигрывает звук с указанным именем на стороне клиента.

Аргументы
soundName Имя звука в клиенте.
sendSelf Отправлять ли сообщения о проигрывании самому себе.
void PlaySound ( uint8  soundType,
uint8  soundTypeExt,
uint8  soundId,
uint8  soundIdExt,
bool  sendSelf 
)

Проигрывает звук с указанными составляющими на стороне клиента.

Аргументы
soundType,soundTypeExt,soundId,soundIdExt Составляющие звука. Формула составления имени для некоторых soundType различается (см. Sound types).
sendSelf Отправлять ли сообщения о проигрывании самому себе.
void RunClientScript ( string funcName,
int  p0,
int  p1,
int  p2,
string @+  p3,
int @+[]  p4 
)

Вызывает скрипт на стороне клиента.

Спецификация функции на стороне клиента (см. templates.fos):

void __FuncName(int param0, int param1, int param2, string@ param3, int[]@ param4);
Аргументы
funcName Имя функции.
p0,p1,p2,p3,p4 Значения для передаваемых в функцию параметров.
void SetLexems ( string @+  lexems )

Устанавливает значения для лексем, использующихся в строках с описанием криттера.

Аргументы
lexems Cтрока значений лексем (см. описание тэга @lex@, где описан формат строки).
bool IsCanWalk ( )

Позволяет проверить, может ли криттер перемещаться.

Такие проверки актуальны, например, для турелей или хищных растений, в коде, где возможно перемещение криттеров: при взрывах или подобных критических атаках с отбрасыванием назад.

bool IsCanRun ( )

Позволяет проверить, может ли криттер передвигаться бегом.

bool IsCanRotate ( )

Позволяет проверить, может ли криттер вращаться.

bool IsCanAim ( )

Позволяет проверить, может ли криттер атаковать прицельно.

Значение проставляется в таблице криттеров.

int GetAccess ( )

Позволяет получить уровень доступа игрока.

Возвращает
Уровень доступа игрока (см. Access levels).
bool IsSee ( Critter cr )

Проверяет, виден ли указанный криттер криттеру.

Аргументы
cr Криттер, видимость которого проверяется.
Возвращает
true – если указанный криттер виден; false – в противном случае.
bool IsSeenBy ( Critter cr )

Проверяет, виден ли криттер указанным криттером.

Аргументы
cr Криттер, по отношению к которому проверяется видимость.
Возвращает
true – если криттер виден указанному криттеру; false – в противном случае.
bool IsSee ( Item item )

Проверяет, виден ли указанный предмет криттеру.

Аргументы
item Предмет, видимость которого проверяется.
Возвращает
true – если указанный предмет виден; false – в противном случае.
void RefreshVisible ( )

Обновляет видимость криттера.

void Action ( int  action,
int  actionExt,
Item @+  item 
)

Вызывает на стороне клиент зарезервированную функцию critter_action.

Аргументы
action Действие (см. Действия криттеров).
actionExt Параметр с дополнительной информацией о действии. Зависит от типа типа действия.
item Предмет, участвующий в действии.
См. также
critter_action
void Disconnect ( )

Вызывает отключение клиента.

Данные класса

const uint Id

Уникальный идентификатор криттера.

См. также
GetCritter(uint)
const bool IsNotValid

Позволяет определить валидность объекта.

const uint8 CrType

Базовый тип анимации криттера.

const uint16 HexX

Координата, по оси X, расположения криттера на карте.

const uint16 HexY

Координата, по оси Y, расположения криттера на карте.

const uint16 WorldX

Координата, по оси X, расположения криттера на глобальной карте.

const uint16 WorldY

Координата, по оси Y, расположения криттера на глобальной карте.

const uint8 Dir

Направление, в которое повернут криттер.

const uint8 Cond

Текущее состояние криттера.

Cм. Critter basic conditions.

const uint8 CondExt

Уточняет состояние криттера.

См. Extended critter conditions.

const uint16 Flags

Флаги криттера, предназначенные только для чтения.

См. Critter extra flags.

int NpcRole

Определяет роль криттера.

Устанавливается по усмотрению разработчика скрипта.

См. также
Map::GetNpc
uint ShowCritterDist1

Дистанция обнаружения для событий CRITTER_EVENT_SHOW_CRITTER_1 и CRITTER_EVENT_HIDE_CRITTER_1.

uint ShowCritterDist2

Дистанция обнаружения для события CRITTER_EVENT_SHOW_CRITTER_2 и CRITTER_EVENT_HIDE_CRITTER_2.

uint ShowCritterDist3

Дистанция обнаружения для событий CRITTER_EVENT_SHOW_CRITTER_3 и CRITTER_EVENT_HIDE_CRITTER_3.

bool IsRuning

Позволяет узнать, бежал ли криттер в момент срабатывания событий триггера или предмета.

const uint Life

Уточняет состояние криттера.

Используется для анимаций.

const uint Knockout

Уточняет состояние криттера.

Используется для анимаций.

const uint Dead

Уточняет состояние криттера.

Используется для анимаций.

DataVal Param

Массив значений параметров криттера.

Только для чтения.

См. также
ParamBase
SetParameterGetBehaviour
DataRef ParamBase

Массив базовых значений параметров криттера.

См. также
Param
SetParameterChangeBehaviour
Converted from CHM to HTML with chm2web Pro 2.85 (unicode)