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

Предмет. Подробнее...

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

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

300

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

295

bool  EventFinish (bool toDelete)
  Принудительно вызывает событие ITEM_EVENT_FINISH. Подробнее...
 
bool  EventAttack (Critter &attacker, Critter &target)
  Принудительно вызывает событие ITEM_EVENT_ATTACK. Подробнее...
 
bool  EventUse (Critter &cr, Critter @onCritter, Item @onItem, Scenery @onScenery)
  Принудительно вызывает событие ITEM_EVENT_USE. Подробнее...
 
bool  EventUseOnMe (Critter &cr, Item @usedItem)
  Принудительно вызывает событие ITEM_EVENT_USE_ON_ME. Подробнее...
 
bool  EventSkill (Critter &cr, int skill)
  Принудительно вызывает событие ITEM_EVENT_SKILL. Подробнее...
 
void  EventDrop (Critter &cr)
  Принудительно вызывает событие ITEM_EVENT_DROP. Подробнее...
 
void  EventMove (Critter &cr, uint8 fromSlot)
  Принудительно вызывает событие ITEM_EVENT_MOVE. Подробнее...
 
void  EventWalk (Critter &cr, bool entered, uint8 dir)
  Принудительно вызывает событие ITEM_EVENT_WALK. Подробнее...
 
Общие

290

void  Animate (uint8 fromFrame, uint8 toFrame)
  Проигрывает анимацию предмета. Подробнее...
 
bool  ChangeProto (uint16 protoId)
  Меняет прототип у предмета. Подробнее...
 
uint8  GetType ()
  Возвращает тип предмета. Подробнее...
 
uint16  GetProtoId ()
  Возвращает ID прототипа предмета. Подробнее...
 
uint  GetCost ()
  Автоматически расчитывает стоимость предмета, учитывая стоимость в предмете и прототипе, износ, заряженную аммуницию. Подробнее...
 
uint  GetCount ()
  Возвращает количество предметов в данном экземпляре. Подробнее...
 
void  SetCount (uint count)
  Устанавливает количество предметов в данном экземпляре. Подробнее...
 
Map  GetMapPosition (uint16 &hexX, uint16 &hexY)
  Возвращает указатель на карту и координаты расположения предмета на ней. Подробнее...
 
bool  IsStackable ()
  Группируются ли предметы. Подробнее...
 
bool  IsDeteriorable ()
  Изнашиваются ли предметы. Подробнее...
 
void  Update ()
  Обновление инфы об предмете у игроков. Подробнее...
 
void  SetLexems (string @+lexems)
  Позволяет установить (или сбросить) значения лексем, используемых в названии и описании предмета. Подробнее...
 
Для машин

280

Item  GetChild (uint childIndex)
  Возвращает указатель на дочерний предмет. Подробнее...
 
Для предметов-контейнеров

270

Item  AddItem (uint16 protoId, uint count, uint specialId)
  Создание предмета в контейнере. Подробнее...
 
Item  GetItem (uint16 protoId, uint specialId)
  Возвращает указатель на предмет, который находится в предмете-контейнере. Подробнее...
 
uint  GetItems (uint specialId, Item @[]@+items)
  Ищет все предметы с указанным специальным ID, которые находятся в предмете-контейнере. Подробнее...
 

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

Общие поля

300

const uint  Id
  Уникальный идентификатор предмета. Подробнее...
 
const bool  IsNotValid
  Позволяет определить валидность объекта. Подробнее...
 
const ProtoItem  Proto
  Указатель на прототип предмета. Подробнее...
 
uint  Cost
  Цена. Подробнее...
 
uint  Flags
  Изменяемые флаги предмета. Подробнее...
 
uint16  RadioFlags
  Флаги рации (См. Подробнее...
 
uint16  Info
  Используется в формуле для определения номера строки с описанием предмета. Подробнее...
 
uint  PicInv
  Изображение в инвентаре. Подробнее...
 
uint  PicMap
  Изображение на карте. Подробнее...
 
uint16  SortValue
  Сортировочное число. Подробнее...
 
Доступ

290

const uint8  Accessory
  Определяет, где находится предмет. Подробнее...
 
const uint  MapId
  Уникальный идентификатор карты, на которой находится предмет. Подробнее...
 
const uint16  HexX
  Координата месторасположения предмета по оси X. Подробнее...
 
const uint16  HexY
  Координата месторасположения предмета по оси Y. Подробнее...
 
const uint  CritId
  Уникальный идентификатор криттера, в инвентаре которого находится предмет. Подробнее...
 
const uint8  CritSlot
  Слот в инвентаре криттера, в котором находится предмет. Подробнее...
 
const uint  ContainerId
  Уникальный идентификатор контейнера, в котором находится предмет. Подробнее...
 
const uint  StackId
  (?) Подробнее...
 
uint  SpecialId
  Специальный ID предмета. Подробнее...
 
Разное (Misc2)

280

uint  Val1
  Используется для хранения произвольной информации. Подробнее...
 
uint  Val2
  Используется для хранения произвольной информации. Подробнее...
 
uint  Val3
  Используется для хранения произвольной информации. Подробнее...
 
uint  Val4
  Используется для хранения произвольной информации. Подробнее...
 
uint  Val5
  Используется для хранения произвольной информации. Подробнее...
 
Для изнашивающихся предметов (оружие, броня)

270

uint8  BrokenFlags
  (?) Подробнее...
 
uint8  BrokenCount
  (?) Подробнее...
 
uint16  Deterioration
  Степень износа Подробнее...
 
Для замков (ключи, контейнеры, двери)

280

uint  LockerId
  Номер замка. Подробнее...
 
uint16  LockerCondition
  Состояние замка. Подробнее...
 
uint16  LockerComplexity
  Сложность замка (штраф к навыку Взлом). Подробнее...
 
Для анимаций

Значения инициализируются по данным прототипа.

Используются для проигрывания анимации.

270

uint16  AnimWaitBase
  (?) Подробнее...
 
uint8  AnimStayBegin
  (?) Подробнее...
 
uint8  AnimStayEnd
  (?) Подробнее...
 
uint8  AnimShowBegin
  (?) Подробнее...
 
uint8  AnimShowEnd
  (?) Подробнее...
 
uint8  AnimHideBegin
  (?) Подробнее...
 
uint8  AnimHideEnd
  (?) Подробнее...
 
Для оружия

260

uint16  Weapon_AmmoPid
  Текущий PID заряженных патронов. Подробнее...
 
uint16  Weapon_AmmoCount
  Текущее количество патронов. Подробнее...
 
uint8  Mode
  Активный режим атаки. Подробнее...
 
Освещенность

250

int8  LightIntensity
  (?) Подробнее...
 
uint8  LightRadius
  (?) Подробнее...
 
uint8  LightFlags
  (?) Подробнее...
 
uint  LightColor
  (?) Подробнее...
 

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

Предмет.

Методы

bool SetScript ( string @+  script )

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

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

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

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

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

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

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

bool EventAttack ( Critter attacker,
Critter target 
)

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

bool EventUse ( Critter cr,
Critter onCritter,
Item onItem,
Scenery onScenery 
)

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

bool EventUseOnMe ( Critter cr,
Item usedItem 
)

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

bool EventSkill ( Critter cr,
int  skill 
)

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

void EventDrop ( Critter cr )

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

void EventMove ( Critter cr,
uint8  fromSlot 
)

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

void EventWalk ( Critter cr,
bool  entered,
uint8  dir 
)

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

void Animate ( uint8  fromFrame,
uint8  toFrame 
)

Проигрывает анимацию предмета.

Аргументы
fromFrame Начальный кадр анимации.
toFrame Конечный кадр анимации.
Прим.
Направление может быть любым (например, Animate(1,7) или Animate(7,1)).
bool ChangeProto ( uint16  protoId )

Меняет прототип у предмета.

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

Аргументы
protoId Номер нового прототипа (см. ITEMPID.H).
Возвращает
В случае успеха – true. В случае провала – false.
uint8 GetType ( )

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

Возвращает
Тип предмета (см. Items types). В случае провала – 0.
uint16 GetProtoId ( )

Возвращает ID прототипа предмета.

См. ITEMPID.H.

Возвращает
ID прототипа предмета. В случае провала – 0.
uint GetCost ( )

Автоматически расчитывает стоимость предмета, учитывая стоимость в предмете и прототипе, износ, заряженную аммуницию.

Возвращает
Стоимость предмета.
uint GetCount ( )

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

Возвращает
Количество предметов.
См. также
SetCount
void SetCount ( uint  count )

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

Аргументы
count новое количество предметов.
См. также
GetCount
Map GetMapPosition ( uint16 &  hexX,
uint16 &  hexY 
)

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

В параметрах возвращается месторасположение предмета на карте, независимо от того, где находится предмет (в предмете-контейнере, в инвентаре криттера или просто на карте).

Аргументы
hexX,hexY В эти переменные функция передаст координаты предмета.
Возвращает
Указатель на экземпляр класса Map. В случае провала – null.
bool IsStackable ( )

Группируются ли предметы.

См. также
ProtoItem::Stackable
bool IsDeteriorable ( )

Изнашиваются ли предметы.

См. также
ProtoItem::Deteriorable
void Update ( )

Обновление инфы об предмете у игроков.

При изменении полей обязательно вызовите этот метод для отправки данных клиентам.

void SetLexems ( string @+  lexems )

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

Аргументы
lexems Строка значений лексем (см. описание тэга @lex@, где описан формат строки). Если значение параметра будет null, то это приведёт к удалению лексем.
Item GetChild ( uint  childIndex )

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

Аргументы
childIndex Номер предмета. Обычно 0. Максимум - 4.
Возвращает
Указатель на экземпляр класса Item. В случае провала – null.
Item AddItem ( uint16  protoId,
uint  count,
uint  specialId 
)

Создание предмета в контейнере.

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

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

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

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

Аргументы
specialId Специальный ID. Используется для идентификации криттера, которому принадлежат предметы. Если установлено значение: -1, то этот параметр учитываться не будет.
items Массив указателей на предметы, которые находятся в контейнере. Массив не очищается, а дописывается с конца нужными предметами.
Возвращает
Количество найденных предметов.
См. также
SpecialId

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

const uint Id

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

const bool IsNotValid

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

const ProtoItem Proto

Указатель на прототип предмета.

uint Cost

Цена.

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

uint Flags

Изменяемые флаги предмета.

Cм. Item flags.

Для удобства пользуйтесь макросами:

  • FLAG (позволяет проверить, установлен ли определенный флаг),
  • SETFLAG (позволяет поставить флаг),
  • UNSETFLAG (позволяет убрать флаг). Их определения см. Flags в _macros.fos.
uint16 RadioFlags

Флаги рации (См.

Radio flags)

uint16 Info

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

Формула следующая:
Item::GetProtoId()*100 + Item::Info (+1 для полного описания).
uint PicInv

Изображение в инвентаре.

Номер вычисляется с помощью функции GetStrHash. При нулевом значении данные берутся из прототипа.

uint PicMap

Изображение на карте.

Номер вычисляется с помощью функции GetStrHash. При нулевом значении данные берутся из прототипа.

uint16 SortValue

Сортировочное число.

Используется для сортировки предметов при отображении в инвентаре/контейнере/карте/etc. Сортировка производится по возрастанию (от меньших значений к большим).

const uint8 Accessory

Определяет, где находится предмет.

Cм. Items accessory.

const uint MapId

Уникальный идентификатор карты, на которой находится предмет.

const uint16 HexX

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

const uint16 HexY

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

const uint CritId

Уникальный идентификатор криттера, в инвентаре которого находится предмет.

const uint8 CritSlot

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

См. Slots.

const uint ContainerId

Уникальный идентификатор контейнера, в котором находится предмет.

const uint StackId

(?)

uint SpecialId

Специальный ID предмета.

Используется для идентификации группы предметов внутри контейнеров. Обычно это уникальный ID криттера, которому принадлежит предмет. Изначально специальный ID предмета равен 0.

См. также
AddItem
GetItem
GetItems
MoveItem
MoveItems
uint Val1

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

uint Val2

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

uint Val3

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

uint Val4

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

uint Val5

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

uint8 BrokenFlags

(?)

uint8 BrokenCount

(?)

uint16 Deterioration

Степень износа

uint LockerId

Номер замка.

uint16 LockerCondition

Состояние замка.

См. Locker. Только для контейнеров и дверей.

uint16 LockerComplexity

Сложность замка (штраф к навыку Взлом).

Только для контейнеров и дверей.

uint16 AnimWaitBase

(?)

uint8 AnimStayBegin

(?)

uint8 AnimStayEnd

(?)

uint8 AnimShowBegin

(?)

uint8 AnimShowEnd

(?)

uint8 AnimHideBegin

(?)

uint8 AnimHideEnd

(?)

uint16 Weapon_AmmoPid

Текущий PID заряженных патронов.

uint16 Weapon_AmmoCount

Текущее количество патронов.

uint8 Mode

Активный режим атаки.

старшие четыре бита - прицел (см. Hit Locations), младшие четыре бита - тип использования (0 – primary, 1 – secondary, 2 – third).

int8 LightIntensity

(?)

uint8 LightRadius

(?)

uint8 LightFlags

(?)

uint LightColor

(?)

Converted from CHM to HTML with chm2web Pro 2.85 (unicode)