FOnline
 Указатель Классы Функции Переменные Группы Страницы
API клиента

Группы

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

Классы

class  CritterCl
 Функционально ограниченный эквивалент класса Critter, доступный при скриптинге клиента. Подробнее...
 
class  ItemCl
 Функционально ограниченный эквивалент класса Item, доступный при скриптинге клиента. Подробнее...
 
class  ProtoItem
 Прототип предметов. Подробнее...
 

Переменные

bool __HideCursor = false
 Отображается ли курсор в клиенте. Подробнее...
 
uint8 __RoofAlpha
 Степень прозрачности крыш. Подробнее...
 
bool __DisableLMenu
 Отключено ли всплывающее меню. Подробнее...
 
bool __DisableMouseEvents
 Отключена ли реакция движка на события от мышки. Подробнее...
 
bool __DisableKeyboardEvents
 Отключена ли реакция движка на события от клавиатуры. Подробнее...
 
string __PlayerOffAppendix
 Хранит строку, которая будет отображаться в нике клиента при его дисконнекте. Подробнее...
 
uint __DamageHitDelay
 Индикация количества хитов и её время. Подробнее...
 
int __RunModMul = 1
 
int __RunModDiv = 1
 
int __RunModAdd = 0
 
bool __DiLeft
 
bool __DiRight
 
bool __DiUp
 
bool __DiDown
 
bool __DiMleft
 
bool __DiMright
 
bool __DiMup
 
bool __DiMdown
 
bool __ShowGroups
 
bool __DebugInfo
 
int __FlushVal
 
int __BaseTex
 
int __ScreenClear
 
int __Light
 
uint __ScrollDelay
 
int __ScrollStep
 
bool __MouseScroll
 
bool __ScrollCheck
 
int __MouseSpeed
 
bool __GlobalSound
 
string __FoPatchPath
 
string __FoDataPath
 
string __Name
 
string __Pass
 
uint __TextDelay
 
bool __MsgboxInvert
 
int __ChangeLang
 
uint8 __DefaultCombatMode
 
bool __MessNotify
 
bool __SoundNotify
 
int __IndicatorType
 
uint __DoubleClickTime
 
bool __ShowTile
 Отображение тайлов. Подробнее...
 
bool __ShowRoof
 Отображение крыши. Подробнее...
 
bool __ShowItem
 Отображение предметов. Подробнее...
 
bool __ShowScen
 Отображение Сценери. Подробнее...
 
bool __ShowWall
 Отображение стен. Подробнее...
 
bool __ShowCrit
 Отображение персонажей. Подробнее...
 
bool __ShowFast
 Отображение объектов из группы Fast. Подробнее...
 
bool __ShowPlayerNames
 Отображение имен игроков. Подробнее...
 
bool __ShowNpcNames
 Отображение имен НПЦ. Подробнее...
 
bool __ShowCritId
 Отображение идентификаторов персонажей. Подробнее...
 
bool __HidePassword
 Скрывать ли пароль в окне логина Подробнее...
 
bool __GmapActive
 активна ли глобальная карта и все ли следующие нижеприведенные переменные корректны. Подробнее...
 
bool __GmapWait
 включен режим ожидания ответа о подтверждении энкаунтера. Подробнее...
 
float __GmapZoom
 текущий масштаб, не забывайте учитывать его при рисовании на карте. Подробнее...
 
int __GmapOffsetX
 смещение карты от нулевой координаты (верхний-левый угол). Подробнее...
 
int __GmapOffsetY
 
int __GmapGroupCurX
 координаты группы игрока. Подробнее...
 
int __GmapGroupCurXY
 
int __GmapGroupToXX
 координаты точки назначения. Подробнее...
 
int __GmapGroupToXY
 
string __ClientPath
 Путь к папке клиента. Подробнее...
 
string __ServerPath
 Путь к папке сервера. Подробнее...
 
bool __ConsoleActive
 индикация открытой консоли. Подробнее...
 
uint __NpcMaxTalkers
 максимальное количество одновременно запущенных для нпц диалогов по-умолчанию Подробнее...
 
int __CombatMessagesType
 Боевые сообщения Подробнее...
 
uint __Anim2CombatBegin
 Для определения анимаций боевого режима. Подробнее...
 
uint __Anim2CombatIdle
 Для определения анимаций боевого режима. Подробнее...
 
uint __Anim2CombatEnd
 Для определения анимаций боевого режима. Подробнее...
 
uint __CritterFidgetTime
 частота вызова анимации "дурачества". Подробнее...
 

Геомертия игровой сетки

В скрипте config.fos, в функции InitializeGeometry(), добавлены необходимые настройки для трех игр: Fallout1/2, Fallout Tactics и Arcanum.

Данная функция вызывается в скриптах сервера, клиента и маппера, т.к. информация о геометрии нужна всем трем. Четырехугольная изометрия использует восемь направлений, гексогональная шесть.
Рабочие спрайты для геометрии находятся в art/geometry/.

bool __MapHexagonal
 Тип изометрии Подробнее...
 
int __MapHexWidth
 Ширина гекса Подробнее...
 
int __MapHexHeight
 Высота гекса Подробнее...
 
int __MapHexLineHeight
 Высота линии гексов Подробнее...
 
int __MapTileOffsX
 Смещение тайлов земли по горизонтали Подробнее...
 
int __MapTileOffsY
 Смещение тайлов земли по вертикали Подробнее...
 
int __MapRoofOffsX
 Смещение тайлов крыши по горизонтали Подробнее...
 
int __MapRoofOffsY
 Смещение тайлов крыши по вертикали Подробнее...
 
int __MapRoofSkipSize
 Кол-во гексов на один тайл крыши (нужно для его корректного скрывания) Подробнее...
 
float __MapCameraAngle
 Угол для рендеринга трехмерных моделей Подробнее...
 
bool __MapSmoothPath
 Сглаживание пути при перемещениях Подробнее...
 
string __MapDataPrefix
 Путь и префикс для файлов геометрии Подробнее...
 

Настройки сети

string __Host
 Хост игрового сервера. Подробнее...
 
uint __Port
 Порт игрового сервера. Подробнее...
 
uint __ProxyType
 Тип прокси сервера. Подробнее...
 
string __ProxyHost
 Хост прокси сервера. Подробнее...
 
uint __ProxyPort
 Порт прокси сервера. Подробнее...
 
string __ProxyUser
 Логин к прокси серверу. Подробнее...
 
string __ProxyPass
 Пароль к прокси серверу. Подробнее...
 

Настройки видео

const int __ScreenWidth
 Ширина экрана. Подробнее...
 
const int __ScreenHeight
 Высота экрана. Подробнее...
 
bool __FullScr
 Полноэкранный режим. Подробнее...
 
bool __VSync
 Вертикальная синхронизация. Подробнее...
 
bool __AlwaysOnTop
 Поверх всех окон. Подробнее...
 
uint __FixedFPS
 Установка фиксированного FPS. Подробнее...
 
bool __OpenGLRendering
 true - OpenGL, false - DirectX. Подробнее...
 
uint __FPS
 Текущий FPS. Подробнее...
 
uint __PingPeriod
 Период пинга (по-умолчанию 2000 мс). Подробнее...
 
uint __Ping
 Текущий пинг. Подробнее...
 
bool __MapZooming
 Включает механизи зуминга карты. Подробнее...
 
bool __AssimpLogging
 Необходима для отладки загрузки трехмерной графики. Подробнее...
 
bool __Quit
 При установке переменной в true, клиент закрывается Подробнее...
 

Общие функции

300

CritterCl GetChosen ()
 Позволяет получить указатель на криттера-игрока, для которого запущен клиент. Подробнее...
 
bool IsTurnBased ()
 (?) Подробнее...
 
uint16 GetCurrentMapPid ()
 (?) Подробнее...
 
uint GetChosenActions (uint[]@actions)
 Для взятия действий чузена Подробнее...
 
void SetChosenActions (uint[]@actions)
 Для установки действий чузена Подробнее...
 
string GetLastError ()
 Возвращает описание последней ошибки. Подробнее...
 
void Log (string &text)
 Заносит запись в лог-файл клиента. Подробнее...
 
bool StrToInt (string @+text, int &result)
 Конвертирует текст в число. Подробнее...
 
bool StrToFloat (string @+text, float &result)
 Конвертирует текст в вещественное число. Подробнее...
 
int Random (int minimum, int maximum)
 Возвращает рандомное значение. Подробнее...
 
ItemCl GetItem (uint itemId)
 Ищет предмет с указанным уникальным идентификатором. Подробнее...
 
ProtoItem GetProtoItem (uint16 protoId)
 Ищет прототип предмета, имеющий указанный идентификатор. Подробнее...
 
void Message (string &msg)
 Выводит текст в окно сообщений клиента. Подробнее...
 
void Message (int textMsg, uint strNum)
 Выводит текст из файла в окно сообщений клиента. Подробнее...
 
void Message (string &msg, int type)
 Выводит текст в окно сообщений клиента. Подробнее...
 
void Message (int textMsg, uint strNum, int type)
 Выводит текст из файла в окно сообщений клиента. Подробнее...
 
bool LoadDat (string &datName)
 Загружает dat-файл. Подробнее...
 
uint GetTick ()
 Возвращает текущее время работы компьютера в миллисекундах. Подробнее...
 
void RunServerScript (string &funcName, int p0, int p1, int p2, string @+p3, int[]@+p4)
 Запускает скрипт на сервере. Подробнее...
 
void RunServerScriptUnsafe (string &funcName, int p0, int p1, int p2, string @+p3, int[]@+p4)
 Запускает скрипт на сервере без проверок прав доступа в движке. Подробнее...
 
int GetFog (uint16 zoneX, uint16 zoneY)
 Позволяет получить состояние видимости указанной зоны глобальной карты мира для игрока. Подробнее...
 
string GetIfaceIniStr (string &key)
 Возвращает значение для указанного ключа в ini-файле интерфейса. Подробнее...
 
void WaitPing ()
 Для включения часов ожидания на время сигнала серверу и его ответа (т. Подробнее...
 

Функции для работы со строками

string GetMsgStr (int textMsg, uint strNum)
 Позволяет получить строку из указанного MSG файла. Подробнее...
 
string GetMsgStr (int textMsg, uint strNum, uint skipCount)
 Позволяет получить строку из указанного MSG файла. Подробнее...
 
uint GetMsgStrNumUpper (int textMsg, uint strNum)
 Ищет первый номер валидной строки выше заданного номера. Подробнее...
 
uint GetMsgStrNumLower (int textMsg, uint strNum)
 Ищет первый номер валидной строки ниже заданного номера. Подробнее...
 
uint GetMsgStrCount (int textMsg, uint strNum)
 Возвращает количество строк в файле, имеющих заданный номер. Подробнее...
 
bool IsMsgStr (int textMsg, uint strNum)
 Проверяет, существует ли хотя бы одна строка с заданным номером. Подробнее...
 
string ReplaceText (const string &text, const string &replace, const string &str)
 Заменяет в text первую подстроку replace на строку str. Подробнее...
 
string ReplaceText (const string &text, const string &replace, int i)
 Заменяет в text первую подстроку replace на целое i. Подробнее...
 
string FormatTags (const string &text, const string @+lexems)
 Форматирует тэги. Подробнее...
 
bool LoadFont (int font, string &fontFileName)
 Загружает шрифт. Подробнее...
 
void SetDefaultFont (int font, uint color)
 Устанавливает шрифт по-умолчанию и его цвет. Подробнее...
 

Функции для гексагонов

uint8 GetDirection (uint16 fromX, uint16 fromY, uint16 toX, uint16 toY)
 Определяет направление, в котором находится гексагон №2 относительно гексагона №1. Подробнее...
 
uint GetDistantion (uint16 hexX1, uint16 hexY1, uint16 hexX2, uint16 hexY2)
 Определяет дистанцию между двумя гексагонами. Подробнее...
 
uint GetCrittersDistantion (CritterCl &cr1, CritterCl &cr2)
 Определяет дистанцию между двумя криттерами. Подробнее...
 
void MoveHexByDir (uint16 &hexX, uint16 &hexY, uint8 dir, uint steps)
 Двигает гексы hx, hy в направлении dir на steps шагов. Подробнее...
 
void GetHexCoord (uint16 fromHx, uint16 fromHy, uint16 &toHx, uint16 &toHy, float angle, uint dist)
 Позволяет получить координаты гексагона, достигнутого при трассировке по указанной траектории. Подробнее...
 
uint GetPathLength (uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, uint cut)
 Определяет длину пути между гексагонами. Подробнее...
 
uint GetPathLength (CritterCl &cr, uint16 toHx, uint16 toHy, uint cut)
 Определяет длину пути от персонажа до указанного гекса учитывая мултигексовость персонажа. Подробнее...
 
uint8 GetOffsetDir (uint16 hx, uint16 hy, uint16 tx, uint16 ty, float offset)
 (?) Подробнее...
 

Функции для визуальных и прочих эффектов

void FlushScreen (uint fromColor, uint toColor, uint timeMs)
 Создает переход цветов на экране игрока. Подробнее...
 
void PlaySound (string &soundName)
 Проигрывает в клиенте звук с указанным именем. Подробнее...
 
void PlaySound (uint8 soundType, uint8 soundTypeExt, uint8 soundId, uint8 soundIdExt)
 Проигрывает в клиенте звук с указанными составляющими. Подробнее...
 
void QuakeScreen (uint noise, uint ms)
 Активизирует эффект землетрясения. Подробнее...
 
void PlayMusic (string &musicName, uint pos, uint repeat)
 Проигрывает музыку в клиенте. Подробнее...
 
void PlayVideo (string &videoName, bool canStop)
 Проигрывает видео в клиенте. Подробнее...
 

Функции для работы со временем

uint GetFullSecond (uint16 year, uint16 month, uint16 day, uint16 hour, uint16 minute, uint16 second)
 Возвращает значение года, месяца, дня, часа, минуты и секунды в полных секундах. Подробнее...
 
void GetTime (uint16 &year, uint16 &month, uint16 &day_of_week, uint16 &day, uint16 &hour, uint16 &minute, uint16 &second, uint16 &milliseconds)
 Позволяет получить текущее локальное время. Подробнее...
 
void GetGameTime (uint fullSecond, uint16 &year, uint16 &month, uint16 &dayOfWeek, uint16 &day, uint16 &hour, uint16 &minute, uint16 &second)
 Вычисляет игровое время по указанной полной секунде. Подробнее...
 

Для работы с графикой

uint LoadSprite (string &name, int pathIndex)
 Загружает один спрайт или анимацию из файла. Подробнее...
 
uint LoadSprite (uint nameHash, uint8 dir)
 Загружает один спрайт или анимацию из файла. Подробнее...
 
int GetSpriteWidth (uint sprId, int sprIndex)
 Возвращает ширину указанного спрайта. Подробнее...
 
int GetSpriteHeight (uint sprId, int sprIndex)
 Возвращает высоту указанного спрайта. Подробнее...
 
uint GetSpriteCount (uint sprId)
 Возвращает количество спрайтов в указанной анимации. Подробнее...
 
void DrawSprite (uint sprId, int sprIndex, int x, int y, uint color)
 Отрисовывает спрайт в указанной позиции. Подробнее...
 
void DrawSprite (uint sprId, int sprIndex, int x, int y, int w, int h, bool scratch, bool center, uint color)
 Отрисовывает спрайт в указанной прямоугольной области. Подробнее...
 
void DrawSpritePattern (uint sprId, int sprIndex, int x, int y, int w, int h, int sprWidth, int sprHeight, uint color)
 Отрисовывает спрайт в указанной прямоугольной области c полным ее заполнением, своими копиями. Подробнее...
 
void DrawText (string &text, int x, int y, int w, int h, uint color, int font, int flags)
 Выводит текст. Подробнее...
 
void DrawPrimitive (int primitiveType, int[]&data)
 Рисует примитив. Подробнее...
 
void DrawMapSprite (uint16 hx, uint16 hy, uint16 effectPid, uint sprId, int sprIndex, int offsX, int offsY)
 Выводит спрайт в определенной позиции на карте. Подробнее...
 
void DrawCritter2d (uint crType, uint anim1, uint anim2, uint8 dir, int l, int t, int r, int b, bool scratch, bool center, uint color)
 Функция для отрисовки как элемента интерфейса произвольных криттеров, имеющих двухмерную анимацию. Подробнее...
 
void DrawCritter3d (uint instance, uint crType, uint anim1, uint anim2, int[]@+layers, float[]@+position, uint color)
 Функция для отрисовки как элемента интерфейса произвольных криттеров, имеющих трехмерную анимацию. Подробнее...
 

Для работы с экраном

bool GetHexPos (uint16 hx, uint16 hy, int &x, int &y)
 Позволяет получить экранные координаты центра указанного гексагона. Подробнее...
 
bool GetMonitorHex (int x, int y, uint16 &hx, uint16 &hy)
 Позволяет получить координаты гексагона, находящегося в указанных экранных координатах. Подробнее...
 
CritterCl GetMonitorCritter (int x, int y)
 Возвращает игрока под указанными координатами на экране. Подробнее...
 
ItemCl GetMonitorItem (int x, int y)
 Возвращает предмет под указанными координатами на экране. Подробнее...
 
void LockScreenScroll (CritterCl @+cr)
 Фиксирует прокрутку на указанном криттере. Подробнее...
 
void MoveScreen (uint16 hexX, uint16 hexY, uint speed)
 Прокручивает экран клиента в нужную позицию. Подробнее...
 
void ShowScreen (int screen, int p0, int p1, int p2)
 Показать окно. Подробнее...
 
void HideScreen (int screen, int p0, int p1, int p2)
 Скрыть окно. Подробнее...
 
void GetHardcodedScreenPos (int screen, int &x, int &y)
 Возвращает позицию движковых окон. Подробнее...
 
void DrawHardcodedScreen (int screen)
 Рисует движковое окно. Подробнее...
 
int GetKeybLang ()
 Возвращает текущую раскладку клавиатуры. Подробнее...
 
void KeyboardPress (uint8 key1, uint8 key2)
 Обработка нажатия одной или двух клавиш. Подробнее...
 
void MouseClick (int x, int y, int button, int cursor)
 Возывается при клике мышью. Подробнее...
 

Для работы с курсором мыши

int GetCurrentCursor ()
 Возвращает текущий курсор. Подробнее...
 
int GetLastCursor ()
 (?) Подробнее...
 
void ChangeCursor (int cursor)
 Меняет курсор. Подробнее...
 

Для криттеров

CritterCl GetCritter (uint critterId)
 Ищет криттера с указанным уникальным идентификатором. Подробнее...
 
uint GetCrittersHex (uint16 hexX, uint16 hexY, uint radius, int findType, CritterCl @[]@+critters)
 Находит криттеров, находящихся в указанной области. Подробнее...
 
uint GetCritters (uint16 pid, int findType, CritterCl @[]@+critters)
 Находит всех криттеров, имеющих указанный прототип. Подробнее...
 
uint GetCrittersPath (uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, float angle, uint dist, int findType, CritterCl @[]@+critters)
 Проводит трассировку с указанными параметрами и находит всех криттеров, под неё попавших. Подробнее...
 
uint GetCrittersPath (uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, float angle, uint dist, int findType, CritterCl @[]@+critters, uint16 &preBlockHx, uint16 &preBlockHy, uint16 &blockHx, uint16 &blockHy)
 Проводит трассировку с указанными параметрами и находит всех криттеров, под неё попавших. Подробнее...
 
void SetRainAnimation (string @fallAnimName, string @dropAnimName)
 Устанавливает имена анимаций для падающей и упавшей капли по-умолчанию значения равны "art/misc/rain_fall.fofrm" и "art/misc/rain_drop.fofrm". Подробнее...
 

Функции для работы с константами (*Names.lst)

int GetConstantValue (int constCollection, string @+name)
 Определение значения константы по имени. Подробнее...
 
string GetConstantName (int constCollection, int value)
 Определение имени константы по значению. Подробнее...
 
void AddConstant (int constCollection, string @+name, int value)
 Добавление отдельной константы в коллекцию. Подробнее...
 
bool LoadConstants (int constCollection, string @+fileName, int pathType)
 Загрузка/перезагрузка коллекции. Подробнее...
 

Прочие функции

bool AppendIfaceIni (string &iniName)
 Подключает дополнительные ini файлы. Подробнее...
 
bool SetEffect (int effectType, int effectSubtype, string @+effectName, string @+effectDefines=null)
 Устанавливет шейдерный эффект. Подробнее...
 

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

Функции

CritterCl GetChosen ( )

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

Возвращает
Указатель на экземпляр класса CritterCl, представляющий игрока.
bool IsTurnBased ( )

(?)

uint16 GetCurrentMapPid ( )

(?)

uint GetChosenActions ( uint @[]  actions)

Для взятия действий чузена

Аргументы
actionsМассив состоит из блоков по семь переменных, первая это тип, остальные шесть это параметры. Значение типов и параметров смотрите в _client_defines.fos Chosen actions
Возвращает
(?)
void SetChosenActions ( uint @[]  actions)

Для установки действий чузена

Аргументы
actionsМассив состоит из блоков по семь переменных, первая это тип, остальные шесть это параметры. Значение типов и параметров смотрите в _client_defines.fos Chosen actions
string GetLastError ( )

Возвращает описание последней ошибки.

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

Возвращает
Описание ошибки.
void Log ( string text)

Заносит запись в лог-файл клиента.

Аргументы
textТекст записи.
bool StrToInt ( string @+  text,
int &  result 
)

Конвертирует текст в число.

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

Аргументы
textСтрока, содержащая число.
resultПеременная, в которую записывается результат преобразования.
Возвращает
true – в случае удачного преобразования; false – в противном случае.
bool StrToFloat ( string @+  text,
float &  result 
)

Конвертирует текст в вещественное число.

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

Аргументы
textСтрока, содержащая число.
resultПеременная, в которую записывается результат преобразования.
Возвращает
true – в случае удачного преобразования; false – в противном случае.
int Random ( int  minimum,
int  maximum 
)

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

Аргументы
minimumМинимальное значение.
maximumМаксимальное значение.
Возвращает
Случайное значение в пределах minimum и maximum, включительно.
ItemCl GetItem ( uint  itemId)

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

Аргументы
itemIdУникальный идентификатор, по которому осуществляется поиск.
Возвращает
Указатель на экземпляр класса ItemCl с указанным идентификатором. В случае провала – null.
ProtoItem GetProtoItem ( uint16  protoId)

Ищет прототип предмета, имеющий указанный идентификатор.

Аргументы
protoIdИдентификатор прототипа предмета (см. файл ITEMPID.H).
Возвращает
Указатель на экземпляр класса ProtoItem. При провале – null.
void Message ( string msg)

Выводит текст в окно сообщений клиента.

Аргументы
msgВыводимый текст.
Прим.
Для вывода текста используется тип FOMB_GAME.
См. также
Message(string, int)
void Message ( int  textMsg,
uint  strNum 
)

Выводит текст из файла в окно сообщений клиента.

Аргументы
textMsgНазвание файла с текстами (см. Msg nums).
strNumНомер строки в файле.
Прим.
Для вывода текста используется тип FOMB_GAME.
См. также
Message(int, uint, int)
void Message ( string msg,
int  type 
)

Выводит текст в окно сообщений клиента.

Аргументы
msgВыводимый текст.
typeТип сообщения (см. MessageBox message types).
void Message ( int  textMsg,
uint  strNum,
int  type 
)

Выводит текст из файла в окно сообщений клиента.

Аргументы
textMsgНазвание файла с текстами (см. Msg nums).
strNumНомер строки в файле.
typeТип сообщения (см. MessageBox message types).
bool LoadDat ( string datName)

Загружает dat-файл.

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

  1. Распакованные файлы в папке data
  2. Загруженные с помощью LoadDat dat-файлы. В обратном порядке загрузки
  3. fonline.dat
  4. critter.dat
  5. master.dat
Аргументы
datNameИмя dat-файла.
uint GetTick ( )

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

void RunServerScript ( string funcName,
int  p0,
int  p1,
int  p2,
string @+  p3,
int @+[]  p4 
)

Запускает скрипт на сервере.

Сигнатура вызываемой функции:

void _FuncName(Critter& player, int param0, int param1, int param2, string@ param3, int[]@ param4)
  • player Игрок, который вызвал функцию.
Аргументы
funcNameПолное имя функции (с модулем).
p0,p1,p2,p3,p4Значения для передаваемых в функцию параметров.
Прим.
Для вызова функции игроку необходимы права модератора или адинистратора.
См. также
Critter::RunClientScript
void RunServerScriptUnsafe ( string funcName,
int  p0,
int  p1,
int  p2,
string @+  p3,
int @+[]  p4 
)

Запускает скрипт на сервере без проверок прав доступа в движке.

Сигнатура вызываемой функции:

void unsafe_FuncName(Critter& player, int param0, int param1, int param2, string@ param3, int[]@ param4)
  • player Игрок, который вызвал функцию.

Префикс "unsafe_" в имени функции обязателен.

Внимание
Помните, что при взломе клиента хакер сможет вызывать данные функции в любое время в любом количестве и с любыми передаваемыми параметрами.
Аргументы
funcNameПолное имя функции (с модулем).
p0,p1,p2,p3,p4Значения для передаваемых в функцию параметров.
См. также
RunServerScript
int GetFog ( uint16  zoneX,
uint16  zoneY 
)

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

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

Возвращает значение для указанного ключа в ini-файле интерфейса.

Аргументы
keyКлюч.
Возвращает
Значение, соответствующее ключу.
void WaitPing ( )

Для включения часов ожидания на время сигнала серверу и его ответа (т.

е. пинг).

string GetMsgStr ( int  textMsg,
uint  strNum 
)

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

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

Аргументы
textMsgНазвание файла с текстами (см. Msg nums).
strNumНомер строки в файле.
Возвращает
Указатель на строку. В случае провала – null.
См. также
GetMsgStr(int, uint, uint)
string GetMsgStr ( int  textMsg,
uint  strNum,
uint  skipCount 
)

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

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

Аргументы
textMsgНазвание файла с текстами (см. Msg nums).
strNumНомер строки в файле.
skipCountУказывает, сколько строк необходимо пропустить.
Возвращает
Указатель на строку. В случае провала – null.
См. также
GetMsgStrCount
uint GetMsgStrNumUpper ( int  textMsg,
uint  strNum 
)

Ищет первый номер валидной строки выше заданного номера.

Аргументы
textMsgНазвание файла с текстами (см. Msg nums).
strNumБазовый номер.
Возвращает
Первый номер строки, значение которого выше заданного.
uint GetMsgStrNumLower ( int  textMsg,
uint  strNum 
)

Ищет первый номер валидной строки ниже заданного номера.

Аргументы
textMsgНазвание файла с текстами (см. Msg nums).
strNumБазовый номер.
Возвращает
Первый номер строки, значение которого ниже заданного.
uint GetMsgStrCount ( int  textMsg,
uint  strNum 
)

Возвращает количество строк в файле, имеющих заданный номер.

Аргументы
textMsgНазвание файла с текстами (см. Msg nums).
strNumНомер строки в файле.
Возвращает
Количество строк с одинаковым номером.
См. также
GetMsgStr(int, uint, uint)
bool IsMsgStr ( int  textMsg,
uint  strNum 
)

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

Аргументы
textMsgНазвание файла с текстами (см. Msg nums).
strNumНомер строки в файле.
Возвращает
true – если строка существует; false – в противном случае.
string ReplaceText ( const string text,
const string replace,
const string str 
)

Заменяет в text первую подстроку replace на строку str.

Аргументы
textИсходная строка.
replaceЗаменяемая подстрока.
strСтрока-замена.
Возвращает
Получаемая в результате замены строка.
string ReplaceText ( const string text,
const string replace,
int  i 
)

Заменяет в text первую подстроку replace на целое i.

Аргументы
textИсходная строка.
replaceЗаменяемая подстрока.
iЧисло-замена.
Возвращает
Получаемая в результате замены строка.
string FormatTags ( const string text,
const string @+  lexems 
)

Форматирует тэги.

Аргументы
textИсходная строка.
lexemsУказатель на строку, содержащую значения лексем.
Возвращает
Отформатированная строка.
См. также
CritterCl::Lexems
ItemCl::Lexems
bool LoadFont ( int  font,
string fontFileName 
)

Загружает шрифт.

Аргументы
fontНомер шрифта.
fontFileNameИмя файла шрифта.
Возвращает
Возвращает true в случае успеха.
void SetDefaultFont ( int  font,
uint  color 
)

Устанавливает шрифт по-умолчанию и его цвет.

Аргументы
fontНомер шрифта.
colorЦвет шрифта.
uint8 GetDirection ( uint16  fromX,
uint16  fromY,
uint16  toX,
uint16  toY 
)

Определяет направление, в котором находится гексагон №2 относительно гексагона №1.

Аргументы
fromX,fromYКоординаты 1-го гексагона.
toX,toYКоординаты 2-го гексагона.
Возвращает
Направление. Возможные значения: 0 – верх-право, 1 – право, 2 – низ-право, 3 – низ-лево и т.д.
uint GetDistantion ( uint16  hexX1,
uint16  hexY1,
uint16  hexX2,
uint16  hexY2 
)

Определяет дистанцию между двумя гексагонами.

Аргументы
hexX1,hexY1Координаты 1-го гексагона.
hexX2,hexY2Координаты 2-го гексагона.
Возвращает
Дистанция между гексагонами в гексагонах.
uint GetCrittersDistantion ( CritterCl cr1,
CritterCl cr2 
)

Определяет дистанцию между двумя криттерами.

Аргументы
cr1Первый криттер.
cr2Второй криттер.
Возвращает
Дистанция между криттерами в гексагонах.
void MoveHexByDir ( uint16 &  hexX,
uint16 &  hexY,
uint8  dir,
uint  steps 
)

Двигает гексы hx, hy в направлении dir на steps шагов.

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

Аргументы
[out]hexX,hexYПодстраиваемые координаты.
[in]dirНаправление смещения.
[in]stepsКоличество шагов смещения.
void GetHexCoord ( uint16  fromHx,
uint16  fromHy,
uint16 &  toHx,
uint16 &  toHy,
float  angle,
uint  dist 
)

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

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

Аргументы
[in]fromHx,fromHyCтартовые гексы.
[out]toHx,toHyПеременные, в которые будут записаны итоговые координаты.
[in]angleУгол отклонения луча (в градусах).
[in]distДистанция до нужного гекса.
Прим.
Если на пути попадется не простреливаемый гекс, то итоговые координаты будут указывать на гекс перед препятствием.
При (dist == 0) берется дистанция от гекса до гекса.
uint GetPathLength ( uint16  fromHx,
uint16  fromHy,
uint16  toHx,
uint16  toHy,
uint  cut 
)

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

Аргументы
fromHx,fromHyКоординаты исходного гексагона.
toHx,toHyКоординаты целевого гексагона.
cutУказывает, на сколько гексагонов обрезать путь с конца.
Возвращает
Длина пути между гексагонами. Если путь заблокирован, то возвращается 0.
uint GetPathLength ( CritterCl cr,
uint16  toHx,
uint16  toHy,
uint  cut 
)

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

Аргументы
crПерсонаж, от которого ищется путь.
toHx,toHyКоординаты целевого гексагона.
cutУказывает, на сколько гексагонов обрезать путь с конца.
Возвращает
Длина пути. Если путь заблокирован, то возвращается 0.
uint8 GetOffsetDir ( uint16  hx,
uint16  hy,
uint16  tx,
uint16  ty,
float  offset 
)

(?)

void FlushScreen ( uint  fromColor,
uint  toColor,
uint  timeMs 
)

Создает переход цветов на экране игрока.

Аргументы
fromColorНачальный цвет.
toColorКонечный цвет.
timeMsВремя в миллисекундах.
void PlaySound ( string soundName)

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

Аргументы
soundNameИмя звука.
void PlaySound ( uint8  soundType,
uint8  soundTypeExt,
uint8  soundId,
uint8  soundIdExt 
)

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

Аргументы
soundType,soundTypeExt,soundId,soundIdExtСоставляющие звука. Формула составления имени для некоторых soundType различается (см. Sound types).
void QuakeScreen ( uint  noise,
uint  ms 
)

Активизирует эффект землетрясения.

Аргументы
noiseМощность (рекомендуемые значения от 1 до 50).
msПродолжительность в миллисекундах.
void PlayMusic ( string musicName,
uint  pos,
uint  repeat 
)

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

Аргументы
musicNameИмя файла с музыкой.
pos(?)
repeatКоличество миллисекунд, через которые трек будет воспроизведен вновь.
Прим.
Файлы с музыкой ищутся в папке data/sound/music клиента.
При repeat == 1, музыка повторяется без перерывов.
void PlayVideo ( string videoName,
bool  canStop 
)

Проигрывает видео в клиенте.

Аргументы
videoNameНазвание файла видео в формате "video_name.ext|video_sound_name.ext" сначала указывается имя файла видео, потом, опционально, '|' и далее имя файла звука. Кодеки http://wiki.xiph.org/index.php/TheoraSoftwareEncoders Аудио формат может быть любой, который поддерживается движком, на данный момент это WAV, ACM и OGG.
canStopМожно ли остановить видео во время проигрывания.
Прим.
Если в имени нет слешей ('/'), то поиск производится в папке Client/data/video, если есть, то относительно папки Client/data.
Воспроизведение видео добавлено только для OGL версии движка..
uint GetFullSecond ( uint16  year,
uint16  month,
uint16  day,
uint16  hour,
uint16  minute,
uint16  second 
)

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

Аргументы
yearГод.
month,day,hour,minute,secondМесяц, день, час, минута и секунда соответственно.
Возвращает
Полная минута.
Прим.
При некорректных значениях берутся текущие значения.
См. также
GetGameTime
void GetTime ( uint16 &  year,
uint16 &  month,
uint16 &  day_of_week,
uint16 &  day,
uint16 &  hour,
uint16 &  minute,
uint16 &  second,
uint16 &  milliseconds 
)

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

Аргументы
[out]yearГод
[out]monthМесяц
[out]day_of_weekДень недели
[out]dayДень
[out]hourЧас
[out]minuteМинута
[out]secondСекунда
[out]millisecondsМиллисекунда
void GetGameTime ( uint  fullSecond,
uint16 &  year,
uint16 &  month,
uint16 &  dayOfWeek,
uint16 &  day,
uint16 &  hour,
uint16 &  minute,
uint16 &  second 
)

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

Аргументы
[in]fullSecondИгровое время в полных секундах.
[out]yearГод, полученный по полной секунде.
[out]monthМесяц, полученный по полной секунде.
[out]dayOfWeekДень недели, полученный по полной секунде.
[out]dayДень месяца, полученный по полной секунде.
[out]hourЧас, полученный по полной секунде.
[out]minuteМинута, полученная по полной секунде.
[out]secondСекунда, полученная по полной секунде.
См. также
GetFullSecond
uint LoadSprite ( string name,
int  pathIndex 
)

Загружает один спрайт или анимацию из файла.

Аргументы
nameИмя файла.
pathIndexНомер папки, где находится файл (см. Paths).
Возвращает
Номер загруженного спрайта или анимации.
См. также
DrawSprite
uint LoadSprite ( uint  nameHash,
uint8  dir 
)

Загружает один спрайт или анимацию из файла.

Аргументы
nameHashХеш строки имени файла.
dirНаправление анимации. Если направления не поддерживаются, передавайте 0.
Возвращает
Идентификатор загруженного спрайта или анимации.
См. также
DrawSprite
int GetSpriteWidth ( uint  sprId,
int  sprIndex 
)

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

Аргументы
sprIdИдентификатор анимации.
sprIndexНомер спрайта в анимации.
int GetSpriteHeight ( uint  sprId,
int  sprIndex 
)

Возвращает высоту указанного спрайта.

Аргументы
sprIdИдентификатор анимации.
sprIndexНомер спрайта в анимации.
uint GetSpriteCount ( uint  sprId)

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

Аргументы
sprIdИдентификатор анимации.
void DrawSprite ( uint  sprId,
int  sprIndex,
int  x,
int  y,
uint  color 
)

Отрисовывает спрайт в указанной позиции.

Аргументы
sprIdИдентификатор анимации.
sprIndexНомер спрайта в анимации. При отрицательном значении выводится текущий спрайт анимации. При этом учитывается скорость воспроизведения анимации.
x,yПозиция верхнего левого угла.
colorОттенок спрайта. При 0 берется значение по-умолчанию.
См. также
render_iface
void DrawSprite ( uint  sprId,
int  sprIndex,
int  x,
int  y,
int  w,
int  h,
bool  scratch,
bool  center,
uint  color 
)

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

Аргументы
sprIdИдентификатор анимации.
sprIndexНомер спрайта в анимации. При отрицательном значении выводится текущий спрайт анимации. При этом учитывается скорость воспроизведения анимации.
x,yПозиция верхнего левого угла
w,hШирина и высота области отрисовки.
scratchУказывает, растягивать ли под размер w, h (true) или растягивать пропорционально оригинальному размеру (false).
centerУказывает, центровать ли изображение.
colorОттенок спрайта. При 0 берется значение по-умолчанию.
См. также
render_iface
void DrawSpritePattern ( uint  sprId,
int  sprIndex,
int  x,
int  y,
int  w,
int  h,
int  sprWidth,
int  sprHeight,
uint  color 
)

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

Аргументы
sprIdИдентификатор анимации.
sprIndexНомер спрайта в анимации. При отрицательном значении выводится текущий спрайт анимации. При этом учитывается скорость воспроизведения анимации.
x,yПозиция верхнего левого угла
w,hШирина и высота области отрисовки.
sprWidthШирина спрайта (при нуле берется исходная).
sprHeightВысота спрайта (при нуле берется исходная).
colorОттенок спрайта. При 0 берется значение по-умолчанию.
См. также
render_iface
void DrawText ( string text,
int  x,
int  y,
int  w,
int  h,
uint  color,
int  font,
int  flags 
)

Выводит текст.

Аргументы
textВыводимый текст.
x,yПозиция верхнего левого угла области вывода.
w,hШирина и высота области вывода.
colorЦвет сообщения. При 0 берется цвет по-умолчанию.
fontШрифт (см. Fonts).
flagsФлаги форматирования (см. Font flags).
См. также
render_iface
void DrawPrimitive ( int  primitiveType,
int &[]  data 
)

Рисует примитив.

Спецификация размещения точек в массиве data: (X, Y, Color), где:

  • X, Y – координаты точки,
  • Color – цвет.
Аргументы
primitiveTypeТип примитива (см. Draw primitive types).
dataМассив точек примитива.
См. также
render_iface
void DrawMapSprite ( uint16  hx,
uint16  hy,
uint16  effectPid,
uint  sprId,
int  sprIndex,
int  offsX,
int  offsY 
)

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

Аргументы
hx,hyКоординаты гексагона, где выводится спрайт.
effectPidНомер прототипа, из которого берутся параметры реакции на яйцо прозрачности, эффекты. Может быть равен 0.
sprIdИдентификатор анимации.
sprIndexНомер спрайта в анимации. При отрицательном значении выводится текущий спрайт анимации. При этом учитывается скорость воспроизведения анимации.
offsX,offsYСмещения относительно гексагона вывода.
Прим.
Доступна только в render_map
void DrawCritter2d ( uint  crType,
uint  anim1,
uint  anim2,
uint8  dir,
int  l,
int  t,
int  r,
int  b,
bool  scratch,
bool  center,
uint  color 
)

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

Аргументы
crTypeТип криттера (см. таблицу криттеров).
anim1Первый индекс анимации (см. ANIM1_* в _animation.fos).
anim2Второй индекс анимации (см. ANIM2_2D_* в _animation.fos).
dirНаправление.
l,t,r,bГраницы региона для отрисовки.
scratchРастягивать ли картинку.
centerЦентрировать ли картинку.
colorОттенок спрайта (при нуле берется значение по-умолчанию).
void DrawCritter3d ( uint  instance,
uint  crType,
uint  anim1,
uint  anim2,
int @+[]  layers,
float @+[]  position,
uint  color 
)

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

Аргументы
instanceИндивидуальный номер воспроизводимой анимации. Необходим для корректного воспроизведения анимации у одновременно рисующихся криттеров.
crTypeТип криттера (см. таблицу криттеров).
anim1Первый индекс анимации (см. ANIM1_* в _animation.fos).
anim2Второй индекс анимации (см. ANIM2_3D_* в _animation.fos).
layersCлои 3D анимаций.
colorОттенок спрайта (при нуле берется значение по-умолчанию).
positionПараметры для позиционирования (по номерам индексов в массиве):
  • pos (0..1) – координаты x, y;
  • rotate (2..4) – поворот по 3-м осям y, x, z (в порядке применения);
  • scale (5..7) – масштабирование по 3-м осям x, y, z;
  • speed (8) – скорость анимации (единица – нормальная скорость);
  • reserved (9) – зарезервировано;
  • stencil (10..13) – регион под трафарет (лево, верх, право, низ), модель будет рисоваться только в нем, вылезающие части будут отрезаться; трафарет используется, если лево меньше право и верх меньше низ.
Прим.
Значения по-умолчанию для всех индексов массива position, которые движок будет использовать в случае их отсутствия:
  • pos = 0 0
  • rotate = 0 0 0
  • scale = 1 1 1
  • speed = 1
  • reserved = 0
  • stencil = 0 0 0 0
bool GetHexPos ( uint16  hx,
uint16  hy,
int &  x,
int &  y 
)

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

Аргументы
hx,hyКоординаты гексагона.
[out]x,yПеременные, в которые будут записаны координаты центра гексагона.
См. также
GetMonitorHex
bool GetMonitorHex ( int  x,
int  y,
uint16 &  hx,
uint16 &  hy 
)

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

Аргументы
x,yЭкранные координаты.
[out]hx,hyПеременные, в которые будут записаны координаты гексагона.
См. также
GetHexPos
CritterCl GetMonitorCritter ( int  x,
int  y 
)

Возвращает игрока под указанными координатами на экране.

Аргументы
x,yЭкранные координаты.
Возвращает
Указатель на экземпляр класса CritterCl. null – в случае, если криттер не найден.
ItemCl GetMonitorItem ( int  x,
int  y 
)

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

Аргументы
x,yЭкранные координаты.
Возвращает
Указатель на экземпляр класса ItemCl. null – в случае, если предмет не найден.
void LockScreenScroll ( CritterCl @+  cr)

Фиксирует прокрутку на указанном криттере.

Поведение аналогично включенному Scroll Lock у игрока.

Аргументы
crКриттер, на котором фиксируется прокрутка.
void MoveScreen ( uint16  hexX,
uint16  hexY,
uint  speed 
)

Прокручивает экран клиента в нужную позицию.

Аргументы
hexX,hexYКоординаты гексагона, к которому необходимо прокручивать.
speedСкорость. При 0 происходит мгновенная прокрутка. Средние значения для скорости прокрутки: 50-100.
void ShowScreen ( int  screen,
int  p0,
int  p1,
int  p2 
)

Показать окно.

Аргументы
screenТип окна (см. Client screen types).
p0,p1,p2Параметры окна.
void HideScreen ( int  screen,
int  p0,
int  p1,
int  p2 
)

Скрыть окно.

Аргументы
screenТип окна (см. Client screen types).
p0,p1,p2Параметры окна.
void GetHardcodedScreenPos ( int  screen,
int &  x,
int &  y 
)

Возвращает позицию движковых окон.

Аргументы
screenТип окна (см. Client screen types).
[out]x,yПеременные, в которые будет записана позиция окна.
void DrawHardcodedScreen ( int  screen)

Рисует движковое окно.

Аргументы
screenТип окна (см. Client screen types).
int GetKeybLang ( )

Возвращает текущую раскладку клавиатуры.

Возвращает
Текущий язык (0 - русский, 1 - английский).
void KeyboardPress ( uint8  key1,
uint8  key2 
)

Обработка нажатия одной или двух клавиш.

Аргументы
key1,key2- код клавиши (см. Keyboard key codes в _client_defines.fos).
void MouseClick ( int  x,
int  y,
int  button,
int  cursor 
)

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

Аргументы
x,y- координаты мыши;
button- клавиша мыши (см. Mouse click states в _client_defines.fos);
cursor- курсор при клике (см. Cursors в _client_defines.fos или _mapper_defines.fos).
int GetCurrentCursor ( )

Возвращает текущий курсор.

Возвращает
См. Cursors.
int GetLastCursor ( )

(?)

Возвращает
См. Cursors.
void ChangeCursor ( int  cursor)

Меняет курсор.

Аргументы
cursorНовый курсор (см. Cursors).
CritterCl GetCritter ( uint  critterId)

Ищет криттера с указанным уникальным идентификатором.

Аргументы
critterIdУникальный идентификатор, по которому осуществляется поиск.
Возвращает
Указатель на экземпляр класса CritterCl с указанным идентификатором. В случае провала – null.
uint GetCrittersHex ( uint16  hexX,
uint16  hexY,
uint  radius,
int  findType,
CritterCl @@+[]  critters 
)

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

Аргументы
hexX,hexYКоординаты гексагона, относительно которого будет проведен поиск криттеров.
radiusРадиус поиска, в гексагонах.
findTypeТип поиска (см. Critter find types).
crittersМассив указателей на криттеров, которые были найдены. Этот массив будет дописан с конца найденными криттерами.
Возвращает
Количество найденных криттеров.
Прим.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение null вместо списка.
Найденные криттеры будут отсортированы по отдалению от базовой точки.
uint GetCritters ( uint16  pid,
int  findType,
CritterCl @@+[]  critters 
)

Находит всех криттеров, имеющих указанный прототип.

Аргументы
pidПрототип NPC (см. _npc_pids.fos). При pid, равном -1, выбираются игроки, при -2 - NPC, при 0 - все криттеры (и игроки, и NPC) (?).
findTypeТип поиска (см. Critter find types).
crittersМассив указателей на криттеров. Этот массив будет дописан с конца найденными криттерами.
Возвращает
Количество найденных криттеров.
Прим.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение null вместо списка.
uint GetCrittersPath ( uint16  fromHx,
uint16  fromHy,
uint16  toHx,
uint16  toHy,
float  angle,
uint  dist,
int  findType,
CritterCl @@+[]  critters 
)

Проводит трассировку с указанными параметрами и находит всех криттеров, под неё попавших.

Аргументы
fromHx,fromHyКоординаты стартового гексагона.
toHx,toHyКоординаты гексагона назначения.
angleУгол отклонения луча, в градусах.
distМаксимальная дистанция трассировки.
findTypeТип поиска (см. Critter find types).
crittersМассив указателей на криттеров, которые были найдены. Этот массив будет дописан с конца найденными криттерами.
Возвращает
Количество найденных криттеров.
Прим.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение null вместо списка.
uint GetCrittersPath ( uint16  fromHx,
uint16  fromHy,
uint16  toHx,
uint16  toHy,
float  angle,
uint  dist,
int  findType,
CritterCl @@+[]  critters,
uint16 &  preBlockHx,
uint16 &  preBlockHy,
uint16 &  blockHx,
uint16 &  blockHy 
)

Проводит трассировку с указанными параметрами и находит всех криттеров, под неё попавших.

Аргументы
fromHx,fromHyКоординаты стартового гексагона.
toHx,toHyКоординаты гексагона назначения.
angleУгол отклонения луча, в градусах.
distМаксимальная дистанция трассировки.
findTypeТип поиска (см. Critter find types).
crittersМассив указателей на криттеров, которые были найдены. Этот массив будет дописан с конца найденными криттерами.
[out]preBlockHx,preBlockHyПозиция гекса перед препятствием.
[out]blockHx,blockHyПозиция гекса препятствия.
Возвращает
Количество найденных криттеров.
Прим.
Если координаты preBlock равны block, то значит препятствия не было.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение null вместо списка.
void SetRainAnimation ( string fallAnimName,
string dropAnimName 
)

Устанавливает имена анимаций для падающей и упавшей капли по-умолчанию значения равны "art/misc/rain_fall.fofrm" и "art/misc/rain_drop.fofrm".

int GetConstantValue ( int  constCollection,
string @+  name 
)

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

Аргументы
constCollectionНомер коллекции, см. Constants collections в _defines.fos.
nameИмя константы.
Возвращает
Значение константы.
string GetConstantName ( int  constCollection,
int  value 
)

Определение имени константы по значению.

Аргументы
constCollectionНомер коллекции, см. Constants collections в _defines.fos.
valueЗначение константы.
Возвращает
Имя константы.
void AddConstant ( int  constCollection,
string @+  name,
int  value 
)

Добавление отдельной константы в коллекцию.

Аргументы
constCollectionНомер коллекции, см. Constants collections в _defines.fos.
nameИмя константы.
valueЗначение константы.
bool LoadConstants ( int  constCollection,
string @+  fileName,
int  pathType 
)

Загрузка/перезагрузка коллекции.

Аргументы
constCollectionНомер коллекции, см. Constants collections в _defines.fos.
fileNameИмя файла.
pathTypeПуть.
bool AppendIfaceIni ( string iniName)

Подключает дополнительные ini файлы.

Аргументы
iniNameПуть к ini файлу. Если имя имеет слеши, то поиск производится из корня data, если нет, то в папке data/art/intrface/. Движком автоматически добавляется default.ini.
Возвращает
true в случае успеха.
bool SetEffect ( int  effectType,
int  effectSubtype,
string @+  effectName,
string @+  effectDefines = null 
)

Устанавливет шейдерный эффект.

Аргументы
effectTypeтип эффекта (см. _client_defines.fos).
effectSubtypeподтип эффекта (используется с шрифтами).
effectNameимя файла эффекта (вместе с расширением) в папке data/effects.
effectDefinesдирективы препрцессора для эффекта (null по умолчанию).
Возвращает
Указывает на успешность загрузки и компиляции эффекта.

Переменные

bool __HideCursor = false

Отображается ли курсор в клиенте.

uint8 __RoofAlpha

Степень прозрачности крыш.

Возможные значения
0..255 – полная прозрачность..полная непрозрачность, соответственно.
bool __DisableLMenu

Отключено ли всплывающее меню.

bool __DisableMouseEvents

Отключена ли реакция движка на события от мышки.

bool __DisableKeyboardEvents

Отключена ли реакция движка на события от клавиатуры.

string __PlayerOffAppendix

Хранит строку, которая будет отображаться в нике клиента при его дисконнекте.

uint __DamageHitDelay

Индикация количества хитов и её время.

int __RunModMul = 1
int __RunModDiv = 1
int __RunModAdd = 0
bool __DiLeft
bool __DiRight
bool __DiUp
bool __DiDown
bool __DiMleft
bool __DiMright
bool __DiMup
bool __DiMdown
bool __ShowGroups
bool __DebugInfo
int __FlushVal
int __BaseTex
int __ScreenClear
int __Light
uint __ScrollDelay
int __ScrollStep
bool __MouseScroll
bool __ScrollCheck
int __MouseSpeed
bool __GlobalSound
string __FoPatchPath
string __FoDataPath
string __Name
string __Pass
uint __TextDelay
bool __MsgboxInvert
int __ChangeLang
uint8 __DefaultCombatMode
bool __MessNotify
bool __SoundNotify
int __IndicatorType
uint __DoubleClickTime
bool __ShowTile

Отображение тайлов.

bool __ShowRoof

Отображение крыши.

bool __ShowItem

Отображение предметов.

bool __ShowScen

Отображение Сценери.

bool __ShowWall

Отображение стен.

bool __ShowCrit

Отображение персонажей.

bool __ShowFast

Отображение объектов из группы Fast.

bool __ShowPlayerNames

Отображение имен игроков.

bool __ShowNpcNames

Отображение имен НПЦ.

bool __ShowCritId

Отображение идентификаторов персонажей.

bool __HidePassword

Скрывать ли пароль в окне логина

bool __GmapActive

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

bool __GmapWait

включен режим ожидания ответа о подтверждении энкаунтера.

float __GmapZoom

текущий масштаб, не забывайте учитывать его при рисовании на карте.

int __GmapOffsetX

смещение карты от нулевой координаты (верхний-левый угол).

int __GmapOffsetY
int __GmapGroupCurX

координаты группы игрока.

int __GmapGroupCurXY
int __GmapGroupToXX

координаты точки назначения.

int __GmapGroupToXY
string __ClientPath

Путь к папке клиента.

string __ServerPath

Путь к папке сервера.

bool __ConsoleActive

индикация открытой консоли.

uint __NpcMaxTalkers

максимальное количество одновременно запущенных для нпц диалогов по-умолчанию

int __CombatMessagesType

Боевые сообщения

  • 0 – короткие;
  • 1 – подробные.
uint __Anim2CombatBegin

Для определения анимаций боевого режима.

uint __Anim2CombatIdle

Для определения анимаций боевого режима.

uint __Anim2CombatEnd

Для определения анимаций боевого режима.

uint __CritterFidgetTime

частота вызова анимации "дурачества".

Определяется по формуле Random(__CritterFidgetTime, __CritterFidgetTime * 2)

bool __MapHexagonal

Тип изометрии

  • true - гексогональная;
  • false - четырехугольная.
int __MapHexWidth

Ширина гекса

int __MapHexHeight

Высота гекса

int __MapHexLineHeight

Высота линии гексов

int __MapTileOffsX

Смещение тайлов земли по горизонтали

int __MapTileOffsY

Смещение тайлов земли по вертикали

int __MapRoofOffsX

Смещение тайлов крыши по горизонтали

int __MapRoofOffsY

Смещение тайлов крыши по вертикали

int __MapRoofSkipSize

Кол-во гексов на один тайл крыши (нужно для его корректного скрывания)

float __MapCameraAngle

Угол для рендеринга трехмерных моделей

bool __MapSmoothPath

Сглаживание пути при перемещениях

string __MapDataPrefix

Путь и префикс для файлов геометрии

string __Host

Хост игрового сервера.

uint __Port

Порт игрового сервера.

uint __ProxyType

Тип прокси сервера.

string __ProxyHost

Хост прокси сервера.

uint __ProxyPort

Порт прокси сервера.

string __ProxyUser

Логин к прокси серверу.

string __ProxyPass

Пароль к прокси серверу.

const int __ScreenWidth

Ширина экрана.

const int __ScreenHeight

Высота экрана.

bool __FullScr

Полноэкранный режим.

bool __VSync

Вертикальная синхронизация.

bool __AlwaysOnTop

Поверх всех окон.

uint __FixedFPS

Установка фиксированного FPS.

При отрицательных значениях играет роль sleep

bool __OpenGLRendering

true - OpenGL, false - DirectX.

uint __FPS

Текущий FPS.

uint __PingPeriod

Период пинга (по-умолчанию 2000 мс).

uint __Ping

Текущий пинг.

bool __MapZooming

Включает механизи зуминга карты.

bool __AssimpLogging

Необходима для отладки загрузки трехмерной графики.

При включении и загрузке модели будет создан файл Assimp.log, куда библиотека Assimp будет писать необходимую информацию.

bool __Quit

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