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

Забаненный
Статус
Оффлайн
Регистрация
23 Авг 2020
Сообщения
2,110
Реакции[?]
597
Поинты[?]
10K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Предпочитаю +- вот так, anyway это лучше чем писать local draw = function()
Посмотреть вложение 188409
А ещё это анкракабле система, написать деобфускатор, который засканит\проигнорирует .self таблицу очень сложно (потратил добрых 2 дня на изучения этого говна)
Да и плюс легче написать либу для себя и закинуть её сразу туда, чтобы потом сразу писать готовые функции и не искать среди тысячи строк.
 
Олдфаг
Статус
Оффлайн
Регистрация
28 Дек 2018
Сообщения
2,585
Реакции[?]
1,437
Поинты[?]
1K
А ещё это анкракабле система, написать деобфускатор, который засканит\проигнорирует .self таблицу очень сложно (потратил добрых 2 дня на изучения этого говна)
Да и плюс легче написать либу для себя и закинуть её сразу туда, чтобы потом сразу писать готовые функции и не искать среди тысячи строк.
когда пишешь скрипты под неверлуз, про это можно спокойно забыть, ибо маркет вешь хорошая
 
Пользователь
Статус
Оффлайн
Регистрация
15 Июл 2021
Сообщения
233
Реакции[?]
85
Поинты[?]
0
А голосовой помощник, который будет озвучивать в каком состоянии енеми есть? Просто скрипт очевидно для слепых
 
Забаненный
Статус
Оффлайн
Регистрация
22 Авг 2019
Сообщения
364
Реакции[?]
145
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Олдфаг
Статус
Оффлайн
Регистрация
28 Дек 2018
Сообщения
2,585
Реакции[?]
1,437
Поинты[?]
1K
жду твоего туториала по луа, интересно будет увидеть твой кодстайл полностью
мне ленгь чет делать, + весь мой код стайл и есть в этом, другого ты ничего не увидишь
 
Забаненный
Статус
Оффлайн
Регистрация
23 Авг 2020
Сообщения
2,110
Реакции[?]
597
Поинты[?]
10K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
23 Авг 2020
Сообщения
2,110
Реакции[?]
597
Поинты[?]
10K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Участник
Статус
Оффлайн
Регистрация
29 Дек 2019
Сообщения
381
Реакции[?]
168
Поинты[?]
3K
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:
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)
В основном это написано для начинающих недо-пастерков как я, которые даже не знают что такое нетвары..
ебать код
 
Сверху Снизу