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)

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

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

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

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

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

Аргументы
itemIdID предмета (см. файл 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 в стек противников.

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

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

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

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

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

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

void EraseEnemyFromStack ( uint  critterId)

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

Аргументы
critterIdID удаляемого криттера.
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)

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

Аргументы
lexemsCтрока значений лексем (см. описание тэга @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