Вопрос Порт LUA для otc

  • Автор темы Автор темы knyaz228
  • Дата начала Дата начала
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
7 Янв 2018
Сообщения
233
Реакции
34
Ищу человека, который способен либо сделать данную луашку для вантапа, либо подсказать мне, каким образом взять правильный радиус молотова, чтобы он правильно расширялся. Код ниже )

Код:
Expand Collapse Copy
--local variables for API. Automatically generated by https://github.com/simpleavaster/gslua/blob/master/authors/sapphyrus/generate_api.lua
local client_latency, client_set_clan_tag, client_log, client_draw_rectangle, client_draw_indicator, client_draw_circle_outline, client_timestamp, client_world_to_screen, client_userid_to_entindex = client.latency, client.set_clan_tag, client.log, client.draw_rectangle, client.draw_indicator, client.draw_circle_outline, client.timestamp, client.world_to_screen, client.userid_to_entindex
local client_draw_circle, client_draw_gradient, client_set_event_callback, client_screen_size, client_trace_line, client_draw_text, client_color_log = client.draw_circle, client.draw_gradient, client.set_event_callback, client.screen_size, client.trace_line, client.draw_text, client.color_log
local client_system_time, client_delay_call, client_visible, client_exec, client_open_panorama_context, client_set_cvar, client_eye_position = client.system_time, client.delay_call, client.visible, client.exec, client.open_panorama_context, client.set_cvar, client.eye_position
local client_draw_hitboxes, client_get_cvar, client_draw_line, client_camera_angles, client_draw_debug_text, client_random_int, client_random_float = client.draw_hitboxes, client.get_cvar, client.draw_line, client.camera_angles, client.draw_debug_text, client.random_int, client.random_float
local entity_get_local_player, entity_is_enemy, entity_get_bounding_box, entity_is_dormant, entity_get_steam64, entity_get_player_name, entity_hitbox_position, entity_get_game_rules, entity_get_all = entity.get_local_player, entity.is_enemy, entity.get_bounding_box, entity.is_dormant, entity.get_steam64, entity.get_player_name, entity.hitbox_position, entity.get_game_rules, entity.get_all
local entity_set_prop, entity_is_alive, entity_get_player_weapon, entity_get_prop, entity_get_players, entity_get_classname = entity.set_prop, entity.is_alive, entity.get_player_weapon, entity.get_prop, entity.get_players, entity.get_classname
local globals_realtime, globals_absoluteframetime, globals_tickcount, globals_lastoutgoingcommand, globals_curtime, globals_mapname, globals_tickinterval = globals.realtime, globals.absoluteframetime, globals.tickcount, globals.lastoutgoingcommand, globals.curtime, globals.mapname, globals.tickinterval
local globals_framecount, globals_frametime, globals_maxplayers = globals.framecount, globals.frametime, globals.maxplayers
local ui_new_slider, ui_new_combobox, ui_reference, ui_is_menu_open, ui_set_visible, ui_new_textbox, ui_new_color_picker, ui_set_callback, ui_set = ui.new_slider, ui.new_combobox, ui.reference, ui.is_menu_open, ui.set_visible, ui.new_textbox, ui.new_color_picker, ui.set_callback, ui.set
local ui_new_checkbox, ui_new_hotkey, ui_new_button, ui_new_multiselect, ui_get = ui.new_checkbox, ui.new_hotkey, ui.new_button, ui.new_multiselect, ui.get
local math_ceil, math_tan, math_cos, math_sinh, math_pi, math_max, math_atan2, math_floor, math_sqrt, math_deg, math_atan, math_fmod, math_acos = math.ceil, math.tan, math.cos, math.sinh, math.pi, math.max, math.atan2, math.floor, math.sqrt, math.deg, math.atan, math.fmod, math.acos
local math_pow, math_abs, math_min, math_sin, math_log, math_exp, math_cosh, math_asin, math_rad = math.pow, math.abs, math.min, math.sin, math.log, math.exp, math.cosh, math.asin, math.rad
local table_sort, table_remove, table_concat, table_insert = table.sort, table.remove, table.concat, table.insert
local string_find, string_format, string_gsub, string_len, string_gmatch, string_match, string_reverse, string_upper, string_lower, string_sub = string.find, string.format, string.gsub, string.len, string.gmatch, string.match, string.reverse, string.upper, string.lower, string.sub
local renderer_line, renderer_indicator, renderer_world_to_screen, renderer_circle_outline, renderer_rectangle, renderer_gradient, renderer_circle, renderer_text = renderer.line, renderer.indicator, renderer.world_to_screen, renderer.circle_outline, renderer.rectangle, renderer.gradient, renderer.circle, renderer.text
--end of local variables

local grenade_timer_reference = ui.new_multiselect("VISUALS", "Other ESP", "Grenades: Timer ", "Text", "Bar")
local smoke_radius_reference = ui.new_checkbox("VISUALS", "Other ESP", "Grenades: Smoke radius")
local smoke_radius_color_reference = ui.new_color_picker("VISUALS", "Other ESP", "Grenades: Smoke radius", 61, 147, 250, 180)
local molotov_radius_reference = ui.new_checkbox("VISUALS", "Other ESP", "Grenades: Molotov radius")
local molotov_radius_color_reference = ui.new_color_picker("VISUALS", "Other ESP", "Grenades: Molotov radius", 255, 63, 63, 190)
local molotov_team_reference = ui.new_checkbox("VISUALS", "Other ESP", "Grenades: Molotov team")

local legacy_timer_reference = ui.new_checkbox("VISUALS", "Other ESP", "Grenades: Timer")
local function on_legacy_timer_changed()
    if ui_get(legacy_timer_reference) and #ui_get(grenade_timer_reference) == 0 then
        ui_set(grenade_timer_reference, {"Text"})
        ui_set(legacy_timer_reference, false)
    end
end
ui.set_callback(legacy_timer_reference, on_legacy_timer_changed)
ui.set_visible(legacy_timer_reference, false)

--I hate having to do this
local smoke_radius_units = 125
local smoke_duration = 17.55
local molotov_duration = 7

local molotovs = {}
local molotovs_temp = {}
local molotovs_created_at = {}
local molotovs_cells = {}

local bar_enabled = true
local bar_width = 26

local MOVETYPE_NOCLIP = 8

local function distance(x1, y1, x2, y2)
    return math_sqrt((x2-x1)^2 + (y2-y1)^2)
end

local function contains(tbl, val)
    for i=1,#tbl do
        if tbl[i] == val then
            return true
        end
    end
    return false
end

local function draw_bar(x, y, w, r, g, b, a, percentage, ltr, rev, outline)
    local ltr = ltr == nil and true or ltr
    local rev = rev == nil and false or rev
    local outline = outline == nil and true or outline

    local h = 4
    
    if not (outline and (w > 2 and h > 2) or (w > 0 or h > 0)) then
        error("Invalid arguments. Width and/or height too small")
    end

    local percentage = math_max(0, math_min(1, percentage))

    local x_inner, y_inner = x, y
    local w_inner, h_inner = w, h
    local x_inner_add, y_inner_add = 0, 0

    --outline makes inner rectangle smaller
    if outline then
        w_inner, h_inner = w_inner-2, h_inner-2
        x_inner, y_inner = x_inner+1, y_inner+1
    end

    local w_inner_prev = w_inner
    w_inner, h_inner = math_ceil(w_inner * percentage), h_inner

    --handle reverse bar
    if rev then
        x_inner_add = (w_inner_prev - w_inner)
    end

    --flip width and height if we're dealing with a vertical bar
    if not ltr then
        w, h = h, w
        w_inner, h_inner = h_inner, w_inner
        x_inner_add, y_inner_add = y_inner_add, x_inner_add
    end
    
    local outline_r, outline_b, outline_g, outline_a = 16, 16, 16, 170
    if outline then
        renderer_rectangle(x, y, w, h, outline_r, outline_b, outline_g, outline_a)
    end

    renderer_rectangle(x_inner+x_inner_add, y_inner+y_inner_add, w_inner, h_inner, r, g, b, a)

    return x_inner+x_inner_add, y_inner+y_inner_add, w_inner, h_inner
end

local function is_player(entindex)
    return entity_get_classname(entindex) == "CCSPlayer"
end

local function lerp_pos(x1, y1, z1, x2, y2, z2, percentage)
    local x = (x2 - x1) * percentage + x1
    local y = (y2 - y1) * percentage + y1
    local z = (z2 - z1) * percentage + z1
    return x, y, z
end

local function distance3d(x1, y1, z1, x2, y2, z2)
    return math_sqrt((x2-x1)^2 + (y2-y1)^2 + (z2-z1)^2)
end

local function trace_line_skip(skip_function, x1, y1, z1, x2, y2, z2, max_traces)
    local max_traces = max_traces or 10
    local fraction, entindex_hit = 0, -1
    local x_hit, y_hit, z_hit = x1, y1, z1
    local skip_entindex = -1

    local i=1
    while (entindex_hit == -1 or (entindex_hit ~= 0 and skip_function(entindex_hit))) and 1 > fraction and max_traces >= i do
        fraction, entindex_hit = client_trace_line(entindex_hit, x_hit, y_hit, z_hit, x2, y2, z2)
        x_hit, y_hit, z_hit = lerp_pos(x_hit, y_hit, z_hit, x2, y2, z2, fraction)

        i = i + 1
    end

    local traveled_total = distance3d(x1, y1, z1, x_hit, y_hit, z_hit)
    local total_distance = distance3d(x1, y1, z1, x2, y2, z2)

    return traveled_total/total_distance, entindex_hit
end

local function draw_ground_circle_3d(x, y, z, radius, r, g, b, a, accuracy, width, outline, start_degrees, percentage)
    local accuracy = accuracy ~= nil and accuracy or 3
    local width = width ~= nil and width or 1
    local outline = outline ~= nil and outline or false
    local start_degrees = start_degrees ~= nil and start_degrees or 0
    local percentage = percentage ~= nil and percentage or 1

    local screen_x_line_old, screen_y_line_old
    for rot=start_degrees, percentage*360, accuracy do
        local rot_temp = math_rad(rot)
        local lineX, lineY, lineZ = radius * math_cos(rot_temp) + x, radius * math_sin(rot_temp) + y, z

        local distance = 256

        --local screen_x_line, screen_y_line = renderer_world_to_screen(lineX, lineY, lineZ+distance/2)
        --renderer.text(screen_x_line, screen_y_line-5, 255, 255, 255, 255, "c-", 0, "START")
        --local screen_x_line, screen_y_line = renderer_world_to_screen(lineX, lineY, lineZ-distance/2)
        --renderer.text(screen_x_line, screen_y_line-5, 255, 255, 255, 255, "c-", 0, "END")

        local fraction, entindex_hit = client_trace_line(-1, lineX, lineY, lineZ+distance/2, lineX, lineY, lineZ-distance/2)
        if fraction > 0 and 1 > fraction then
            lineZ = lineZ+distance/2-(distance * fraction)
        end

        local screen_x_line, screen_y_line = renderer_world_to_screen(lineX, lineY, lineZ)
        --renderer.text(screen_x_line, screen_y_line-5, 255, 255, 255, 255, "c-", 0, fraction)
        if screen_x_line ~=nil and screen_x_line_old ~= nil then
            for i=1, width do
                local i=i-1
                renderer_line(screen_x_line, screen_y_line-i, screen_x_line_old, screen_y_line_old-i, r, g, b, a)
            end
            if outline then
                local outline_a = a/255*160
                renderer_line(screen_x_line, screen_y_line-width, screen_x_line_old, screen_y_line_old-width, 16, 16, 16, outline_a)
                renderer_line(screen_x_line, screen_y_line+1, screen_x_line_old, screen_y_line_old+1, 16, 16, 16, outline_a)
            end
        end
        screen_x_line_old, screen_y_line_old = screen_x_line, screen_y_line
    end
end

local function draw_circle_3d(x, y, z, radius, r, g, b, a, accuracy, width, outline, start_degrees, percentage)
    local accuracy = accuracy ~= nil and accuracy or 3
    local width = width ~= nil and width or 1
    local outline = outline ~= nil and outline or false
    local start_degrees = start_degrees ~= nil and start_degrees or 0
    local percentage = percentage ~= nil and percentage or 1

    local screen_x_line_old, screen_y_line_old
    for rot=start_degrees, percentage*360, accuracy do
        local rot_temp = math_rad(rot)
        local lineX, lineY, lineZ = radius * math_cos(rot_temp) + x, radius * math_sin(rot_temp) + y, z
        local screen_x_line, screen_y_line = renderer_world_to_screen(lineX, lineY, lineZ)
        if screen_x_line ~=nil and screen_x_line_old ~= nil then
            for i=1, width do
                local i=i-1
                renderer_line(screen_x_line, screen_y_line-i, screen_x_line_old, screen_y_line_old-i, r, g, b, a)
            end
            if outline then
                local outline_a = a/255*160
                renderer_line(screen_x_line, screen_y_line-width, screen_x_line_old, screen_y_line_old-width, 16, 16, 16, outline_a)
                renderer_line(screen_x_line, screen_y_line+1, screen_x_line_old, screen_y_line_old+1, 16, 16, 16, outline_a)
            end
        end
        screen_x_line_old, screen_y_line_old = screen_x_line, screen_y_line
    end
end

local function lerp(a, b, percentage)
    return b + (b - a) * percentage
end

local function lerp_pos(x1, y1, z1, x2, y2, z2, percentage)
    local x = (x2 - x1) * percentage + x1
    local y = (y2 - y1) * percentage + y1
    local z = (z2 - z1) * percentage + z1
    return x, y, z
end

local function is_molotov_burning(molotov)
    local fire_count = entity_get_prop(molotov, "m_fireCount")
    return fire_count ~= nil and fire_count > 0

    --for i=1, 64 do
    --    if entity_get_prop(molotov, "m_bFireIsBurning", i) == 1 then
    --        return true
    --    end
    --end
    --return false
end

local function on_player_connect_full(e)
    if client_userid_to_entindex(e.userid) == entity_get_local_player() then
        molotovs = {}
        molotovs_temp = {}
    end
end
client.set_event_callback("player_connect_full", on_player_connect_full)

local function on_run_command(e)
    if not ui_get(molotov_radius_reference) then
        return
    end

    --reset everything, get molotovs
    molotovs_temp = {}
    molotovs_cells = {}
    molotovs = entity_get_all("CInferno")

    if #molotovs == 0 then
        return
    end

    local curtime = globals_curtime()

    for i=1, #molotovs do
        local molotov = molotovs[i]
        if is_molotov_burning(molotov) then
            local origin_x, origin_y, origin_z = entity_get_prop(molotov, "m_vecOrigin")

            local cell_radius = 40
            local molotov_radius = 0
            local center_x, center_y, center_z

            local cells = {}
            local cells_checked = {}
            local highest_distance = 0
            local cell_max_1, cell_max_2

            --accumulate burning cells
            for i=1, 64 do
                if entity_get_prop(molotov, "m_bFireIsBurning", i) == 1 then
                    local x_delta = entity_get_prop(molotov, "m_fireXDelta", i)
                    local y_delta = entity_get_prop(molotov, "m_fireYDelta", i)
                    local z_delta = entity_get_prop(molotov, "m_fireZDelta", i)
                    table_insert(cells, {x_delta, y_delta, z_delta})
                end
            end

            for i=1, #cells do
                local cell = cells[i]
                local x_delta, y_delta, z_delta = unpack(cell)

                for i2=1, #cells do
                    local cell2 = cells[i2]
                    local distance = distance(x_delta, y_delta, cell2[1], cell2[2])
                    if distance > highest_distance then
                        highest_distance = distance
                        cell_max_1 = cell
                        cell_max_2 = cell2
                    end
                end
            end

            if cell_max_1 ~= nil and cell_max_2 ~= nil then
                local x1, y1, z1 = origin_x+cell_max_1[1], origin_y+cell_max_1[2], origin_z+cell_max_1[3]
                local x2, y2, z2 = origin_x+cell_max_2[1], origin_y+cell_max_2[2], origin_z+cell_max_2[3]

                local center_x_delta, center_y_delta, center_z_delta = lerp_pos(cell_max_1[1], cell_max_1[2], cell_max_1[3], cell_max_2[1], cell_max_2[2], cell_max_2[3], 0.5)
                local center_x, center_y, center_z = origin_x+center_x_delta, origin_y+center_y_delta, origin_z+center_z_delta
                
                local radius = highest_distance/2+cell_radius

                molotovs_temp[molotov] = {center_x, center_y, center_z, radius}
                molotovs_cells[molotov] = cells
            end
        end
    end
end
client.set_event_callback("run_command", on_run_command)


local function on_paint()
    local smoke_radius = ui_get(smoke_radius_reference)
    local grenade_timer_value = ui_get(grenade_timer_reference)
    local grenade_timer = #grenade_timer_value > 0
    local molotov_team = ui_get(molotov_team_reference)
    local molotov_radius = ui_get(molotov_radius_reference)

    local local_player = entity_get_local_player()

    --make everything work while we're dead, dont really need to care about performance
    if local_player == nil or not entity_is_alive(local_player) or entity_get_prop(local_player, "m_MoveType") == MOVETYPE_NOCLIP then
        on_run_command()
    end

    if molotov_radius then
        local r, g, b, a = ui_get(molotov_radius_color_reference)

        for i=1, #molotovs do
            local molotov = molotovs[i]
            if molotovs_temp[molotov] ~= nil then
                local center_x, center_y, center_z, radius = unpack(molotovs_temp[molotov])
                local a_multiplier = 1

                if molotovs_created_at[grenade] ~= nil then
                    local time_since_created = curtime - molotovs_created_at[grenade]
                    a_multiplier = math_max(0, 1 - time_since_created / molotov_duration)
                end
                draw_circle_3d(center_x, center_y, center_z, radius, r, g, b, a*a_multiplier, 9, 1, true)
            end
        end
    end

    if smoke_radius or grenade_timer or molotov_team then
        local grenades = entity_get_all("CSmokeGrenadeProjectile")
        local tickcount = globals_tickcount()
        local tickinterval = globals_tickinterval()
        local curtime = globals_curtime()

        if grenade_timer or molotov_team then
            local molotovs_created_at_prev = molotovs_created_at
            molotovs_created_at = {}
            for i=1, #molotovs do
                local molotov = molotovs[i]
                if is_molotov_burning(molotov) then
                    molotovs_created_at[molotov] = molotovs_created_at_prev[molotov] ~= nil and molotovs_created_at_prev[molotov] or curtime
                    table_insert(grenades, molotov)
                end
            end
        end
    
        for i=1, #grenades do
            local grenade = grenades[i]
            local class_name = entity_get_classname(grenade)

            local text, wx, wy
            local percentage = 1
            if class_name == "CSmokeGrenadeProjectile" then
                local x, y, z = entity_get_prop(grenade, "m_vecOrigin")
                wx, wy = renderer_world_to_screen(x, y, z)
                local did_smoke_effect = entity_get_prop(grenade, "m_bDidSmokeEffect") == 1
                if wx ~= nil then

                    if did_smoke_effect then
                        local ticks_created = entity_get_prop(grenade, "m_nSmokeEffectTickBegin")
                        if ticks_created ~= nil then
                            local time_since_explosion = tickinterval * (tickcount - ticks_created)
                            if time_since_explosion > 0 and smoke_duration-time_since_explosion > 0 then
                                if grenade_timer then
                                    percentage = 1 - time_since_explosion / smoke_duration
                                    text = string_format("%.1f", smoke_duration-time_since_explosion)
                                end
                                if smoke_radius then
                                    local r, g, b, a = ui_get(smoke_radius_color_reference)
                                    local radius = smoke_radius_units
                                    if 0.3 > time_since_explosion then
                                        radius = radius * 0.6 + (radius * (time_since_explosion / 0.3))*0.4
                                        a = a * (time_since_explosion / 0.3)
                                    end
                                    if 1.0 > smoke_duration-time_since_explosion then
                                        radius = radius * (((smoke_duration-time_since_explosion) / 1.0)*0.3 + 0.7)
                                    end
                                    draw_circle_3d(x, y, z, radius, r, g, b, a*math_min(1, percentage*1.3), 9, 1, true)
                                end
                            end
                        end
                    end
                end
            elseif class_name == "CInferno" then
                if grenade_timer or molotov_team then
                    local x, y, z = entity_get_prop(grenade, "m_vecOrigin")
                    wx, wy = renderer_world_to_screen(x, y, z)
                    if wx ~= nil then
                        if grenade_timer then
                            if molotovs_created_at[grenade] ~= nil then

                                local time_since_created = curtime - molotovs_created_at[grenade]
                                percentage = math_max(0, 1 - time_since_created / molotov_duration)
                                text = string_format("%.1f", math_max(0, molotov_duration - time_since_created))
                            end
                        end
                        if molotov_team then
                            local thrower = entity_get_prop(grenade, "m_hOwnerEntity")
                            local is_safe = false
                            if thrower ~= nil and tonumber(client_get_cvar("mp_friendlyfire")) == 0 and thrower ~= local_player and not entity_is_enemy(thrower) then
                                is_safe = true
                            end
                            if is_safe then
                                renderer_text(wx-19, wy+5, 149, 184, 6, 255*percentage, nil, 0, "✔")
                            else
                                renderer_text(wx-19, wy+4, 230, 21, 21, 255*percentage, nil, 0, "❌")
                            end
                        end
                    end
                end
            end
            if wx ~= nil and text ~= nil then
                --(x, y, w, r, g, b, a, percentage, ltr, rev, outline)
                local a = 255
                if 0.08 > percentage then
                    a = a * percentage/0.08
                end
                if contains(grenade_timer_value, "Bar") then
                    local y_additional = (contains(grenade_timer_value, "Bar") and contains(grenade_timer_value, "Text")) and 1 or 0
                    local x_text, _, w_text, _ = draw_bar(wx-bar_width/2+1, wy+16+y_additional, bar_width, 255, 255, 255, a, percentage, true)
                    if contains(grenade_timer_value, "Text") and 0.56 > percentage then
                        renderer_text(x_text+w_text+5, wy+18+y_additional, 255, 255, 255, a*0.7, "c-", 150, text)
                    end
                elseif contains(grenade_timer_value, "Text") then
                    renderer_text(wx, wy+20, 255, 255, 255, math_max(30, percentage * 255), "c-", 150, text, "  S")
                end
            end
        end
    end
end
client.set_event_callback("paint", on_paint)
 
тебе просто молотов радиус? если да то
Пожалуйста, авторизуйтесь для просмотра ссылки.

апи не позволит точный радиус взять увы
я думаю, что позволит. проблема лишь в том, что не в моих силах все это написать. если нет, то наверно можно как-то сделать так, чтобы радиус расширялся по мануалом записанному скрипту. это я тоже не ебу как сделать, если шаришь - расскажи :)
 
я думаю, что позволит. проблема лишь в том, что не в моих силах все это написать. если нет, то наверно можно как-то сделать так, чтобы радиус расширялся по мануалом записанному скрипту. это я тоже не ебу как сделать, если шаришь - расскажи :)
сам не дохера шарю просто сделай по типу int хрени, и выведи ее в меню как слайдер для радиуса.
 
тебе просто молотов радиус? если да то
Пожалуйста, авторизуйтесь для просмотра ссылки.

апи не позволит точный радиус взять увы
я имею ввиду такую схему:
во время падения радиус будет равен условно 3 юнита (от балды пишу, там уже тестить надо будет), через 0,5 сек будет равен 10 юнитов, через еще 0.5 сек уже 15 юнитов и т.д.
 
я имею ввиду такую схему:
во время падения радиус будет равен условно 3 юнита (от балды пишу, там уже тестить надо будет), через 0,5 сек будет равен 10 юнитов, через еще 0.5 сек уже 15 юнитов и т.д.
апи иссуе
 
сам не дохера шарю просто сделай по типу int хрени, и выведи ее в меню как слайдер для радиуса.
трабла в том, что таймер почему то не работает в js вантапа. иначе я бы уже давно сделал
впрочем не удивлюсь, если так и есть, лень читать его. пишу онли по своим знаниям и гуглу. энивей, надеюсь ты прав
 
трабла в том, что таймер почему то не работает в js вантапа. иначе я бы уже давно сделал

впрочем не удивлюсь, если так и есть, лень читать его. пишу онли по своим знаниям и гуглу. энивей, надеюсь ты прав
погляди на Entity.GetProp(molotov, "CBaseGrenade", "m_flDamage").
дамаг увеличивается вместе с размер молика. используй его как множитель радиуса :roflanEbalo:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Конкретно эта часть отвечает за получение x & y
Y0QR5k5.png
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
iq 100 btw, gamesense luas = otc js lol k
Если не ошибаюсь то можно - таким же образом хукать х & у а потом просто сделать чтоб они инвисибл были и так делать сидеть, а сделать плавно и красиво увы нет
 
Если не ошибаюсь то можно - таким же образом хукать х & у а потом просто сделать чтоб они инвисибл были и так делать сидеть, а сделать плавно и красиво увы нет
почитай апи скита, и почитай апи вантапа
 
iq 100 btw, gamesense luas = otc js lol k
лмао кринге. переписать код на 100 строк сильно сложно? единственное чего нету в вт и есть в апи скита в этом скрипте так это таблицы. их с помощью массива можно заменить брух. простейший код, и ты что-то выпукиваешь, критик блинб
 
лмао кринге. переписать код на 100 строк сильно сложно? единственное чего нету в вт и есть в апи скита в этом скрипте так это таблицы. их с помощью массива можно заменить брух. простейший код, и ты что-то выпукиваешь, критик блинб
Ну перепиши, посмотрю что выйдет
 
погляди на Entity.GetProp(molotov, "CBaseGrenade", "m_flDamage").
дамаг увеличивается вместе с размер молика. используй его как множитель радиуса :roflanEbalo:
по идее, в таком случае радиус молотова будет работать правильно, только если игрок стоит в нем. ведь если игрок не стоит в молике, то и дамага не будет.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Конкретно эта часть отвечает за получение x & y
Y0QR5k5.png
кто-нибудь шарит, m_firexdelta гетается в кряке? если ты правильно выделил часть, в которой гетается радиус, то, по идее, нужен онли m_firexdelta.
 
Назад
Сверху Снизу