esp
Модуль esp добавляет свои элементы в редактор раскладки ESP (вкладка Visuals). Элементы можно перетаскивать по слотам, включать и настраивать, как встроенные; раскладка сохраняется в конфиге.

Аргумент target пишется строго в нижнем регистре:
target |
Для чего |
|---|---|
"enemy" |
противники |
"teammates" |
союзники |
"weapon" |
оружие |
"bomb" |
бомба |
"hostages" |
заложники |
"grenades" |
гранаты |
Неизвестный target — ошибка unknown esp type.
Колбэк элемента#
fn(ent)вызывается не чаще раза за кадр на каждую цель; результат кешируется.ent— сущность цели (у игроков — пешка) илиnil. Всегда обрабатывайтеnil.- Ошибка внутри колбэка выводится в консоль, элемент скрывается.
esp.item(target: string, name: string)#
Элемент без рисования: переключатель в раскладке и группа своих настроек. Его включённость читает :get().
| Параметр | Тип | Описание |
|---|---|---|
target |
string |
для чего элемент |
name |
string |
имя элемента |
Возвращает: esp_item.
local glow_item = esp.item("enemy", "Lua marker")
local opts = glow_item:group()
local size = opts:slider("Size", 2, 10, 4)
events.render:set(function()
if not glow_item:get() then return end
for _, pawn in ipairs(entity.pawns(true)) do
local p = render.world_to_screen(pawn:origin())
if p then render.circle(p, color(255, 0, 255, 255), size:get()) end
end
end)
esp.text(target: string, name: string, preview: string, fn: function)#
Текстовая плашка. Функция возвращает строку; пустая строка скрывает плашку.
| Параметр | Тип | Описание |
|---|---|---|
target |
string |
для чего элемент |
name |
string |
имя элемента |
preview |
string |
текст-образец в превью редактора |
fn |
function |
fn(ent) -> string |
Если функция вернула не строку, в консоль пишется callback must return a string value.
Возвращает: esp_item.
-- Расстояние до противника в метрах
esp.text("enemy", "Distance", "12 m", function(ent)
local me = entity.local_pawn()
if ent == nil or me == nil then return "" end
return string.format("%d m", math.floor(me:origin():dist(ent:origin()) * 0.0254))
end)
esp.bar(target: string, name: string, fn: function)#
Полоска. Функция возвращает value[, max].
| Параметр | Тип | Описание |
|---|---|---|
target |
string |
для чего элемент |
name |
string |
имя элемента |
fn |
function |
fn(ent) -> number[, number] |
Результат функции:
value < 0— полоска скрыта;- передан
max > 0— заполнениеvalue / max;max <= 0— полоска скрыта; maxне передан —valueсчитается процентом (0–100).
Если value не число, в консоль пишется callback must return a number value.
Возвращает: esp_item.
-- Броня противника полоской
esp.bar("enemy", "Armor", function(ent)
if ent == nil then return 100 end -- превью
return ent.m_ArmorValue or 0, 100
end)
esp_item:get()#
Возвращает: boolean — включён ли элемент в раскладке.
local marker = esp.item("enemy", "Marker")
print(marker:get())
esp_item:set(v: boolean)#
Включает или выключает элемент в раскладке.
| Параметр | Тип | Описание |
|---|---|---|
v |
boolean |
включён ли элемент |
Возвращает: ничего (в отличие от методов ui, цеплять вызовы нельзя).
local hp = esp.text("enemy", "HP text", "100", function(ent)
return ent and tostring(ent:health()) or "100"
end)
hp:set(true)
esp_item:name()#
Возвращает: string — имя, переданное в конструктор.
local marker = esp.item("enemy", "Marker")
print(marker:name()) --> Marker
esp_item:group()#
Группа настроек элемента в его окне. В неё добавляются элементы ui.
Возвращает: ui_group.
local dist = esp.item("enemy", "Distance ring")
local opts = dist:group()
local radius = opts:slider("Radius", 50, 1000, 300)
local col = opts:color_picker("Color", color(0, 200, 255, 255))