-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
code_language.lua:
ACEID_API = {}
FUNCTIONS_TABLE = {}
function ACEID_API:new()
local Methods = {}
local Markers = {}
Methods.ENABLED = 1;
Methods.DISABLED = 0;
-- Возвращает таблицу локального игрока
function Methods:GetClientActor()
return g_localActor;
end
-- Возвращает таблицу текущего предмета игрока
function Methods:GetCurrentItem()
return self:GetClientActor().inventory:GetCurrentItem();
end
-- Возвращает таблицу текущего оружия игрока
function Methods:GetWeapon()
return self:GetCurrentItem().weapon;
end
-- Возвращает массив всех сущностей на карте
function Methods:GetEntities()
return System.GetEntities();
end
-- Возвращает массив всех игроков на карте
function Methods:GetPlayers()
return System.GetEntitiesByClass("Player");
end
-- Получаем здоровье игрока
function Methods:GetHealth(Target)
if (Target.actor ~= nil) then
return Target.actor:GetHealth();
else
return 0;
end
end
-- Проверяем жив ли Actor
function Methods:IsDead(Target)
return self:GetHealth(Target) <= 0;
end
-- Получаем идентификатор команды
function Methods:GetTeam(Target)
if (g_gameRules.game ~= nil) then
return g_gameRules.game:GetTeam(Target.id);
else
return 0;
end
end
-- Сравниваем две команды
function Methods:IsSameTeam(First, Second)
return self:GetTeam(First) == self:GetTeam(Second)
end
-- Возращает TRUE если видно Entity
function Methods:IsVisible(Target)
return System.RayTraceCheck(System:GetViewCameraPos(), Target:GetBonePos("Bip01 Spine3"), 0, 0);
end
-- Меняем расположение камеры игрока на заданную позицию
function Methods:SetViewPosition(Position)
local Difference = DifferenceVectors(Position, System:GetViewCameraPos());
Difference = NormalizeVector(Difference);
self:GetClientActor():SetDirectionVector(Difference);
end
-- Возвращает позицию, сущность при столкновении луча
function Methods:RayCast()
local Position = System.GetViewCameraPos();
local ScaledDirection = ScaleVector(System.GetViewCameraDir(), 100);
local Result = { }
Physics.RayWorldIntersection(Position, ScaledDirection, 1, ent_terrain + ent_static + ent_rigid + ent_sleeping_rigid + ent_living, g_localActor.id, NULL_ENTITY, Result);
return Result[1]
end
-- Производит выстрелы
function Methods:Shot(Count, Reload)
self:GetWeapon():AutoShoot(Count, Reload)
end
-- Перезарядка оружия
function Methods:Reload()
self:GetWeapon():Reload()
end
-- Получает таблицу Screen
function Methods:GetScreen()
return UI.CurrentScreen;
end
-- Открывает игровую консоль
function Methods:ShowConsole(Show)
System.ShowConsole(Show);
end
setmetatable(Methods, self)
self.__index = self;
return Methods;
end
Aceid = ACEID_API:new();
code_language.lua:
if (System ~= nil and Script ~= nil and FeedbackSystem ~= nil) then
local Actor = Aceid:GetClientActor();
local Entities = Aceid:GetEntities();
if (Actor ~= nil and Entities ~= nil) then
-- Aimbot raycast
if (Config.Aimbot == Aceid.ENABLED) then
local RayHit = Aceid:RayCast();
if (RayHit ~= nil and RayHit.entity
and (Aceid:IsDead(Entity) == false)
and (Aceid:IsSameTeam(Actor, Entity) == false or Aceid:GetTeam(Actor) == 0)) then
if (Actor.actor:IsFiring()) then
Aceid:SetViewPosition(RayHit.entity:GetBonePos("Bip01 Neck"));
end
end
end
-- TriggerBot
if (Config.TriggerBot == Aceid.ENABLED) then
local RayHit = Aceid:RayCast();
if (RayHit ~= nil and RayHit.entity) then
local Entity = RayHit.entity;
if (Entity.actor ~= nil)
and (Aceid:IsDead(Entity) == false)
and (Aceid:IsSameTeam(Actor, Entity) == false or Aceid:GetTeam(Actor) == 0)
then
Script.SetTimer(150, -- Задержка выстрела 150 миллисекунд
function()
Aceid:Shot(1, 1);
end
);
end
end
end
-- Общий итератор Entity
for i in pairs(Entities)
do
local Entity = Entities[i]
if (Entity ~= nil and Entity.actor)
and (Entity ~= Actor)
and (Aceid:IsDead(Entity) == false)
and (Aceid:IsSameTeam(Actor, Entity) == false or Aceid:GetTeam(Actor) == 0)
then
-- Silhouettes
if (Config.Silhouettes == Aceid.ENABLED and FeedbackSystem ~= nil) then
local MarkerId = 0;
if (Aceid:IsVisible(Entity)) then
MarkerId = FeedbackSystem.AddMarker("observer_silhouette_warface", Entity.id);
else
MarkerId = FeedbackSystem.AddMarker("observer_silhouette_blackwood", Entity.id);
end
end
-- Health, Armor text render
if (Config.Names == Aceid.ENABLED) then
System.DrawLabel(Entity:GetBonePos("Bip01 Spine3"), 1.2, string.format("Health: %d\nArmor: %d", Entity.actor:GetHealth(), Entity.actor:GetArmor()), 0, 1, 1, 0.9)
end
-- Aimbot
if (Aceid:IsDead(Actor) == false) then
if (Config.Aimbot == Aceid.ENABLED) then
if (Aceid:IsVisible(Entity)) then
local Position = Entity:GetBonePos("Bip01 Head");
Aceid:SetViewPosition(Position);
end
end
end
end
end
end
System.DrawText(10, 5, "Aceid.cc Lua Executor", "warface", 12, 1.0, 1.0, 1.0, 1.0);
System.DrawText(10, 15, string.format("State: %d", System.GetCVar("g_victoryCondition")), "warface", 8, 1.0, 1.0, 1.0, 1.0);
end