FOnline
Открытые атрибуты | Полный список членов класса
Класс Map

Карта. Подробнее...

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

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

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 текущего скрипта, связанного с данной картой.

Возвращает
ID текущего скрипта. 0, если скрипт не назначен.
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.

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.

uint16 GetProtoId ( )

Возвращает ID прототипа карты.

Возвращает
ID прототипа карты. В случае провала - 0.
Location GetLocation ( )

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

Возвращает
Указатель на локацию.
int GetTime ( )

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

См. также
SetTime
void SetTime ( int  time )

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

Начальное значение берется из MAPS.TXT, где оно определяется параметром map_time, управляющим освещенностью карты. Если его там нет, то значение по умолчанию равно -1. При отрицательном значении освещенность зависит от времени в игре, а при >=0 освещенность будет анологична времени суток, начиная с 00.00, в минутах.

Аргументы
time Устанавливаемое время суток (в минутах).
См. также
GetTime
int GetData ( uint  index )

Возвращает значение из массива для работы с собственной информацией.

Аргументы
index Индекс ячейки массива (0<=index<=63).
См. также
SetData
void SetData ( uint  index,
int  value 
)

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

Массив для работы с собственной информацией имеет размер в 63 элемента и позволяет хранить произвольные данные для карты.

Аргументы
index Индекс ячейки массива (0<=index<=63).
value Записываемое значение.
См. также
GetData
bool IsTurnBasedAvailability ( )

Позволяет проверить, возможен ли на данной карте пошаговый режим боя.

Возвращает
Если true, то на карте возможен пошаговый режим. Если false, то нет.
См. также
BeginTurnBased
IsTurnBased
SetTurnBasedAvailability
void SetTurnBasedAvailability ( bool  value )

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

Аргументы
value Устанавливаемое значение.
См. также
BeginTurnBased
IsTurnBased
IsTurnBasedAvailability
void BeginTurnBased ( Critter @+  firstTurnCrit )

Включает пошаговый режим на карте.

Аргументы
firstTurnCrit Указатель на криттера, который ходит первым.
См. также
IsTurnBased
IsTurnBasedAvailability
SetTurnBasedAvailability
void EndTurnBased ( )

Завершает пошаговый режим на карте.

См. также
IsTurnBased
IsTurnBasedAvailability
SetTurnBasedAvailability
bool IsTurnBased ( )

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

Возвращает
Если true, то на карте включен пошаговый режим. Если false, то нет.
См. также
BeginTurnBased
IsTurnBasedAvailability
SetTurnBasedAvailability
bool Reload ( )

Переинициализирует карту.

Возвращает
true – в случае успеха, false – в случае провала.
void SetLoopTime ( uint8  loop,
uint16  ms 
)

Устанавливает период вызова loop-функций.

Всего этих функций может быть 5 (loop_0, loop_1, loop_2 и т.д.).

Аргументы
loop Номер loop-функции.
ms Период вызова (в миллисекундах; 1 секунда = 1000 миллисекунд.
См. также
MAP_EVENT_LOOP_0
MAP_EVENT_LOOP_1
MAP_EVENT_LOOP_2
MAP_EVENT_LOOP_3
MAP_EVENT_LOOP_4
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 ( )

Возвращает плотность дождя.

Возвращает
Плотность дождя.
См. также
SetRain
void SetRain ( uint8  capacity )

Включает/выключает дождь.

Аргументы
capacity Плотность дождя. Если плотность дождя == 0, то это значит, что дождь отключен. Максимальное значение – 255.
См. также
GetRain
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 Номер строки.
См. также
SetTextMsg(uint16, uint16, uint, uint16, uint, string&)
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@, где описан формат строки).
См. также
SetTextMsg(uint16, uint16, uint, uint16, uint)
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 Координаты гексагона, на котором находится криттер.
Возвращает
Указатель на экземпляр класса Critter. В случае провала – null.
Critter GetCritter ( uint  critterId )

Возвращает указатель на криттера, с указанным ID.

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

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

Аргументы
hexX,hexY Координаты гексагона, относительно которого будет проведен поиск криттеров.
radius Радиус поиска, в гексагонах.
findType Тип поиска (см. Critter find types).
critters Массив указателей на криттеров, которые были найдены. Этот массив будет дописан с конца найденными криттерами.
Возвращает
Количество найденных криттеров.
Прим.
Чтобы просто узнать количество найденных криттеров, в параметре 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 Массив указателей на криттеров, которые были найдены. Этот массив будет дописан с конца найденными криттерами.
Возвращает
Количество найденных криттеров.
Прим.
Чтобы просто узнать количество найденных криттеров, в параметре 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 Позиция гекса препятствия.
Возвращает
Количество найденных криттеров.
Прим.
Если координаты preBlock* равны block*, то значит препятствия не было.
Чтобы просто узнать количество найденных криттеров, в параметре critters можно передать значение 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 Массив указателей на криттеров. Этот массив будет дописан с конца найденными криттерами.
Возвращает
Количество найденных криттеров.
Прим.
Чтобы просто узнать количество найденных криттеров, в параметре 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 Направление.
Возвращает
Указатель на экземпляр класса Critter, если криттер создан. В противном случае – null.
uint GetNpcCount ( int  npcRole,
int  findType 
)

Возвращает количество NPC на карте, имеющих указанное значение параметра ST_NPC_ROLE.

Аргументы
npcRole Роль NPC.
findType Тип поиска (см. Critter find types).
Возвращает
Количество NPC на карте, имеющих указанное значение параметра ST_NPC_ROLE.
См. также
GetNpc
Critter GetNpc ( int  npcRole,
int  findType,
uint  skipCount 
)

Выбор NPC по его роли.

Аргументы
npcRole Роль NPC.
findType Тип поиска (см. Critter find types).
skipCount Количество пропусков. Необходимо использовать этот параметр в том случае, если на карте есть несколько NPC с одной ролью.
Возвращает
Указатель на экземпляр класса Critter, если NPC найде. null – в противном случае.
См. также
GetNpcCount
Item AddItem ( uint16  hexX,
uint16  hexY,
uint16  protoId,
uint  count 
)

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

Аргументы
hexX,hexY Координаты гексагона.
protoId ID Прототипа предмета (см. файл ITEMPID.H).
count Количество предметов.
Возвращает
Указатель на экземпляр класса Item. В случае провала – null.
Item GetItem ( uint  itemId )

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

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

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

Аргументы
hexX,hexY Координаты гексагона, на котором находится предмет.
protoId ID прототипа предмета (см. файл ITEMPID.H).
Возвращает
Указатель на экземпляр класса Item. В случае провала – 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 
)

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

Предупреждения
Помните, что двери относятся к классу Item.
Аргументы
hexX,hexY Координаты гексагона, на котором находится объект.
Возвращает
Указатель на экземпляр класса Item. В случае провала – null.
bool OpenDoor ( Item door )

Открывает дверь или контейнер.

Аргументы
door Дверь или контейнер, который необходимо открыть.
Возвращает
В случае успешного открытия - true. В случае провала – false.
См. также
CloseDoor
bool CloseDoor ( Item door )

Закрывает дверь или контейнер.

Аргументы
door Дверь или контейнер, который необходимо закрыть.
Возвращает
В случае успешного закрытия - true. В случае провала – false.
См. также
OpenDoor
Item GetCar ( uint16  hexX,
uint16  hexY 
)

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

Аргументы
hexX,hexY Координаты гексагона, на котором находится объект.
Возвращает
Указатель на экземпляр класса Item. В случае провала – null.
bool CheckPlaceForItem ( uint16  hexX,
uint16  hexY,
uint16  protoCar 
)

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

Аргументы
hexX,hexY Предполагаемые координаты машины.
protoCar Номер прототипа предмета.
Возвращает
true – если место подходит для установки предмета; false – если место не подходит.
uint CountEntire ( uint8  entire )

Возвращает количество специально обозначенных гексагонов.

Гексагоны обозначаются в редакторе карт.

Аргументы
entire Идентификатор группы гексагонов. Устанавливается по усмотрению разработчика карты.
Возвращает
Количество найденных гексагонов с указанным значением идентификатора EntireNum.
См. также
GetEntireCoords
bool GetEntireCoords ( uint8  entire,
uint8  num,
uint16 &  hexX,
uint16 &  hexY 
)

Возвращает координаты специально обозначенного гексагона.

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

Аргументы
[in] entire Идентификатор группы гексагонов. Устанавливается по усмотрению разработчика карты.
[in] num Порядковый номер гексагона в группе.
[out] hexX,hexY Переменные, в которые функция запишет координаты гексагона.
Возвращает
true – при удачном выполнении функции; false – при провале.
См. также
CountEntire
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 Координаты в области которых нужно производить поиск
Возвращает
true, в случае успеха.
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 Дистанция до нужного гекса.
Прим.
Если на пути попадется не простреливаемый (IsHexRaked) гекс, то итоговые координаты будут указывать на гекс перед препятствием.
При (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 Дистанция до нужного гекса.
Прим.
Если на пути попадется непроходимый (IsHexPassed) гекс, то итоговые координаты будут указывать на гекс перед препятствием.
См. также
GetHexCoord
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 Указывает, на сколько гексагонов необходимо обрезать путь с конца.
Возвращает
Длина пути между гексагонами. Если путь заблокирован, то возвращается 0.
uint GetPathLength ( Critter cr,
uint16  toHx,
uint16  toHy,
uint  cut 
)

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

Аргументы
cr Персонаж, от которого ищется путь.
toHx,toHy Координаты целевого гексагона.
cut Указывает, на сколько гексагонов необходимо обрезать путь с конца.
Возвращает
Длина пути. Если путь заблокирован, то возвращается 0.
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 Номер прототипа сценери.
Возвращает
Указатель на экземпляр класса Scenery. 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

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

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