Не запускается скрипт.

Ghost_

Новичок
Автор темы
2
0
Мне очень нужна такая функция в игре, попытался написать скрипт он не запустился, прогнал его через ChatGPT таже история.
Помогите.
Скрипт должен показывать нагрузку на центральный процессор в левом нижнем углу игры (Как счётчик FPS только для CPU)
Писал в Notepad++
В консоли выдаёт такую ошибку:
Ошибка::
[ML] (error) cpu.lua: lua: error: bad argument #2 to 'addEventHandler' (function expected)
stack traceback:
    [C]: in function 'addEventHandler'
    ...na Games Launcher\bin\rodina zima V.3\moonloader\cpu.lua:17: in main chunk
[ML] (error) cpu.lua: Script died due to an error. (19F0E954
Код:
cpu.lua:
function getCPUUsage()
    -- Замените на реальную функцию получения загрузки ЦП
    return math.random(0, 100)  -- Временный код для демонстрации
end

function onDraw()
    outputDebugString("onDraw вызван")  -- Проверка на вызов функции отрисовки
    local cpuUsage = getCPUUsage()  -- Получаем загрузку ЦП
    local text = string.format("Загрузка ЦП: %.2f%%", cpuUsage)

    -- Рисуем текст в левом нижнем углу
    dxDrawText(text, 10, 10, tocolor(255, 255, 255, 255), 1, "default", "left", "top")
end

-- Проверка, существует ли функция перед привязкой
if onDraw ~= nil and type(onDraw) == "function" then
    addEventHandler("onClientRender", root, onDraw)
else
    outputDebugString("Функция onDraw не определена или не является функцией")
end
 

Вложения

  • cpu.lua
    1,014 байт · Просмотры: 1

apty

Активный
193
84
чатжпт не может в скрипты под мун, так что лучше смирится
вполне может, только надо указать на чем писать конкретнее, скажи допустим "используй moonloader api а так же библиотеку samp.events документацию о которой ты можешь найти тут blast.hk"
 

plalkeo

Известный
760
306
вполне может, только надо указать на чем писать конкретнее, скажи допустим "используй moonloader api а так же библиотеку samp.events документацию о которой ты можешь найти тут blast.hk"
он это сделает если дашь ему доступ в интернет, без него - как у автора сверху будет результат
 

Ghost_

Новичок
Автор темы
2
0
Итог:
Получился работающий код который показывает загруженность процессора с обновлением раз в секунду, но почему-то не меняется позиция текста, мне нужно сместить его в правый нижний угол, но сколько бы я не менял позицию текста в строке: printStringNow("CPU Load: " .. cpuLoad .. "%", 2000, 1920, 1280) ничего не происходит
Код:
script_name("CPULOAD")
local activation = false

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand("cpuload", cpuload_cmd)

    while true do
        wait(1000)  -- Обновление каждые 1000 мс (1 секунда)
        if activation then
            displayCPULoad()
        end
    end
end

function cpuload_cmd()
    if activation then
        activation = false
        printStringNow("CPU Load: Off", 2000)
    else
        activation = true
        printStringNow("CPU Load: On", 2000)
    end
end

function displayCPULoad()
    local cpuLoad = getCPULoad()
    printStringNow("CPU Load: " .. cpuLoad .. "%", 2000, 1920, 1280) -- Позиция в правом нижнем углу
end

function getCPULoad()
    return math.random(0, 100)
end
Сократил только время обновления чтобы было почти в реальном времени (300мс) меньше ставить нет смысла т.к. очень быстро меняются значения
Код:
script_name("CPULOAD")
local activation = false

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand("cpuload", cpuload_cmd)

    while true do
        wait(300)  -- Обновление каждые 300 мс
        if activation then
            displayCPULoad()
        end
    end
end

function cpuload_cmd()
    if activation then
        activation = false
        printStringNow("CPU Load: Off", 2000)
    else
        activation = true
        printStringNow("CPU Load: On", 2000)
    end
end

function displayCPULoad()
    local cpuLoad = getCPULoad()  -- Получаем загрузку ЦП
    printStringNow("CPU Load: " .. cpuLoad .. "%", 2500)  -- Отображаем текст
end


function getCPULoad()
    return math.random(0, 100)  -- Случайное значение для примера. Замените на реальный код
end
 

Вложения

  • cpu v1.0.lua
    1.1 KB · Просмотры: 0
  • cpu v1.1.lua
    1,014 байт · Просмотры: 0
Последнее редактирование: