LUA скрипт [NIXWARE] Проверка состояния игрока: in slow walking, in air, standing, running, crouching(standing), crouching(moving), crouching(in air)

Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Предпочитаю +- вот так, anyway это лучше чем писать local draw = function()
Посмотреть вложение 188409
А ещё это анкракабле система, написать деобфускатор, который засканит\проигнорирует .self таблицу очень сложно (потратил добрых 2 дня на изучения этого говна)
Да и плюс легче написать либу для себя и закинуть её сразу туда, чтобы потом сразу писать готовые функции и не искать среди тысячи строк.
 
А ещё это анкракабле система, написать деобфускатор, который засканит\проигнорирует .self таблицу очень сложно (потратил добрых 2 дня на изучения этого говна)
Да и плюс легче написать либу для себя и закинуть её сразу туда, чтобы потом сразу писать готовые функции и не искать среди тысячи строк.
когда пишешь скрипты под неверлуз, про это можно спокойно забыть, ибо маркет вешь хорошая
 
А голосовой помощник, который будет озвучивать в каком состоянии енеми есть? Просто скрипт очевидно для слепых
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
жду твоего туториала по луа, интересно будет увидеть твой кодстайл полностью
мне ленгь чет делать, + весь мой код стайл и есть в этом, другого ты ничего не увидишь
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
RU:
Вот скрипт, позволяющий вычислить состояние игрока [in slow walking, in air, standing, running, crouching(standing), crouching(moving), crouching(in air)].
Постарался максимально возможно всё прокомментировать, что бы всем всё было понятно.
ENG:
Here is a script, than calculate the state of the player [in slow walking, in air, standing, running, crouching(standing), crouching(moving), crouching(in air)].
I tried to comment on everything as much as possible(in russian, use translator) so that everyone would understand everything.

code_language.lua:
Expand Collapse Copy
local slowWalkActive = ui.get_key_bind("antihit_extra_slowwalk_bind")
local fontLogo = renderer.setup_font("C:/windows/fonts/verdanab.ttf", 30, 0)
local positionDetected = "standing"
local screen = engine.get_screen_size()
local localPlayer = entitylist.get_local_player()

local function indicators()
    if engine.is_connected() then            -- Проверяем подключены ли мы к серверу, иначе смысла от выполнения кода не будет
        m_vecVelocity = {
            [0] = se.get_netvar("DT_BasePlayer", "m_vecVelocity[0]"),
            [1] = se.get_netvar("DT_BasePlayer", "m_vecVelocity[1]")
        }
        velocity = math.sqrt(localPlayer:get_prop_float(m_vecVelocity[0]) ^ 2 + localPlayer:get_prop_float(m_vecVelocity[1]) ^ 2)    -- Вычисляем скорость игрока
        m_hGroundEntity = localPlayer:get_prop_int(se.get_netvar("DT_BasePlayer", "m_hGroundEntity"))        -- Через нетвар "DT_BasePlayer", и его оффсет "m_hGroundEntity" вычисляем, на земле ли персонаж
        m_bDucked = localPlayer:get_prop_int(se.get_netvar("DT_BasePlayer", "m_bDucked"))                    -- Через нетвар "DT_BasePlayer", и его оффсет "m_bDucked" вычисляем, находится ли персонаж в состоянии присяда. Важно заметить, что если персонаж будет находится не на земле, но с зажатым контролом, оффсет будет выдавать что персонаж не находится в состоянии присяда, эта информация нам позже пригодится
        if slowWalkActive:is_active() and m_hGroundEntity ~= -1 and m_bDucked == 0 and math.floor(velocity) > 1 then    -- Проверяем, идёт ли игрок на слоуволке
            positionDetected = "in slow walking"      -- Если да, то записываем это в переменную "positionDetected", в которой в конечном итоге будет храниться информация о состоянии игрока
        else
            if  m_hGroundEntity == -1 then            -- Если персонаж не на земле, то...
                if client.is_key_pressed(162) then            -- Тут происходит проверка на нахождение персонажа в воздухе в состоянии присяда, но как я говорил ранее, оффсет "m_bDucked" сделать такую проверку не позволит, так что воспользуемcя "кастылём" и делаем проверку на зажатую клавишу "ctrl"
                    positionDetected = "crouching(in air)"    -- Если да - вписываем информацию об этом в переменную
                else
                    positionDetected = "in air"               -- А если контрол не нажат, значит персонаж просто находится в воздухе, записываем это в переменную
                end
            elseif m_bDucked == 0 and math.floor(velocity) > 1 and m_hGroundEntity ~= -1 and not slowWalkActive:is_active() then     -- Тут происходит проверка на то, бежит ли игрок
                positionDetected = "running"       -- Если та - записываем в переменную
            else
                if m_bDucked == 1 and math.floor(velocity) <= 1 then     -- Если нет, то остаётся три варианта: Персонаж находится в состоянии присяда и НЕ двигается[crouching(standing)], персонаж находится в состоянии приcяда и двигается[crouching(moving)] или персонаж просто стоит[standing]
                    positionDetected = "crouching(standing)"
                elseif m_bDucked == 1 then
                    positionDetected = "crouching(moving)"
                else
                    positionDetected = "standing"
                end
            end
        end
    end
    renderer.text(positionDetected, fontLogo, vec2_t.new(screen.x / 2, screen.y / 2 + 20), 14, color_t.new(252, 199, 248, 255))   -- Выводим информацию о состоянии игрока на экран
end

client.register_callback("paint", indicators)

В основном это написано для начинающих недо-пастерков как я, которые даже не знают что такое нетвары..
ебать код
 
Назад
Сверху Снизу