FOnline
|
Карта. Подробнее...
Открытые члены | |
Скрипты и события | |
300 | |
bool | SetScript (string @+script) |
Устанавливает новый скрипт и вызывает в нем функцию инициализации с параметром firstTime равным true . Подробнее... | |
uint | GetScriptId () |
Возвращает ID текущего скрипта, связанного с данной картой. Подробнее... | |
void | SetEvent (int eventType, string &funcName) |
Биндит функцию-обработчика определенного события. Подробнее... | |
Ручной вызов событий | |
295 | |
void | EventFinish (bool deleted) |
Принудительно вызывает событие MAP_EVENT_FINISH. Подробнее... | |
void | EventLoop0 () |
Принудительно вызывает событие MAP_EVENT_LOOP_0. Подробнее... | |
void | EventLoop1 () |
Принудительно вызывает событие MAP_EVENT_LOOP_1. Подробнее... | |
void | EventLoop2 () |
Принудительно вызывает событие MAP_EVENT_LOOP_2. Подробнее... | |
void | EventLoop3 () |
Принудительно вызывает событие MAP_EVENT_LOOP_3. Подробнее... | |
void | EventLoop4 () |
Принудительно вызывает событие MAP_EVENT_LOOP_4. Подробнее... | |
void | EventInCritter (Critter &cr) |
Принудительно вызывает событие MAP_EVENT_IN_CRITTER. Подробнее... | |
void | EventOutCritter (Critter &cr) |
Принудительно вызывает событие MAP_EVENT_OUT_CRITTER. Подробнее... | |
void | EventCritterDead (Critter &cr, Critter @killer) |
Принудительно вызывает событие MAP_EVENT_CRITTER_DEAD. Подробнее... | |
void | EventTurnBasedBegin () |
Принудительно вызывает событие MAP_EVENT_TURN_BASED_BEGIN. Подробнее... | |
void | EventTurnBasedEnd () |
Принудительно вызывает событие MAP_EVENT_TURN_BASED_END. Подробнее... | |
void | EventTurnBasedProcess (Critter &cr, bool beginTurn) |
Принудительно вызывает событие MAP_EVENT_TURN_BASED_PROCESS. Подробнее... | |
Общие | |
200 | |
uint16 | GetProtoId () |
Возвращает ID прототипа карты. Подробнее... | |
Location | GetLocation () |
Позволяет получить локацию, в которой находится карта. Подробнее... | |
int | GetTime () |
Возвращает текущее время суток на карте. Подробнее... | |
void | SetTime (int time) |
Позволяет изменить время суток на карте. Подробнее... | |
int | GetData (uint index) |
Возвращает значение из массива для работы с собственной информацией. Подробнее... | |
void | SetData (uint index, int value) |
Позволяет записать значение в массив для работы с собственной информацией. Подробнее... | |
bool | IsTurnBasedAvailability () |
Позволяет проверить, возможен ли на данной карте пошаговый режим боя. Подробнее... | |
void | SetTurnBasedAvailability (bool value) |
Позволяет включить или отключить возможность пошагового режима боя на данной карте. Подробнее... | |
void | BeginTurnBased (Critter @+firstTurnCrit) |
Включает пошаговый режим на карте. Подробнее... | |
void | EndTurnBased () |
Завершает пошаговый режим на карте. Подробнее... | |
bool | IsTurnBased () |
Позволяет проверить, включен ли сейчас на карте пошаговый режим. Подробнее... | |
bool | Reload () |
Переинициализирует карту. Подробнее... | |
void | SetLoopTime (uint8 loop, uint16 ms) |
Устанавливает период вызова loop-функций. Подробнее... | |
uint16 | GetWidth () |
Возвращает ширину карты. Подробнее... | |
uint16 | GetHeight () |
Возвращает высоту карты. Подробнее... | |
Визуальные и аудио эффекты | |
190 | |
void | RunEffect (uint16 protoId, uint16 hexX, uint16 hexY, uint effectRadius) |
Проигрывает анимацию указанного эффекта (например, анимацию взрыва). Подробнее... | |
void | RunFlyEffect (uint16 protoId, Critter @+fromCr, Critter @+toCr, uint16 fromX, uint16 fromY, uint16 toX, uint16 toY) |
Проигрывает летящую анимацию указанного эффекта (например, анимацию летящего снаряда). Подробнее... | |
uint8 | GetRain () |
Возвращает плотность дождя. Подробнее... | |
void | SetRain (uint8 capacity) |
Включает/выключает дождь. Подробнее... | |
void | SetText (uint16 hexX, uint16 hexY, uint color, string text) |
Выводит надпись в указанном гексагоне карты. Подробнее... | |
void | SetTextMsg (uint16 hexX, uint16 hexY, uint color, uint16 textMsg, uint strNum) |
Выводит надпись в указанном гексагоне карты. Подробнее... | |
void | SetTextMsg (uint16 hexX, uint16 hexY, uint color, uint16 textMsg, uint strNum, string &lexems) |
Выводит надпись в указанном гексагоне карты. Подробнее... | |
void | PlaySound (string &soundName) |
Проигрывает звук на стороне клиента. Подробнее... | |
void | PlaySound (string &soundName, uint16 hexX, uint16 hexY, uint radius) |
Проигрывает звук с эпицентром в указанном гексагоне на стороне клиента. Подробнее... | |
Для криттеров | |
180 | |
Critter | GetCritter (uint16 hexX, uint16 hexY) |
Возвращает указатель на криттера, который находится в указанном гексагоне. Подробнее... | |
Critter | GetCritter (uint critterId) |
Возвращает указатель на криттера, с указанным ID. Подробнее... | |
uint | GetCrittersHex (uint16 hexX, uint16 hexY, uint radius, int findType, Critter @[]@+critters) |
Находит криттеров, находящихся в указанной области. Подробнее... | |
uint | GetCrittersPath (uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, float angle, uint dist, int findType, Critter @[]@+critters) |
Проводит трассировку с указанными параметрами и находит всех криттеров, под неё попавших. Подробнее... | |
uint | GetCrittersPath (uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, float angle, uint dist, int findType, Critter @[]@+critters, uint16 &preBlockHx, uint16 &preBlockHy, uint16 &blockHx, uint16 &blockHy) |
Проводит трассировку с указанными параметрами и находит всех криттеров, под неё попавших. Подробнее... | |
uint | GetCritters (uint16 pid, int findType, Critter @[]@+critters) |
Находит на карте всех криттеров, имеющих указанный прототип. Подробнее... | |
uint | GetCrittersWhoViewPath (uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, int findType, Critter @[]@+critters) |
Собирает всех криттеров, которые видят указанный путь. Подробнее... | |
uint | GetCrittersSeeing (Critter @[]&critters, bool lookOnThem, int findType, Critter @[]@+crittersResult) |
Позволяет получить всех криттеров, которые видят криттера из группы или которых видят криттеры из группы. Подробнее... | |
Critter | AddNpc (uint16 protoId, uint16 hexX, uint16 hexY, uint8 dir) |
Добавляет криттера в указанный гексагон на карте. Подробнее... | |
uint | GetNpcCount (int npcRole, int findType) |
Возвращает количество NPC на карте, имеющих указанное значение параметра ST_NPC_ROLE. Подробнее... | |
Critter | GetNpc (int npcRole, int findType, uint skipCount) |
Выбор NPC по его роли. Подробнее... | |
Для предметов | |
170 | |
Item | AddItem (uint16 hexX, uint16 hexY, uint16 protoId, uint count) |
Добавляет предмет в указанный гексагон на карте. Подробнее... | |
Item | GetItem (uint itemId) |
Возвращает указатель на объект предмета, который находится на карте. Подробнее... | |
Item | GetItem (uint16 hexX, uint16 hexY, uint16 protoId) |
Возвращает указатель на объект предмета, который находится на карте. Подробнее... | |
uint | GetItems (uint16 hexX, uint16 hexY, Item @[]@+items) |
Находит все предметы, находящиеся на указанном гексагоне. Подробнее... | |
uint | GetItems (uint16 protoId, Item @[]@+items) |
Находит на карте все предметы с указанным номером прототипа. Подробнее... | |
uint | GetItemsByType (int type, Item @[]@+items) |
Находит на карте все предметы указанного типа. Подробнее... | |
Item | GetDoor (uint16 hexX, uint16 hexY) |
Возвращает указатель на объект двери, находящейся в указанном гексагоне. Подробнее... | |
bool | OpenDoor (Item &door) |
Открывает дверь или контейнер. Подробнее... | |
bool | CloseDoor (Item &door) |
Закрывает дверь или контейнер. Подробнее... | |
Item | GetCar (uint16 hexX, uint16 hexY) |
Возвращает указатель на объект машины, которая находится в указанном гексагоне. Подробнее... | |
Для гексагонов | |
160 | |
bool | CheckPlaceForItem (uint16 hexX, uint16 hexY, uint16 protoCar) |
Проверяет, можно ли поставить на данный гексагон карты указанный предмет. Подробнее... | |
uint | CountEntire (uint8 entire) |
Возвращает количество специально обозначенных гексагонов. Подробнее... | |
bool | GetEntireCoords (uint8 entire, uint8 num, uint16 &hexX, uint16 &hexY) |
Возвращает координаты специально обозначенного гексагона. Подробнее... | |
bool | GetEntireCoords (int entire, uint skip, uint16 &hexX, uint16 &hexY, uint8 &dir) |
Расширенная версия функции GetEntireCoords, возвращающая направление (Dir) Подробнее... | |
bool | GetNearEntireCoords (int &entire, uint16 &hexX, uint16 &hexY) |
Для поиска ближайшего гекса. Подробнее... | |
bool | GetNearEntireCoords (int &entire, uint16 &hexX, uint16 &hexY, uint8 &dir) |
Расширенная версия функции GetNearEntireCoords, возвращающая направление (Dir) Подробнее... | |
void | GetHexCoord (uint16 fromHx, uint16 fromHy, uint16 &toHx, uint16 &toHy, float angle, uint dist) |
Позволяет получить координаты гексагона, достигнутого при трассировке по указанной траектории. Подробнее... | |
void | GetHexCoordWall (uint16 fromHx, uint16 fromHy, uint16 &toHx, uint16 &toHy, float angle, uint dist) |
Позволяет получить координаты гексагона, достигнутого при трассировке по указанной траектории. Подробнее... | |
bool | IsHexPassed (uint16 hexX, uint16 hexY) |
Проверяет, проходим ли гексагон или нет. Подробнее... | |
bool | IsHexRaked (uint16 hexX, uint16 hexY) |
Проверяет, простреливается ли гексагон. Подробнее... | |
uint | GetPathLength (uint16 fromHx, uint16 fromHy, uint16 toHx, uint16 toHy, uint cut) |
Определяет длину пути между гексагонами. Подробнее... | |
uint | GetPathLength (Critter &cr, uint16 toHx, uint16 toHy, uint cut) |
Определяет длину пути от персонажа до указанного гекса учитывая мултигексовость персонажа. Подробнее... | |
void | MoveHexByDir (uint16 &hexX, uint16 &hexY, uint8 dir, uint steps) |
Двигает гексы hx, hy в направлении dir на steps шагов. Подробнее... | |
Для сценери | |
180 | |
Scenery | GetScenery (uint16 hexX, uint16 hexY, uint16 protoId) |
Позовляет получить объект сценери нужного прототипа в указанном гексагоне карты. Подробнее... | |
uint | GetSceneries (uint16 hexX, uint16 hexY, Scenery @[]@+sceneries) |
Позволяет получить все объекты сценери в указанном гексагоне карты. Подробнее... | |
uint | GetSceneries (uint16 protoId, Scenery @[]@+sceneries) |
Позволяет получить все имеющиеся на карте объекты сценери с указанными прототипом. Подробнее... | |
Открытые атрибуты | |
const uint | Id |
Идентификатор карты. Подробнее... | |
const bool | IsNotValid |
Позволяет определить валидность объекта. Подробнее... | |
Карта.
bool SetScript | ( | string @+ | script | ) |
Устанавливает новый скрипт и вызывает в нем функцию инициализации с параметром firstTime равным true
.
script | Имя скрипта. |
true
в случае успешной операции, false
в случае провала.uint GetScriptId | ( | ) |
Возвращает ID текущего скрипта, связанного с данной картой.
void SetEvent | ( | int | eventType, |
string & | funcName | ||
) |
Биндит функцию-обработчика определенного события.
eventType | Тип события (см. Map events). |
funcName | Имя функции-обработчика. |
void EventFinish | ( | bool | deleted | ) |
Принудительно вызывает событие MAP_EVENT_FINISH.
void EventLoop0 | ( | ) |
Принудительно вызывает событие MAP_EVENT_LOOP_0.
void EventLoop1 | ( | ) |
Принудительно вызывает событие MAP_EVENT_LOOP_1.
void EventLoop2 | ( | ) |
Принудительно вызывает событие MAP_EVENT_LOOP_2.
void EventLoop3 | ( | ) |
Принудительно вызывает событие MAP_EVENT_LOOP_3.
void EventLoop4 | ( | ) |
Принудительно вызывает событие MAP_EVENT_LOOP_4.
void EventInCritter | ( | Critter & | cr | ) |
Принудительно вызывает событие MAP_EVENT_IN_CRITTER.
void EventOutCritter | ( | Critter & | cr | ) |
Принудительно вызывает событие MAP_EVENT_OUT_CRITTER.
Принудительно вызывает событие MAP_EVENT_CRITTER_DEAD.
void EventTurnBasedBegin | ( | ) |
Принудительно вызывает событие MAP_EVENT_TURN_BASED_BEGIN.
void EventTurnBasedEnd | ( | ) |
Принудительно вызывает событие MAP_EVENT_TURN_BASED_END.
void EventTurnBasedProcess | ( | Critter & | cr, |
bool | beginTurn | ||
) |
Принудительно вызывает событие MAP_EVENT_TURN_BASED_PROCESS.
uint16 GetProtoId | ( | ) |
Возвращает ID прототипа карты.
Location GetLocation | ( | ) |
Позволяет получить локацию, в которой находится карта.
int GetTime | ( | ) |
Возвращает текущее время суток на карте.
void SetTime | ( | int | time | ) |
Позволяет изменить время суток на карте.
Начальное значение берется из MAPS.TXT, где оно определяется параметром map_time, управляющим освещенностью карты. Если его там нет, то значение по умолчанию равно -1. При отрицательном значении освещенность зависит от времени в игре, а при >=0 освещенность будет анологична времени суток, начиная с 00.00, в минутах.
time | Устанавливаемое время суток (в минутах). |
int GetData | ( | uint | index | ) |
Возвращает значение из массива для работы с собственной информацией.
index | Индекс ячейки массива (0<=index<=63 ). |
void SetData | ( | uint | index, |
int | value | ||
) |
Позволяет записать значение в массив для работы с собственной информацией.
Массив для работы с собственной информацией имеет размер в 63 элемента и позволяет хранить произвольные данные для карты.
index | Индекс ячейки массива (0<=index<=63 ). |
value | Записываемое значение. |
bool IsTurnBasedAvailability | ( | ) |
Позволяет проверить, возможен ли на данной карте пошаговый режим боя.
true
, то на карте возможен пошаговый режим. Если false
, то нет.void SetTurnBasedAvailability | ( | bool | value | ) |
Позволяет включить или отключить возможность пошагового режима боя на данной карте.
value | Устанавливаемое значение. |
void BeginTurnBased | ( | Critter @+ | firstTurnCrit | ) |
Включает пошаговый режим на карте.
firstTurnCrit | Указатель на криттера, который ходит первым. |
void EndTurnBased | ( | ) |
Завершает пошаговый режим на карте.
bool IsTurnBased | ( | ) |
Позволяет проверить, включен ли сейчас на карте пошаговый режим.
true
, то на карте включен пошаговый режим. Если false
, то нет.bool Reload | ( | ) |
Переинициализирует карту.
true
– в случае успеха, false
– в случае провала. void SetLoopTime | ( | uint8 | loop, |
uint16 | ms | ||
) |
Устанавливает период вызова loop-функций.
Всего этих функций может быть 5 (loop_0
, loop_1
, loop_2
и т.д.).
loop | Номер loop-функции. |
ms | Период вызова (в миллисекундах; 1 секунда = 1000 миллисекунд. |
uint16 GetWidth | ( | ) |
Возвращает ширину карты.
uint16 GetHeight | ( | ) |
Возвращает высоту карты.
void RunEffect | ( | uint16 | protoId, |
uint16 | hexX, | ||
uint16 | hexY, | ||
uint | effectRadius | ||
) |
Проигрывает анимацию указанного эффекта (например, анимацию взрыва).
protoId | ID прототипа эффекта (см. Effects в файле ITEMPID.H). |
hexX,hexY | Координаты гексагона, на котором необходимо проиграть анимацию. |
effectRadius | Радиус эффекта. |
void RunFlyEffect | ( | uint16 | protoId, |
Critter @+ | fromCr, | ||
Critter @+ | toCr, | ||
uint16 | fromX, | ||
uint16 | fromY, | ||
uint16 | toX, | ||
uint16 | toY | ||
) |
Проигрывает летящую анимацию указанного эффекта (например, анимацию летящего снаряда).
Приоритетным является указание криттера. Если передается null
, то берутся координаты гексагонов.
protoId | ID прототипа эффекта (см. Effects в файле ITEMPID.H). |
fromCr | Криттер, от которого должен лететь снаряд. |
toCr | Криттер, к которому должен лететь снаряд. |
fromX,fromY | Координаты гексагона, из которого должен вылететь снаряд. |
toX,toY | Координаты гексагона, в который должен прилететь снаряд. |
uint8 GetRain | ( | ) |
void SetRain | ( | uint8 | capacity | ) |
Включает/выключает дождь.
capacity | Плотность дождя. Если плотность дождя == 0, то это значит, что дождь отключен. Максимальное значение – 255. |
void SetText | ( | uint16 | hexX, |
uint16 | hexY, | ||
uint | color, | ||
string | text | ||
) |
Выводит надпись в указанном гексагоне карты.
Если на этом гексагоне находится предмет или криттер, то надпись будет показана над ними.
hexX,hexY | Координаты гексагона. |
color | Цвет шрифта. Для задания цвета шрифта пользуйтесь специальным макросом (см. Other в файле _macros.fos). |
text | Выводимый текст. |
void SetTextMsg | ( | uint16 | hexX, |
uint16 | hexY, | ||
uint | color, | ||
uint16 | textMsg, | ||
uint | strNum | ||
) |
Выводит надпись в указанном гексагоне карты.
Если на этом гексагоне находится предмет или криттер, то надпись будет показана над ними.
hexX,hexY | Координаты гексагона. |
color | Цвет шрифта. Для задания цвета шрифта пользуйтесь специальным макросом (см. Other в файле _macros.fos). |
textMsg | Номер MSG файла (см. Msg nums). |
strNum | Номер строки. |
void SetTextMsg | ( | uint16 | hexX, |
uint16 | hexY, | ||
uint | color, | ||
uint16 | textMsg, | ||
uint | strNum, | ||
string & | lexems | ||
) |
Выводит надпись в указанном гексагоне карты.
hexX,hexY | Координаты гексагона. |
color | Цвет шрифта. Для задания цвета шрифта пользуйтесь специальным макросом (см. Other в файле _macros.fos). |
textMsg | Номер MSG файла (см. Msg nums). |
strNum | Номер строки. |
lexems | Строка значений лексем (см. описание тэга @lex@, где описан формат строки). |
void PlaySound | ( | string & | soundName | ) |
Проигрывает звук на стороне клиента.
soundName | Имя звука в клиенте. |
void PlaySound | ( | string & | soundName, |
uint16 | hexX, | ||
uint16 | hexY, | ||
uint | radius | ||
) |
Проигрывает звук с эпицентром в указанном гексагоне на стороне клиента.
soundName | Имя звука в клиенте. |
hexX,hexY | Координаты гексагона, в котором находится эпицентр звука. |
radius | В радиусе скольких клеток будет слышен звук; если указан 0, то услышат те, у кого радиус видимости достигает эпицентра. |
Critter GetCritter | ( | uint16 | hexX, |
uint16 | hexY | ||
) |
Возвращает указатель на криттера, который находится в указанном гексагоне.
hexX,hexY | Координаты гексагона, на котором находится криттер. |
null
. Critter GetCritter | ( | uint | critterId | ) |
Возвращает указатель на криттера, с указанным ID.
critterId | Уникальный ID криттера. |
null
. uint GetCrittersHex | ( | uint16 | hexX, |
uint16 | hexY, | ||
uint | radius, | ||
int | findType, | ||
Critter @@+[] | critters | ||
) |
Находит криттеров, находящихся в указанной области.
hexX,hexY | Координаты гексагона, относительно которого будет проведен поиск криттеров. |
radius | Радиус поиска, в гексагонах. |
findType | Тип поиска (см. Critter find types). |
critters | Массив указателей на криттеров, которые были найдены. Этот массив будет дописан с конца найденными криттерами. |
null
вместо списка.uint GetCrittersPath | ( | uint16 | fromHx, |
uint16 | fromHy, | ||
uint16 | toHx, | ||
uint16 | toHy, | ||
float | angle, | ||
uint | dist, | ||
int | findType, | ||
Critter @@+[] | critters | ||
) |
Проводит трассировку с указанными параметрами и находит всех криттеров, под неё попавших.
fromHx,fromHy | Координаты стартового гексагона. |
toHx,toHy | Координаты гексагона назначения. |
angle | Угол отклонения луча, в градусах. |
dist | Максимальная дистанция трассировки. |
findType | Тип поиска (см. Critter find types). |
critters | Массив указателей на криттеров, которые были найдены. Этот массив будет дописан с конца найденными криттерами. |
null
вместо списка. uint GetCrittersPath | ( | uint16 | fromHx, |
uint16 | fromHy, | ||
uint16 | toHx, | ||
uint16 | toHy, | ||
float | angle, | ||
uint | dist, | ||
int | findType, | ||
Critter @@+[] | 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 | Позиция гекса препятствия. |
null
вместо списка. uint GetCritters | ( | uint16 | pid, |
int | findType, | ||
Critter @@+[] | critters | ||
) |
Находит на карте всех криттеров, имеющих указанный прототип.
pid | Прототип NPC (см. _npc_pids.fos). При pid, равном -1, выбираются игроки, при -2 - NPC, при 0 - все криттеры (и игроки, и NPC) (?). |
findType | Тип поиска (см. Critter find types). |
critters | Массив указателей на криттеров. Этот массив будет дописан с конца найденными криттерами. |
null
вместо списка. uint GetCrittersWhoViewPath | ( | uint16 | fromHx, |
uint16 | fromHy, | ||
uint16 | toHx, | ||
uint16 | toHy, | ||
int | findType, | ||
Critter @@+[] | critters | ||
) |
Собирает всех криттеров, которые видят указанный путь.
fromHx,fromHy | Координаты стартового гексагона пути. |
toHx,toHy | Координаты целевого гексагона пути. |
findType | Тип поиска (см. Critter find types). |
critters | Массив указателей на криттеров, которые были найдены. Этот массив будет дописан с конца найденными криттерами. |
uint GetCrittersSeeing | ( | Critter @&[] | critters, |
bool | lookOnThem, | ||
int | findType, | ||
Critter @@+[] | crittersResult | ||
) |
Позволяет получить всех криттеров, которые видят криттера из группы или которых видят криттеры из группы.
critters | Исходная группа криттеров. В результирующий массив будет записана в первую очередь. |
lookOnThem | Указывает, найти тех, кто видит этих криттеров (true ) или тех, кого видят криттеры (false ). |
findType | Тип поиска (см. Critter find types). |
crittersResult | Результирующий массив, в который будут дописаны найденные криттеры. |
Critter AddNpc | ( | uint16 | protoId, |
uint16 | hexX, | ||
uint16 | hexY, | ||
uint8 | dir | ||
) |
Добавляет криттера в указанный гексагон на карте.
protoId | Номер прототипа NPC (см. файл _npc_pids.fos). |
hexX,hexY | Координаты гексагона. |
dir | Направление. |
null
. uint GetNpcCount | ( | int | npcRole, |
int | findType | ||
) |
Возвращает количество NPC на карте, имеющих указанное значение параметра ST_NPC_ROLE.
npcRole | Роль NPC. |
findType | Тип поиска (см. Critter find types). |
Critter GetNpc | ( | int | npcRole, |
int | findType, | ||
uint | skipCount | ||
) |
Выбор NPC по его роли.
npcRole | Роль NPC. |
findType | Тип поиска (см. Critter find types). |
skipCount | Количество пропусков. Необходимо использовать этот параметр в том случае, если на карте есть несколько NPC с одной ролью. |
null
– в противном случае.Item AddItem | ( | uint16 | hexX, |
uint16 | hexY, | ||
uint16 | protoId, | ||
uint | count | ||
) |
Добавляет предмет в указанный гексагон на карте.
hexX,hexY | Координаты гексагона. |
protoId | ID Прототипа предмета (см. файл ITEMPID.H). |
count | Количество предметов. |
null
. Item GetItem | ( | uint | itemId | ) |
Возвращает указатель на объект предмета, который находится на карте.
itemId | Уникальный ID предмета. |
null
. Item GetItem | ( | uint16 | hexX, |
uint16 | hexY, | ||
uint16 | protoId | ||
) |
Возвращает указатель на объект предмета, который находится на карте.
hexX,hexY | Координаты гексагона, на котором находится предмет. |
protoId | ID прототипа предмета (см. файл ITEMPID.H). |
null
. uint GetItems | ( | uint16 | hexX, |
uint16 | hexY, | ||
Item @@+[] | items | ||
) |
Находит все предметы, находящиеся на указанном гексагоне.
hexX,hexY | Координаты гексагона, на котором ищутся предметы. |
items | Массив указателей на предметы, в который будут записаны найденные предметы. |
uint GetItems | ( | uint16 | protoId, |
Item @@+[] | items | ||
) |
Находит на карте все предметы с указанным номером прототипа.
protoId | ID прототипа (см. файл ITEMPID.H). |
items | Массив, в который будут записаны указатели на найденные предметы. |
uint GetItemsByType | ( | int | type, |
Item @@+[] | items | ||
) |
Находит на карте все предметы указанного типа.
type | Тип предмета (см. Items types). |
items | Массив, в конец которого будут записаны найденные предметы. |
Item GetDoor | ( | uint16 | hexX, |
uint16 | hexY | ||
) |
bool OpenDoor | ( | Item & | door | ) |
Открывает дверь или контейнер.
door | Дверь или контейнер, который необходимо открыть. |
true
. В случае провала – false
.bool CloseDoor | ( | Item & | door | ) |
Закрывает дверь или контейнер.
door | Дверь или контейнер, который необходимо закрыть. |
true
. В случае провала – false
.Item GetCar | ( | uint16 | hexX, |
uint16 | hexY | ||
) |
Возвращает указатель на объект машины, которая находится в указанном гексагоне.
hexX,hexY | Координаты гексагона, на котором находится объект. |
null
. bool CheckPlaceForItem | ( | uint16 | hexX, |
uint16 | hexY, | ||
uint16 | protoCar | ||
) |
Проверяет, можно ли поставить на данный гексагон карты указанный предмет.
hexX,hexY | Предполагаемые координаты машины. |
protoCar | Номер прототипа предмета. |
true
– если место подходит для установки предмета; false
– если место не подходит. uint CountEntire | ( | uint8 | entire | ) |
Возвращает количество специально обозначенных гексагонов.
Гексагоны обозначаются в редакторе карт.
entire | Идентификатор группы гексагонов. Устанавливается по усмотрению разработчика карты. |
EntireNum
.bool GetEntireCoords | ( | uint8 | entire, |
uint8 | num, | ||
uint16 & | hexX, | ||
uint16 & | hexY | ||
) |
Возвращает координаты специально обозначенного гексагона.
Гексагоны обозначаются в редакторе карт и несколько гексагонов могут входить в одну группу, которая имеет свой идентификатор.
[in] | entire | Идентификатор группы гексагонов. Устанавливается по усмотрению разработчика карты. |
[in] | num | Порядковый номер гексагона в группе. |
[out] | hexX,hexY | Переменные, в которые функция запишет координаты гексагона. |
true
– при удачном выполнении функции; false
– при провале.bool GetEntireCoords | ( | int | entire, |
uint | skip, | ||
uint16 & | hexX, | ||
uint16 & | hexY, | ||
uint8 & | dir | ||
) |
Расширенная версия функции GetEntireCoords, возвращающая направление (Dir)
bool GetNearEntireCoords | ( | int & | entire, |
uint16 & | hexX, | ||
uint16 & | hexY | ||
) |
Для поиска ближайшего гекса.
entire | Номер энтайра, если -1, то будет то будет возвращен ближайший валидный номер. |
hexX,hexY | Координаты в области которых нужно производить поиск |
bool GetNearEntireCoords | ( | int & | entire, |
uint16 & | hexX, | ||
uint16 & | hexY, | ||
uint8 & | dir | ||
) |
Расширенная версия функции GetNearEntireCoords, возвращающая направление (Dir)
void GetHexCoord | ( | uint16 | fromHx, |
uint16 | fromHy, | ||
uint16 & | toHx, | ||
uint16 & | toHy, | ||
float | angle, | ||
uint | dist | ||
) |
Позволяет получить координаты гексагона, достигнутого при трассировке по указанной траектории.
С помощью этой функции можно реализовывать, например, промахи метательного оружия и выстрела из базуки.
[in] | fromHx,fromHy | Cтартовые гексы. |
[out] | toHx,toHy | Переменные, в которые будут записаны итоговые координаты. |
[in] | angle | Угол отклонения луча (в градусах). |
[in] | dist | Дистанция до нужного гекса. |
(dist == 0)
берется дистанция от гекса до гекса. void GetHexCoordWall | ( | uint16 | fromHx, |
uint16 | fromHy, | ||
uint16 & | toHx, | ||
uint16 & | toHy, | ||
float | angle, | ||
uint | dist | ||
) |
Позволяет получить координаты гексагона, достигнутого при трассировке по указанной траектории.
Позволяет определить последний гекс перед стеной, т.к. криттеры и простреливаемые предметы игрнорируются при трассировке с помощью данного метода.
[in] | fromHx,fromHy | Cтартовые гексы. |
[out] | toHx,toHy | Переменные, в которые будут записаны итоговые координаты. |
[in] | angle | Угол отклонения луча (в градусах). |
[in] | dist | Дистанция до нужного гекса. |
bool IsHexPassed | ( | uint16 | hexX, |
uint16 | hexY | ||
) |
Проверяет, проходим ли гексагон или нет.
hexX,hexY | Координаты гексагона. |
true
– если гексагон проходим; false
– если гексагон непроходим. bool IsHexRaked | ( | uint16 | hexX, |
uint16 | hexY | ||
) |
Проверяет, простреливается ли гексагон.
hexX,hexY | Координаты гексагона. |
true
– если гексагон простреливаем; false
– если гексагон непростреливаем. uint GetPathLength | ( | uint16 | fromHx, |
uint16 | fromHy, | ||
uint16 | toHx, | ||
uint16 | toHy, | ||
uint | cut | ||
) |
Определяет длину пути между гексагонами.
fromHx,fromHy | Координаты исходного гексагона. |
toHx,toHy | Координаты целевого гексагона. |
cut | Указывает, на сколько гексагонов необходимо обрезать путь с конца. |
uint GetPathLength | ( | Critter & | cr, |
uint16 | toHx, | ||
uint16 | toHy, | ||
uint | cut | ||
) |
Определяет длину пути от персонажа до указанного гекса учитывая мултигексовость персонажа.
cr | Персонаж, от которого ищется путь. |
toHx,toHy | Координаты целевого гексагона. |
cut | Указывает, на сколько гексагонов необходимо обрезать путь с конца. |
void MoveHexByDir | ( | uint16 & | hexX, |
uint16 & | hexY, | ||
uint8 | dir, | ||
uint | steps | ||
) |
Двигает гексы hx, hy в направлении dir на steps шагов.
Т.к. хексагональная сетка имеет своеобразную систему координат, эта функция будет хорошим помощником для точной подстройки позиции.
[out] | hexX,hexY | Подстраиваемые координаты. |
[in] | dir | Направление смещения. |
[in] | steps | Количество шагов смещения. |
Scenery GetScenery | ( | uint16 | hexX, |
uint16 | hexY, | ||
uint16 | protoId | ||
) |
Позовляет получить объект сценери нужного прототипа в указанном гексагоне карты.
hexX,hexY | Координаты гексагона карты, на котором находится объект сценери. |
protoId | Номер прототипа сценери. |
null
– если в указанном месте сценери с указанным прототипом нет. uint GetSceneries | ( | uint16 | hexX, |
uint16 | hexY, | ||
Scenery @@+[] | sceneries | ||
) |
Позволяет получить все объекты сценери в указанном гексагоне карты.
hexX,hexY | Координаты гексагона карты. |
sceneries | Массив, в конец которого будут записаны все найденные объекты сценери. |
uint GetSceneries | ( | uint16 | protoId, |
Scenery @@+[] | sceneries | ||
) |
Позволяет получить все имеющиеся на карте объекты сценери с указанными прототипом.
protoId | Номер прототипа сценери. |
sceneries | Массив, в конец которого будут записаны все найденные объекты сценери. |
const uint Id |
Идентификатор карты.
const bool IsNotValid |
Позволяет определить валидность объекта.