Описание класса game object. Часть IV.
Материал из S.T.A.L.K.E.R. Inside Wiki
Навигация |
---|
Описание класса game object. Часть I. |
Содержание
CAI_Stalker
Эти методы можно применять только для сталкеров.
string patrol()возвращает имя патрульного пути. Аргументов не принимает.
int rank()возвращает ранг непися. Дублирует character_rank(). Аргументов не принимает.
function add_animation(string, boolean)
function add_animation(string);
void clear_animations()очистка активных анимаций. Аргументов не принимает.
int animation_count() constвозвращает количество активных анимаций у объекта. Аргументов не принимает.
cover_point* best_cover(const vector& position, const vector& enemy_position, float radius, float min_enemy_distance, float max_enemy_distance)
возвращает лучшее укрытие от врага. Аргументы:
- position - позиция сталкера
- enemy_position - позиция врага
- radius - радиус поиска
- min_enemy_distance - минимальная дистанция от укрытия до врага
- max_enemy_distance - максимальня дистанция от укрытия до врага
function safe_cover(const vector&, number, number);
game_object* best_weapon()возвращает объект лучшего оружия сталкера. Аргументов не принимает.
MonsterSpace::EBodyState body_state()
возвращает положение тела в виде константы перечисления enum MonsterSpace::EBodyState. В lua это перечисление экспортировано как константы класса move:
const crouch = 0; const standing = 1;
function target_body_state() const;
void set_body_state(enum MonsterSpace::EBodyState)устанавливает положение тела объекта. См. body_state().</cpp>
flags32 get_actor_relation_flags() const
возвращает флаги отношения к актору. Данные флажки по идее должны служить как-бы дополнительной памятью сталкеров в отношении ГГ. В них запоминается то, что актор делал сталкеру. Вроде бы внутри движка эти флажки не используются (кроме того, что устанавливаются). А это было написано в документации от GSC: возможные флажки: game_object.relation_attack game_object.relation_fight_help_monster game_object.relation_fight_help_human game_object.relation_kill
Т.е. предполагается работать следующим образом: Смотрим, когда есть такая возможность и актер рядом, что флажки не пустые. В соответствии с поднятым флагом выполняем какое-то действие (устанавливаем диалог, играем звук/анимацию), а потом сбрасываем флаг.void set_actor_relation_flags(flags32 flag)устанавливает флаги отношения к актору.
vector head_orientation() constвозвращает значение поворота головы. Хоть вроде выходит вектор, у меня какое-то значение имеет только x.
float ignore_monster_threshold() constвозвращает ignore_monster_threshold.
void restore_ignore_monster_threshold()воостановить из конфигов ignore_monster_threshold.
void make_object_visible_somewhen(game_object* object)добавляет объект в массив видимых объектов. То есть, тот, для кого вызвали метод, будет думать, что видел его, со всеми вытекающими - например, непись будет знать его координаты. Используется в ЗП для дозорного. Когда дозорный видит актора, для неписей сквада в засаде вызывается этот метод и они начинают знать, где актор.
float max_ignore_monster_distance() constвозвращает max_ignore_monster_distance.
void restore_max_ignore_monster_distance()воостановить из конфигов max_ignore_monster_distance.
void max_ignore_monster_distance()устанавливает max_ignore_monster_distance.
MonsterSpace::EMentalState mental_state()
возвращает ментальное состояние в виде константы перечисления enum MonsterSpace::EMentalState. В lua это перечисление экспортировано как константы класса move:
const danger = 0; const free = 1; const panic = 2;
function target_mental_state() const;
void set_mental_state(enum MonsterSpace::EMentalState)устанавливает состояние объекта. См. mental_state().</cpp>
MonsterSpace::EMovementType movement_type()
возвращает тип перемещения в виде константы перечисления enum MonsterSpace::EMovementType. В lua это перечисление экспортировано как константы класса move:
const walk = 0; const run = 1; const stand = 2;
function target_movement_type() const;
void set_movement_type(enum MonsterSpace::EMovementType)устанавливает тип перемещения объекта. См. movement_type().</cpp>
MonsterSpace::EPathType path_type()
возвращает тип пути в виде константы перечисления enum MonsterSpace::EPathType. В lua это перечисление экспортировано как константы класса move:
const game_path = 0; const level_path = 1; const patrol_path = 2; const no_path = 3; const dummy = -1;
void set_path_type(enum MonsterSpace::EPathType)устанавливает тип пути объекта. См. path_type().</cpp>
DetailPathManager::EDetailPathType detail_path_type()
возвращает тип перемещения по пути в виде константы перечисления DetailPathManager::EDetailPathType. В lua это перечисление экспортировано как константы класса move:
const line = 0; const dodge = 1; const criteria = 2;
void set_detail_path_type(enum DetailPathManager::EDetailPathType detail_path_type)устанавливает тип перемещения по пути объекта. См. detail_path_type().</cpp>
function set_patrol_path(string, enum PatrolPathManager::EPatrolStartType, enum PatrolPathManager::EPatrolRouteType, bool);
Написано K.D. 18:13, 18 декабря 2011 (UTC) по материалам malandrinus, материалам форума АМК и собственным изысканиям.