Лучше не смотреть как я получаю боди явИщу сурс такой луашки на скит. Заранее спасибо.
local vector = require("vector")
local color = require("gamesense/color")
local screen = vector(client.screen_size())
local self = vector(0,0)
local y_add = 0
local menu = {}
menu.max = ui.new_slider("Config", "LUA", "Hitlist", 0, 20, 0, true, "", 1, {[0] = "Off"})
menu.screen_x = ui.new_slider("Config", "LUA", "Screen X", 0, screen.x-500)
menu.screen_y = ui.new_slider("Config", "LUA", "Screen Y", 0, screen.y-15--[[-ui.get(menu.max)*15--]])
local target,hitbox,hitbox_w,hitchance,damage,damage_w,bt,body,flags
local hitgroup_names = {'head', 'chest', 'stomach', 'left arm', 'right arm', 'left leg', 'right leg', 'neck', '?', 'gear', 'nil'}
local table1 = {
-- [1] = {zalupa1 = {["Player"] = "qqwertyyyyyytyyyyyyyyytyttttttttttttyyyyyy", ["Hitbox"] = "head", ["Hit chance"] = 74.59, ["Damage"] = 92, ["Bt"] = 0, ["Body yaw"] = 32, ["Flags"] = "B"}, zalupa2 = {type = true}},
}
local x_add = {["Player"] = 10, ["Hitbox"] = 130, ["Hit chance"] = 230, ["Damage"] = 290, ["Bt"] = 350, ["Body yaw"] = 380, ["Flags"] = 450}
local ya_daun = {
[1] = {["Player"] = 1, ["Hitbox"] = 2, ["Hit chance"] = 3, ["Damage"] = 4, ["Bt"] = 5, ["Body yaw"] = 6, ["Flags"] = 7},
[2] = {[1] = "Player", [2] = "Hitbox", [3] = "Hit chance", [4] = "Damage", [5] = "Bt", [6] = "Body yaw", [7] = "Flags"}
}
client.set_event_callback('paint', function(e)
self = vector(ui.get(menu.screen_x), ui.get(menu.screen_y))
local aaa = ui.get(menu.max)
if aaa == 0 then return end
renderer.rectangle(self.x,self.y, 500, 15, 20, 20, 20, 200)
for a,b in pairs(x_add) do renderer.text(self.x+b, self.y, 255, 255, 255, 200, "", nil, a)end
y_add = 3
for a,b in pairs(table1) do
if a > aaa then break end
y_add = y_add + 14
renderer.rectangle(self.x,self.y+y_add, 500, 13, 20, 20, 20, 200)
local color_hitmiss = b.zalupa2.type and color(20,240,20) or color(240,20,20)
renderer.rectangle(self.x-1,self.y+y_add, 1, 13, color_hitmiss.r, color_hitmiss.g, color_hitmiss.b, 200)
for k,v in pairs(b.zalupa1) do
local govno1 = ya_daun[1][k]+1
local govno2 = ya_daun[2][govno1]
local penis = x_add[govno2] or 500
local qqwerty_xui = penis-x_add[k]-5
renderer.text(self.x+x_add[k], self.y+y_add, 255, 255, 255, 200,"",qqwerty_xui, v
)
end
end
end)
--[[
ui.set_callback(menu.max, function()
if ui.get(menu.screen_y) > screen.y-15-ui.get(menu.max)*15 then ui.set(menu.screen_y, screen.y-15-ui.get(menu.max)*15) end
ui.update(menu.screen_y, 0, screen.y-15-ui.get(menu.max)*15)
end)
--]]
local function pizdariki(target,hitbox,hitchance,damage,bt,body,flags,type)
local entry = {
zalupa1 = {
["Player"] = target,
["Hitbox"] = hitbox,
["Hit chance"] = hitchance,
["Damage"] = damage,
["Bt"] = bt,
["Body yaw"] = body,
["Flags"] = flags,
},
zalupa2 = {type = type},
}
table.insert(table1, 1 ,entry)
end
client.set_event_callback('aim_fire', function(e)
local flag = {
e.teleported and 'T ' or '',
e.interpolated and 'I ' or '',
e.extrapolated and 'E ' or '',
e.boosted and 'B ' or '',
e.high_priority and 'H ' or ''
}
target = entity.get_player_name(e.target)
hitbox_w = hitgroup_names[e.hitgroup]
hitchance = string.format("%.2f%%", e.hit_chance)
damage_w = e.damage
flags = string.format("%s", table.concat(flag))
body = string.format("%s°",math.random(-60,60))
bt = string.format("%st", e.backtrack)
end)
client.set_event_callback('aim_hit', function(e)
hitbox = hitgroup_names[e.hitgroup]
damage = e.damage
local hitbox_2 = hitbox == hitbox_w and '' or string.format("(%s)", hitbox_w)
local hitbox_ = string.format("%s%s", hitbox,hitbox_2)
local damage_2 = damage == damage_w and '' or string.format("(%s)", damage_w)
local damage_ = string.format("%s%s", damage,damage_2)
pizdariki(target,hitbox_,hitchance,damage_,bt,body,flags,true)
end)
client.set_event_callback('aim_miss', function(e)
pizdariki(target,hitbox_w,hitchance,damage_w,bt,body,flags,false)
end)
Лучше не смотреть как я получаю боди яв
вопрос исчерпанbody = string.format("%s°",math.random(-60,60))
local ui_get, ui_set = ui.get, ui.set
local draw_text = client.draw_text
local draw_rectangle = client.draw_rectangle
local width, height = client.screen_size()
local last_tick = 0
local aim_table, shot_state = { }, { }
local menu = {
is_active = ui.new_checkbox("MISC", "Settings", "Aim bot logging"),
palette = ui.new_color_picker("MISC", "Settings", "Logging picker", 16, 22, 29, 160),
table_size = ui.new_slider("MISC", "Settings", "Maximum amount", 2, 10, 6),
size_x = ui.new_slider("MISC", "Settings", "X Axis", 1, width, 95, true, "px"),
size_y = ui.new_slider("MISC", "Settings", "Y Axis", 1, height, 450, true, "px"),
hitboxes = ui.new_checkbox("MISC", "Settings", "Lag compensated hitboxes"),
hp_default = ui.new_color_picker("MISC", "Settings", "Target picker", 90, 227, 25, 150),
h_backtrack = ui.new_checkbox("MISC", "Settings", "Backtrack hitboxes"),
hp_backtrack = ui.new_color_picker("MISC", "Settings", "Backtrack picker", 89, 116, 204, 150),
h_hp = ui.new_checkbox("MISC", "Settings", "High priority hitboxes"),
hp_picker = ui.new_color_picker("MISC", "Settings", "High priority picker", 255, 0, 0, 150),
hitboxes_time = ui.new_slider("MISC", "Settings", "Duration", 1, 20, 3, true, "s"),
resolver_state = ui.reference("RAGE", "Other", "Anti-aim correction"),
reset_table = ui.new_button("MISC", "Settings", "Reset table", function()
aim_table = {}
end)
}
local function callback(status, m)
if not ui_get(menu.is_active) then
return
end
if status == "aim_hit" then shot_state[m.id]["got"] = true end
if status == "aim_miss" and m.reason ~= "death" then
shot_state[m.id]["got"] = true
end
if shot_state[m.id] and shot_state[m.id]["got"] then
for n, _ in pairs(aim_table) do
if aim_table[n].id == m.id then
aim_table[n]["hit"] = status
end
end
end
end
local function get_server_rate(f)
local tickrate = 64
local cmdrate = client.get_cvar("cl_cmdrate") or 64
local updaterate = client.get_cvar("cl_updaterate") or 64
if cmdrate <= updaterate then
tickrate = cmdrate
elseif updaterate <= cmdrate then
tickrate = updaterate
end
return math.floor((f * tickrate) + 0.5)
end
client.set_event_callback("aim_fire", function(m)
if ui_get(menu.is_active) then
local lagcomp, LC = 0, "-"
local backtrack = get_server_rate(m.backtrack)
if m.teleported then
lagcomp = 2
LC = "Breaking"
elseif backtrack < 0 then
lagcomp = 3
LC = "Predict (" .. math.abs(backtrack) .. "t)"
elseif backtrack ~= 0 then
lagcomp = 1
LC = backtrack .. " Ticks"
end
local flags = {
m.teleported and 'T' or '',
m.interpolated and 'I' or '',
m.extrapolated and 'E' or '',
m.high_priority and 'H' or ''
-- m.boosted and 'B' or '',
}
local has_flags = false
for i = 1, #flags do
if flags[i] ~= "" then
has_flags = true
end
end
if not has_flags then
flags = { '-' }
end
for i = 10, 2, -1 do
aim_table[i] = aim_table[i-1]
end
aim_table[1] = {
["id"] = m.id, ["hit"] = not ui.get(menu.resolver_state) and "aim_unknown" or 0,
["player"] = string.sub(entity.get_player_name(m.target), 0, 14),
["dmg"] = m.damage, ["lc"] = LC, ["lagcomp"] = lagcomp,
["flags"] = table.concat(flags)
}
shot_state[m.id] = {
["hit"] = false,
["time"] = globals.curtime()
}
end
if ui_get(menu.hitboxes) then
local r, g, b, a = ui_get(menu.hp_default)
if ui_get(menu.h_backtrack) and m.backtrack > 0 then r, g, b, a = ui_get(menu.hp_backtrack) end
if ui_get(menu.h_hp) and m.high_priority then r, g, b, a = ui_get(menu.hp_picker) end
client.draw_hitboxes(m.target, ui_get(menu.hitboxes_time), 19, r, g, b, a, m.backtrack)
end
end)
local function drawTable(c, count, x, y, data)
if data then
local y = y + 4
local pitch = x + 10
local yaw = y + 15 + (count * 16)
local r, g, b = 0, 0, 0
local lagcomp = data.lagcomp == 0 and 1 or data.lagcomp
local clx = {
[1] = { 255, 255, 255 },
[2] = { 255, 84, 84 },
[3] = { 181, 181, 100 }
}
if data.hit == "aim_hit" then
r, g, b = 94, 230, 75
elseif data.hit == "aim_miss" then
r, g, b = 255, 84, 84
elseif data.hit == "aim_unknown" then
r, g, b = 245, 127, 23
else -- Doesnt registered
r, g, b = 118, 171, 255
end
draw_rectangle(c, x, yaw, 2, 15, r, g, b, 255)
draw_text(c, pitch - 3, yaw + 1, 255, 255, 255, 255, nil, 70, data.id)
draw_text(c, pitch + 23, yaw + 1, 255, 255, 255, 255, nil, 70, data.player)
draw_text(c, pitch + 106, yaw + 1, 255, 255, 255, 255, nil, 70, data.dmg)
draw_text(c, pitch + 137, yaw + 1, 255, 255, 255, 255, nil, 70, data.flags)
draw_text(c, pitch + 183, yaw + 1, clx[lagcomp][1], clx[lagcomp][2], clx[lagcomp][3], 255, nil, 70, data.lc)
return (count + 1)
end
end
client.set_event_callback("paint", function(c)
if not ui_get(menu.is_active) then
return
end
local x, y, d = ui_get(menu.size_x), ui_get(menu.size_y), 0
local r, g, b, a = ui_get(menu.palette)
local n = ui_get(menu.table_size)
local col_sz = 24 + (16 * (#aim_table > n and n or #aim_table))
local width_s, nt = 0, { ["none"] = 0, ["predict"] = 0, ["breaking"] = 0, ["backtrack"] = 0 }
for i = 1, ui_get(menu.table_size), 1 do
if aim_table[i] then
local lc = aim_table[i].lagcomp
if lc == 0 then
nt["none"] = nt.none + 1
elseif lc == 1 then
nt["backtrack"] = nt.backtrack + 1
elseif lc == 2 then
nt["breaking"] = nt.breaking + 1
elseif lc == 3 then
nt["predict"] = nt.predict + 1
end
end
end
if nt.predict > 0 then
width_s = 265
elseif nt.breaking > 0 then
width_s = 250
elseif nt.backtrack > 0 then
width_s = 245
else
width_s = 240
end
draw_rectangle(c, x, y, width_s, col_sz, 22, 20, 26, 100)
draw_rectangle(c, x, y, width_s, 15, r, g, b, a)
-- Drawing first column
draw_text(c, x + 10, y + 8, 255, 255, 255, 255, "-c", 70, "ID")
draw_text(c, x + 10 + 35, y + 8, 255, 255, 255, 255, "-c", 70, "PLAYER")
draw_text(c, x + 10 + 114, y + 8, 255, 255, 255, 255, "-c", 70, "DMG")
draw_text(c, x + 10 + 148, y + 8, 255, 255, 255, 255, "-c", 70, "FLAGS")
draw_text(c, x + 10 + 201, y + 8, 255, 255, 255, 255, "-c", 70, "LAG COMP")
-- Drawing table
for i = 1, ui_get(menu.table_size), 1 do
d = drawTable(c, d, x, y, aim_table[i])
end
end)
local function hook_listener(data)
for i = 1, #data, 1 do
client.set_event_callback(data[i], function(c)
callback(data[i], c)
end)
end
end
local function menu_listener(data)
if type(data) == "table" then
for i = 1, #data, 1 do
ui.set_callback(menu[data[i]], menu_listener)
end
return
end
local rpc = ui_get(menu.is_active)
ui.set_visible(menu.table_size, rpc)
ui.set_visible(menu.size_x, rpc)
ui.set_visible(menu.size_y, rpc)
ui.set_visible(menu.h_backtrack, ui_get(menu.hitboxes))
ui.set_visible(menu.hp_backtrack, ui_get(menu.hitboxes))
ui.set_visible(menu.h_hp, ui_get(menu.hitboxes))
ui.set_visible(menu.hp_picker, ui_get(menu.hitboxes))
ui.set_visible(menu.hitboxes_time, ui_get(menu.hitboxes))
end
menu_listener({ "is_active", "hitboxes" })
hook_listener({ "aim_hit", "aim_miss" })
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz