Lua: Функции - ixray-team/ixray-1.6-stcop GitHub Wiki

Глобальное пространство

bool IsDedicated(); //-- Скрипт был вызван на Dedicated сервере
bool OnClient();    //-- Скрипт был вызван на стороне клиента 
bool OnServer();    //-- Скрипт был вызван на стороне сервера

Fvector2 GetCursorPosition()     //-- Получить позицию курсора
void SetCursorPosition(Fvector2) //-- Установить позицию курсора

player_hud

void show_legs(bool) //-- показать/скрыть ноги

CActor

Новое

  • Статус ГГ
bool is_god_mode() //-- Находится ли ГГ в "режиме бога"
  • Камера
bool is_first_person();  //-- Активна ли камера "От первого лица"
void set_first_person(); //-- Установить камеру "От первого лица"
void set_third_person(); //-- Установить камеру "От третьего лица"
bool is_booster_influence(EBoostParams);        //-- Влияет ли бустер на актора (параметр буста из EBoostParams)
float get_booster_influence_time(EBoostParams); //-- Получить время влияния бустера на актора (параметр буста из EBoostParams)

void apply_booster(string);                     //-- Применить бустер (имя секции с параметрами бустера)
void set_booster_time(number, EBoostParams);    //-- Установить время влияния бустера (время, параметр буста из EBoostParams)
  • Тень от ГГ
bool is_actor_shadow();      //-- Проверить включена ли тень от ГГ
void set_actor_shadow(bool); //-- Включить/выключить тень от ГГ
  • Движение
bool get_movement_state(EMovementStates, EMoveCommand);       //-- Получить состояние движения актора (первое - тип движения, например, желаемый (eWishful); второе - команда движения, например спринт (mcSprint))
void set_movement_state(EMovementStates, EMoveCommand, bool); //-- Установить состояние команды движения актора (первое - тип движения; второе - команда движения; третье - статус, true\false)

CoC Extended

  • Weapon
//-- State
u8 get_weapon_substate();
int get_ammo_count_for_type(type);
u32 get_main_weapon_type();
u32 get_weapon_type();

string weapon_get_ammo_section(ammo_type);
void weapon_addon_attach(obj);
void weapon_addon_detach(obj);

//-- Upgrades
bool install_upgrade(name);
bool has_upgrade(name);
void iterate_installed_upgrades();
  • Other
void set_character_icon(icon)               //-- Установить иконку персонажа
void change_character_rank(char_rank)       //-- Установить ранг персонажа
LPCSTR character_name()                     //-- Узнать имя персонажа
LPCSTR character_icon()                     //-- Узнать иконку персонажа
void set_rank(rank)                         //-- Установить ранг персонажа
void set_profile_name(profile)              //-- Установить профиль персонажа
void set_character_name(name)               //-- Установить имя персонажа
void iterate_feel_touch(function bool(id)); //-- Перебирать объекты вокруг актера до нахождения нужного
void hide_detector();                       //-- Убрать детектор
bool IsOnBelt(obj);                         //-- Проверить предмет на поясе
obj item_on_belt(ItemID);                   //-- Получить предмет по ID
u32 play_hud_motion(Name, UseMix, state);   //-- Проиграть анимацию на худе
void switch_state(state);                   //-- Переключить state оружия
u32 get_state();                            //-- Получить state худового предмета
u16 ammo_get_count();                       //-- Получить количество патронов 
void AmmoSetCount(count);                   //-- Установить кол-во патронов
int AmmoBoxSize();                          //-- Получить кол-во патронов в 1 пачке 

CCar

void AddFuel(float);   //-- Добавить топливо (с учётом предела m_fuel_tank)
property fuel;         //-- Свойство объекта: текущее топливо
property fuel_tank;    //-- Свойство объекта: размер топливного бака

CLevel

From Lost Alpha

LPCSTR get_past_wdesc();                    //-- получить предыдущую погоду
LPCSTR get_next_wdesc();                    //-- получить следующую погоду
float get_past_wdesc_execution_time();      //-- получить время исполнения прошлой погоды
float get_next_wdesc_execution_time();      //-- получить время следующей погоды
float get_weather_game_time();              //-- получить погодное время
void set_past_wdesc(LPCSTR WeatherSection); //-- установить предыдущую погоду
void set_next_wdesc(LPCSTR WeatherSection); //-- установить следующую погоду

CUIGameCustom

AddHudMessage(string) -- Вывести сообщение на экран 

alife_simulator

jump_to_level(name)                    //-- Переместить актера на локацию 
teleport_object(id, gv_id, lv_id, pos) //-- Переместить alife объект 
iterate_info(id, function)
reprocess_spawn(sobj) 
set_objects_per_update(count)
set_process_time(time)
get_children(sobj)
  • Object Iterator (Lost Alpha)
for id, se_obj in alife():objects() do
    ...

game

CTime

save(packet) --// Сохраняет время в сжатом виде (4 байта) 
load(packet) --// Загружает время в сжатом виде (4 байта) 

save

set_stage(name) --// Передать название текущего чанка в движок (отладочная информация)
call_error()    --// Вызвать ошибку при сохранении (отладочная информация)
animslot.play(section, anim) //-- Проиграть анимацию на худе 
  • Функции
bool Empty();              //-- Предмет больше не может быть использован
bool CanDelete();          //-- Предмет будет удалён, если его нельзя будет использовать
bool GetMaxUses();         //-- Кол-во максимальных использований 
u8 GetRemainingUses();     //-- Кол-во оставшихся использований
void SetRemainingUses(u8); //-- Установить кол-во оставшихся использований
float Weight();            //-- Текущий вес предмета
int Cost();                //-- Стоимость предмета
  • Свойства
bool m_bRemoveAfterUse;  //-- Предмет будет удалён, если его нельзя будет использовать
float m_fWeightFull;     //-- Начальный вес предмета 
float m_fWeightEmpty;    //-- Вес пустого предмета 

CMapManager

  • Функции
void RemoveMapLocation(CMapLocation* ml); 
//-- Удаляет указанную локацию на карте

void RemoveMapLocationByObjectID(u16 id); 
//-- Удаляет локацию на карте по идентификатору объекта

void DisableAllPointers(); 
//-- Отключает все указатели на карте

void MapLocationsForEach(LPCSTR spot_type, u16 id, const luabind::functor<bool>& functor); 
//-- Выполняет заданную функцию для каждой локации на карте с указанным типом и идентификатором

void AllLocationsForEach(const luabind::functor<bool>& functor); 
//-- Выполняет заданную функцию для всех локаций на карте
Примеры
-- Пример использования RemoveMapLocationByObjectID
mapManager:RemoveMapLocationByObjectID(123)

-- Пример использования RemoveMapLocation
local location = mapManager:GetMapLocation("spot_type", 123)
mapManager:RemoveMapLocation(location)

-- Пример использования DisableAllPointers
mapManager:DisableAllPointers()

-- Пример использования MapLocationsForEach
mapManager:MapLocationsForEach("spot_type", 123, function(location)
    print(location:GetHint())
    return false -- возвращает true, если нужно прервать итерацию
end)

-- Пример использования AllLocationsForEach
mapManager:AllLocationsForEach(function(location)
    print(location:GetHint())
    return false -- возвращает true, если нужно прервать итерацию
end)

CMapLocation

  • Функции
bool HintEnabled(); 
//-- Проверяет, включены ли подсказки для локаций на карте

LPCSTR GetHint(); 
//-- Возвращает подсказку, связанную с локацией на карте

void SetHint(const shared_str& hint); 
//-- Устанавливает подсказку для локации на карте

bool PointerEnabled(); 
//-- Проверяет, включены ли указатели для локаций на карте

void EnablePointer(); 
//-- Включает указатель для локации на карте

void DisablePointer(); 
//-- Отключает указатель для локации на карте

LPCSTR GetType() const; 
//-- Возвращает тип локации на карте

Fvector2 SpotSize(); 
//-- Возвращает размер метки на карте

bool IsUserDefined() const; 
//-- Проверяет, является ли локация на карты объявленной пользователем

void SetUserDefinedFlag(BOOL state); 
//-- Устанавливает флаг объявления локации пользовательской 

void HighlightSpot(bool state, const Fcolor& color); 
//-- Подсвечивает метку на карте

bool Collidable() const; 
//-- Проверяет, является ли локация на каре коллидирующей

bool SpotEnabled(); 
//-- Проверяет, включена ли метка для локации на карте

void EnableSpot(); 
//-- Включает метку для локации на карте

void DisableSpot(); 
//-- Отключает метку для локации на карте

const shared_str& GetLevelName(); 
//-- Возвращает название уровня, связанного с локацией на карте

const Fvector2& GetPosition(); 
//-- Возвращает позицию локации на карте

u16 ObjectID(); 
//-- Возвращает идентификатор объекта локации на карте

Fvector GetLastPosition(); 
//-- Возвращает последнюю известную позицию локации на карте
Примеры
-- Пример использования HintEnabled
if location:HintEnabled() then
    print("Подсказка включена")
end

-- Пример использования GetHint
local hint = location:GetHint()
print("Подсказка: " .. hint)

-- Пример использования SetHint
location:SetHint("Новая подсказка")

-- Пример использования PointerEnabled
if location:PointerEnabled() then
    print("Указатель включен")
end

-- Пример использования EnablePointer
location:EnablePointer()

-- Пример использования DisablePointer
location:DisablePointer()

-- Пример использования GetType
local type = location:GetType()
print("Тип местоположения: " .. type)

-- Пример использования SpotSize
local size = location:SpotSize()
print("Размер метки: " .. size.x .. ", " .. size.y)

-- Пример использования IsUserDefined
if location:IsUserDefined() then
    print("Пользовательское местоположение")
end

-- Пример использования SetUserDefinedFlag
location:SetUserDefinedFlag(true)

-- Пример использования HighlightSpot
local color = {r = 1, g = 0, b = 0, a = 1}
location:HighlightSpot(true, color)

-- Пример использования Collidable
if location:Collidable() then
    print("Местоположение коллидирующее")
end

-- Пример использования SpotEnabled
if location:SpotEnabled() then
    print("Метка включена")
end

-- Пример использования EnableSpot
location:EnableSpot()

-- Пример использования DisableSpot
location:DisableSpot()

-- Пример использования GetLevelName
local levelName = location:GetLevelName()
print("Название уровня: " .. levelName)

-- Пример использования GetPosition
local position = location:GetPosition()
print("Позиция: " .. position.x .. ", " .. position.y)

-- Пример использования ObjectID
local id = location:ObjectID()
print("ID объекта: " .. id)

-- Пример использования GetLastPosition
local lastPosition = location:GetLastPosition()
print("Последняя позиция: " .. lastPosition.x .. ", " .. lastPosition.y .. ", " .. lastPosition.z)

CScriptGameObject

  • Функции
bool ActorIsJump();
//-- Проверяет, в прыжке ли актер в данный момент.

float GetActorMaxWeight() const;
//-- Возвращает максимальный вес, который актер может нести.

void SetActorMaxWeight(float max_weight);
//-- Устанавливает максимальный вес, который актер может нести.

float GetActorMaxWalkWeight() const;
//-- Возвращает максимальный вес, при котором актер может передвигаться.

void SetActorMaxWalkWeight(float max_walk_weight);
//-- Устанавливает максимальный вес, при котором актер может передвигаться.

float GetAdditionalMaxWeight() const;
//-- Возвращает дополнительный вес, который костюм актера позволяет нести сверх стандартного лимита.

void SetAdditionalMaxWeight(float add_max_weight);
//-- Устанавливает дополнительный вес, который костюм актера позволяет нести сверх стандартного лимита.

float GetAdditionalMaxWalkWeight() const;
//-- Возвращает дополнительный вес, при котором актер может передвигаться.

void SetAdditionalMaxWalkWeight(float add_max_walk_weight);
//-- Устанавливает дополнительный вес, при котором актер может передвигаться.

float GetTotalWeight() const;
//-- Возвращает суммарный вес инвентаря актера.

float Weight() const;
//-- Возвращает вес конкретного предмета.

float GetActorJumpSpeed() const;
//-- Возвращает скорость прыжка актера.

void SetActorJumpSpeed(float jump_speed);
//-- Устанавливает скорость прыжка актера.

float GetActorSprintKoef() const;
//-- Возвращает коэффициент спринта актера.

void SetActorSprintKoef(float sprint_koef);
//-- Устанавливает коэффициент спринта актера.

float GetActorRunCoef() const;
//-- Возвращает коэффициент бега актера.

void SetActorRunCoef(float run_coef);
//-- Устанавливает коэффициент бега актера.

float GetActorRunBackCoef() const;
//-- Возвращает коэффициент бега назад актера.

void SetActorRunBackCoef(float run_back_coef);
//-- Устанавливает коэффициент бега назад актера.
Примеры
-- Пример использования ActorIsJump
if actor:ActorIsJump() then
    print("Актер прыгает")
end

-- Пример использования GetActorMaxWeight
local maxWeight = actor:GetActorMaxWeight()
print("Максимальный вес актера: " .. maxWeight)

-- Пример использования SetActorMaxWeight
actor:SetActorMaxWeight(100.0)

-- Пример использования GetActorMaxWalkWeight
local maxWalkWeight = actor:GetActorMaxWalkWeight()
print("Максимальный вес для ходьбы: " .. maxWalkWeight)

-- Пример использования SetActorMaxWalkWeight
actor:SetActorMaxWalkWeight(80.0)

-- Пример использования GetAdditionalMaxWeight
local additionalWeight = actor:GetAdditionalMaxWeight()
print("Дополнительный вес: " .. additionalWeight)

-- Пример использования SetAdditionalMaxWeight
actor:SetAdditionalMaxWeight(20.0)

-- Пример использования GetAdditionalMaxWalkWeight
local additionalWalkWeight = actor:GetAdditionalMaxWalkWeight()
print("Дополнительный вес для ходьбы: " .. additionalWalkWeight)

-- Пример использования SetAdditionalMaxWalkWeight
actor:SetAdditionalMaxWalkWeight(15.0)

-- Пример использования GetTotalWeight
local totalWeight = actor:GetTotalWeight()
print("Суммарный вес инвентаря: " .. totalWeight)

-- Пример использования Weight
local itemWeight = actor:Weight()
print("Вес предмета: " .. itemWeight)

-- Пример использования GetActorJumpSpeed
local jumpSpeed = actor:GetActorJumpSpeed()
print("Скорость прыжка актера: " .. jumpSpeed)

-- Пример использования SetActorJumpSpeed
actor:SetActorJumpSpeed(5.0)

-- Пример использования GetActorSprintKoef
local sprintKoef = actor:GetActorSprintKoef()
print("Коэффициент спринта: " .. sprintKoef)

-- Пример использования SetActorSprintKoef
actor:SetActorSprintKoef(1.5)

-- Пример использования GetActorRunCoef
local runCoef = actor:GetActorRunCoef()
print("Коэффициент бега: " .. runCoef)

-- Пример использования SetActorRunCoef
actor:SetActorRunCoef(1.2)

-- Пример использования GetActorRunBackCoef
local runBackCoef = actor:GetActorRunBackCoef()
print("Коэффициент бега назад: " .. runBackCoef)

-- Пример использования SetActorRunBackCoef
actor:SetActorRunBackCoef(0.8)

ActorMenu

ActorMenu.get_pda_menu()   //-- Получить UI класс ПДА
ActorMenu.get_actor_menu() //-- Получить UI класс Актера
ActorMenu.get_menu_mode()  //-- Получить ID текущего UI
ActorMenu.get_maingame()   //-- Получить ID класс maingame

CUIListBox

void SetSelectedIndex(id) //-- Выделить элемент
⚠️ **GitHub.com Fallback** ⚠️