FOnline
Функции
Зарезервированные скриптовые функции (Клиент)

Функции

bool  start ()
  Вызывается при запуске клиента или в случае, если придет обновленный скрипт client_main.fos. Подробнее...
 
uint  loop ()
  Функция, вызываемая движком с задаваемой периодичностью. Подробнее...
 
void  render_iface ()
  Вызывается клиентом при отрисовке интерфейса. Подробнее...
 
void  render_map ()
  Вызывается при отрисовке графики на карте с учетом очереди вывода спрайтов. Подробнее...
 
bool  out_message (string &message, int &sayType)
  Обрабатывает исходящие от игрока сообщения. Подробнее...
 
bool  in_message (string &message, int &sayType, uint &critterId, uint &delay)
  Обрабатывает входящие сообщения. Подробнее...
 
bool  map_message (string &message, uint16 &hexX, uint16 &hexY, uint &color, uint &delay)
  Вызывается при получении сообщения на карте. Подробнее...
 
string  item_description (ItemCl &item, int lookType)
  Вызываются тогда, когда необходимо сформировать описание для предмета. Подробнее...
 
string  critter_description (CritterCl &cr, int lookType)
  Вызываются тогда, когда необходимо сформировать описание криттера. Подробнее...
 
string  generic_description (int descType, int &offsX, int &offsY)
  Вызывается тогда, когда необходимо сформировать какое-либо описание в игре. Подробнее...
 
bool  get_elevator (uint type, uint[]&data)
  Вызывается тогда, когда клиенту необходимо сформировать интерфейс для лифта. Подробнее...
 
void  critter_in (CritterCl &cr)
  Вызывается при появлении какого-либо криттера в игре. Подробнее...
 
void  critter_out (CritterCl &cr)
  Вызывается при изчезании какого-либо криттера в игре. Подробнее...
 
void  item_map_in (ItemCl &item)
  Вызывается при появлении предмета на карте. Подробнее...
 
void  item_map_changed (ItemCl &itemNow, ItemCl &itemBefore)
  Вызывается при смене предмета на карте. Подробнее...
 
void  item_map_out (ItemCl &item)
  Вызывается при исчезновении предмета с карты. Подробнее...
 
void  item_inv_in (ItemCl &item)
  Вызывается при появлении предмета в инвентаре. Подробнее...
 
void  item_inv_out (ItemCl &item)
  Вызывается при исчезновении предмета из инвентаря. Подробнее...
 
void  item_drop (ItemCl &item)
  Вызывается при выкидывании предмета криттером. Подробнее...
 
void  animation2d_process (bool animateStay, CritterCl &cr, uint anim1, uint anim2, ItemCl @item)
  Вызывается перед проигрыванием 2D анимации. Подробнее...
 
void  animation3d_process (bool animateStay, CritterCl &cr, uint anim1, uint anim2, ItemCl @item)
  Вызывается перед проигрыванием 3D анимации. Подробнее...
 
uint  item_cost (ItemCl &item, CritterCl &chosen, CritterCl &npc, bool sell)
  (?) Подробнее...
 
bool  check_perk (CritterCl &cr, uint perk)
  (?) Подробнее...
 
void  player_data_generate (int[]&data)
  (?) Подробнее...
 
bool  player_data_check (int[]&data)
  (?) Подробнее...
 
void  critter_action (bool localCall, CritterCl &cr, int action, int actionExt, ItemCl @item)
  Вызывается, когда криттер производит какое-либо действие. Подробнее...
 
void  filename_logfile (string &filename)
  Позволяет изменить имя файла лога. Подробнее...
 
void  filename_screenshot (string &filename)
  Позволяет изменить имя файла скриншота. Подробнее...
 
bool  player_allowcommand (Critter @cr, string @adminPanel, uint8 command)
  Регулирует доступ к командам сервера Подробнее...
 
bool  critter_check_move_item (Critter &cr, Item &item, uint8 toSlot, Item @itemSwap)
  Вызызывается перед каждым перемещением предмета у криттера. Подробнее...
 

GUI

int  get_active_screen ()
  Вызывается движком, чтобы получить активное окно. Подробнее...
 
void  screen_change (bool show, int screen, int p0, int p1, int p2)
  Позволяет определить поведение при смене окон. Подробнее...
 
bool  mouse_down (int click)
  Вызывается при нажатии кнопки мыши. Подробнее...
 
bool  mouse_up (int click)
  Вызывается при отжатии кнопки мыши. Подробнее...
 
void  mouse_move (int x, int y)
  Вызывается при перемещении курсора. Подробнее...
 
bool  key_down (uint8 key)
  Вызывается при нажатии клавиши. Подробнее...
 
bool  key_up (uint8 key)
  Вызывается при отжатии клавиши. Подробнее...
 
void  input_lost ()
  Вызывается при потере устройства: мыши или клавиатуры. Подробнее...
 

Боевка

void  combat_result (uint[]&data)
  Принимает данные, посланные в Critter::SendCombatResult. Подробнее...
 
int  to_hit (CritterCl &chosen, CritterCl &target, ProtoItem &weapon, uint8 weaponMode)
  Вызывается движком для расчета отображаемого в клиенте шанса попадания. Подробнее...
 
string  critter_animation (int animType, uint crType, uint anim1, uint anim2, uint &pass, uint &flags, int &ox, int &oy)
  Функция вызываемая в момент загрузки нужной анимации. Подробнее...
 
bool  critter_animation_substitute (int animType, uint crTypeBase, uint anim1Base, uint anim2Base, uint &crType, uint &anim1, uint &anim2)
  Если не удалось загрузить анимацию (и uint& pass не изменился), то вызывается данная функция для определения замены анимации (например, удар левой рукой можно заменить на удар правой). Подробнее...
 
bool  critter_animation_fallout (uint crType, uint &anim1, uint &anim2, uint &anim1ex, uint &anim2ex, uint &flags)
  Т. Подробнее...
 

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

Функции

bool start ( )

Вызывается при запуске клиента или в случае, если придет обновленный скрипт client_main.fos.

Возвращает
При возвращении false игра не запустится.
uint loop ( )

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

Период задается с помощью возвращаемого значения.

Возвращает
Время в миллисекундах, через которое функцию следует вызвать снова. Если будет возвращен ноль, то функция больше не будет вызываться.
void render_iface ( )

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

Функции Draw* можно использовать только здесь.

void render_map ( )

Вызывается при отрисовке графики на карте с учетом очереди вывода спрайтов.

Функция вызывается перед отрисовкой первого слоя интерфейса. Функции DrawMap* можно использовать только здесь.

См. также
render_iface
bool out_message ( string message,
int &  sayType 
)

Обрабатывает исходящие от игрока сообщения.

Аргументы
[in,out] message Текст сообщения.
[in,out] sayType Тип текста (см. Say types).
Возвращает
При возвращении false сообщение не отправляется.
bool in_message ( string message,
int &  sayType,
uint &  critterId,
uint &  delay 
)

Обрабатывает входящие сообщения.

Аргументы
[in,out] message Текст входящего сообщения. Текст может быть раскрашены посредством тега "|" (0xAARRGGBB, если AA равно нулю, то прозрачность не учитывается).
[in,out] sayType Тип текста (см. Say types).
[in,out] critterId Идентификатор криттера, от которого пришло сообщение.
[in,out] delay Время задержки сообщения.
Возвращает
Прим.
Радиосообщения анонимны.
По-умолчанию время задержки равно TextDelay + длина сообщения * 100 миллисекунд.
bool map_message ( string message,
uint16 &  hexX,
uint16 &  hexY,
uint &  color,
uint &  delay 
)

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

Аргументы
[in,out] message Текст сообщения.
[in,out] hexX,hexY Координаты источника сообщения.
[in,out] color Цвет сообщения.
[in,out] delay Время задержки сообщения.
Возвращает
Прим.
По умолчанию, время задержки равно TextDelay + длина сообщения * 100 миллисекунд.
string item_description ( ItemCl item,
int  lookType 
)

Вызываются тогда, когда необходимо сформировать описание для предмета.

Аргументы
item Предмет, для которого формируется описание.
lookType См. Item look types.
Возвращает
Строка с описанием предмета.
string critter_description ( CritterCl cr,
int  lookType 
)

Вызываются тогда, когда необходимо сформировать описание криттера.

Аргументы
cr Криттер, для которого формируется описание.
lookType См. Critter look types.
Возвращает
Строка с описанием криттера.
string generic_description ( int  descType,
int &  offsX,
int &  offsY 
)

Вызывается тогда, когда необходимо сформировать какое-либо описание в игре.

Аргументы
descType Тип описания (см. Generic descriptions types).
[out] offsX,offsY Смещение описания от базовой точки.
Возвращает
Описание.
bool get_elevator ( uint  type,
uint &[]  data 
)

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

Аргументы
type Тип лифта (см. Elevators).
[out] data Данные, необходимые для формирования интерфейса.
Возвращает
true – в случае, если интерфейс создать можно; false – в противном случае.
void critter_in ( CritterCl cr )

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

Аргументы
cr Входящий криттер.
void critter_out ( CritterCl cr )

Вызывается при изчезании какого-либо криттера в игре.

Аргументы
cr Выходящий криттер.
void item_map_in ( ItemCl item )

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

Аргументы
item Появившийся предмет.
void item_map_changed ( ItemCl itemNow,
ItemCl itemBefore 
)

Вызывается при смене предмета на карте.

Аргументы
itemNow Новый предмет.
itemBefore Сменившийся предмет.
void item_map_out ( ItemCl item )

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

Аргументы
item Исчезнувший предмет.
void item_inv_in ( ItemCl item )

Вызывается при появлении предмета в инвентаре.

Аргументы
item Появившийся в инвентаре предмет.
void item_inv_out ( ItemCl item )

Вызывается при исчезновении предмета из инвентаря.

Аргументы
item Исчезнувшийся из инвентаря предмет.
void item_drop ( ItemCl item )

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

Аргументы
item Выкидываемый предмет.
void animation2d_process ( bool  animateStay,
CritterCl cr,
uint  anim1,
uint  anim2,
ItemCl item 
)

Вызывается перед проигрыванием 2D анимации.

Аргументы
animateStay Указывает воспроизводится сейчас какое-либо действие (false) или анимация стойки (true).
cr Криттер, для которого проигрывается анимация.
anim1 Первый индекс анимации (см. ANIM1_* в _animation.fos).
anim2 Второй индекс анимации (см. ANIM2_2D_* в _animation.fos).
item Указатель на предмет, используемый в анимации.
void animation3d_process ( bool  animateStay,
CritterCl cr,
uint  anim1,
uint  anim2,
ItemCl item 
)

Вызывается перед проигрыванием 3D анимации.

Аргументы
animateStay Указывает воспроизводится сейчас какое-либо действие (false) или анимация стойки (true).
cr Криттер, для которого проигрывается анимация.
anim1 Первый индекс анимации (см. ANIM1_* в _animation.fos).
anim2 Второй индекс анимации (см. ANIM2_3D_* в _animation.fos).
item Указатель на предмет, используемый в анимации.
uint item_cost ( ItemCl item,
CritterCl chosen,
CritterCl npc,
bool  sell 
)

(?)

bool check_perk ( CritterCl cr,
uint  perk 
)

(?)

void player_data_generate ( int &[]  data )

(?)

bool player_data_check ( int &[]  data )

(?)

void critter_action ( bool  localCall,
CritterCl cr,
int  action,
int  actionExt,
ItemCl item 
)

Вызывается, когда криттер производит какое-либо действие.

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

Аргументы
localCall Вызывана ли функция движком локально (true) или с сервера (false).
cr Криттер, который производит действие.
action Действие (см. Действия криттеров).
actionExt Параметр с дополнительной информацией о действии.
item Указатель на предмет, который участвует в совершении действия.
Прим.
Движок при некоторых действиях игрока вызывает эту же функцию с параметром localCall, равным true, а после отправляет информацию на сервер, где идет последующая обработка.
См. также
Critter::Action
void filename_logfile ( string filename )

Позволяет изменить имя файла лога.

Если filename окажется пустым, файл не сохранится

void filename_screenshot ( string filename )

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

Если filename окажется пустым, файл не сохранится

bool player_allowcommand ( Critter cr,
string adminPanel,
uint8  command 
)

Регулирует доступ к командам сервера

Аргументы
cr Проверяемый криттер
adminPanel (?)
command Проверяемая команда (см. Internal server commands в _defines.fos)
Возвращает
true – в случае, если команда разрешена; false – в противном случае.
bool critter_check_move_item ( Critter cr,
Item item,
uint8  toSlot,
Item itemSwap 
)

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

Аргументы
cr Криттер, который меняет предмет;
item Предмет, который перемещается;
toSlot Слот, из которого берется предмет;
itemSwap предмет, который уже находится в слоте назначения и который переместится в слот перемещаемого предмета при успешной транзакции.
Возвращает
Если возвратить false, то предмет не переместится; если true, то переместится.
int get_active_screen ( )

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

Возвращает
Индекс активного окна. См. screen types ClientScreenTypes.
void screen_change ( bool  show,
int  screen,
int  p0,
int  p1,
int  p2 
)

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

Аргументы
show Должно ли окно показываться (true) или закрыться (false).
screen Тип окна.
p0,p1,p2 Параметры окна.
bool mouse_down ( int  click )

Вызывается при нажатии кнопки мыши.

Аргументы
click См. Mouse click states.
Возвращает
Если true, то движок не будет обрабатывать событие; если false, то будет.
bool mouse_up ( int  click )

Вызывается при отжатии кнопки мыши.

Аргументы
click См. Mouse click states.
Возвращает
Если true, то движок не будет обрабатывать событие; если false, то будет.
void mouse_move ( int  x,
int  y 
)

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

Аргументы
x,y Новые позиции курсора.
bool key_down ( uint8  key )

Вызывается при нажатии клавиши.

Аргументы
key См. DirectInput keyboard scan codes.
Возвращает
Если true, то движок не будет обрабатывать событие; если false, то будет.
bool key_up ( uint8  key )

Вызывается при отжатии клавиши.

Аргументы
key См. DirectInput keyboard scan codes.
Возвращает
Если true, то движок не будет обрабатывать событие; если false, то будет.
void input_lost ( )

Вызывается при потере устройства: мыши или клавиатуры.

Это может произойти при:

  • переключении по Alt-Tab,
  • сворачивании окна клиента,
  • потере фокуса.
void combat_result ( uint &[]  data )

Принимает данные, посланные в Critter::SendCombatResult.

int to_hit ( CritterCl chosen,
CritterCl target,
ProtoItem weapon,
uint8  weaponMode 
)

Вызывается движком для расчета отображаемого в клиенте шанса попадания.

Аргументы
chosen Игрок.
target Цель.
weapon Используемое игроком оружие.
weaponMode Режим атаки оружия. старшие четыре бита Прицел (см. Hit Locations), младшие четыре бита Тип использования (0 – primary, 1 – secondary, 2 – third).
string critter_animation ( int  animType,
uint  crType,
uint  anim1,
uint  anim2,
uint &  pass,
uint &  flags,
int &  ox,
int &  oy 
)

Функция вызываемая в момент загрузки нужной анимации.

Аргументы
animType Тип анимации криттера (новый параметр, указывается в CritterTypes.cfg);
crType Тип криттера;
anim1,anim2 Индексы анимации;
pass Номер вызова функции, изменяется пользователем, если не удалось загрузить анимацию и данный параметр был изменен, то функция вызовется вновь (в некоторых случаях нужно пробовать загрузить разные файлы для одной анимации);
flags Флаги, на данный момент два - взять первый или последний кадр из анимации (см. Anim loading flags в _animation.fos);
ox,&oy Смещения для анимации, в пикселях.
Возвращает
путь и имя файла
bool critter_animation_substitute ( int  animType,
uint  crTypeBase,
uint  anim1Base,
uint  anim2Base,
uint &  crType,
uint &  anim1,
uint &  anim2 
)

Если не удалось загрузить анимацию (и uint& pass не изменился), то вызывается данная функция для определения замены анимации (например, удар левой рукой можно заменить на удар правой).

animTypeТип Тип анимации криттера (новый параметр, указывается в CritterTypes.cfg); uint crTypeBase, anim1Base, anim2Base Базовый тип криттера и анимации, с которых все начиналось; uint& crType, &anim1, &anim2 Тип криттера и текущие анимации для замены.

Возвращает
true, если замена нашлась (движок еще дополнительно проверяет изменились ли на самом деле crType, anim1, anim2), false - нет замены, анимация не будет загружена и проиграна.
bool critter_animation_fallout ( uint  crType,
uint &  anim1,
uint &  anim2,
uint &  anim1ex,
uint &  anim2ex,
uint &  flags 
)

Т.

к. анимации фаллаута все еще загружаются движком (требуется дополнительный расчет смещений, склейка двух анимаций), то для определения соответствий анимаций вызывается данная функция, т.е. вместо critter_animation для анимаций фаллаута вызывается данная функция.

Возвращает
true, если анимация присутствует, false - нет.
Converted from CHM to HTML with chm2web Pro 2.85 (unicode)