Помощь! Не роботает скрипт.....

Maksimich1337

Новичок
Автор темы
6
2
Версия MoonLoader
Другое
Всем привет, сидел писал скрипт, суть скрипта просто взял код lua /fd, пытался переписать его на ImGui, вылазит ошибка
не исключение, что я не много тупенький и мог забыть скачать библиотеки ImGui, обновить moonloader и т.д.

Ошибка в консоле:] (error) fd+.lua: C:\Users\User\Desktop\REDAN\moonloader\fd+.lua:64: ')' expected (to close '(' at line 63) near '<eof>' [ML] (error) fd+.lua: Script died due to an error. (11059A04)
Скрипт:
lua:
script_author('LUCHARE')
script_url('blast.hk')
local inicfg = require 'inicfg'
local ffi = require 'ffi'
local imgui = require 'imgui'
local sampev = require 'lib.samp.events'
local cfg = inicfg.load({ general = { dist = 1200.0; cmd_alias = 'fd'; } }, 'fogdist' )
local settings = cfg.general
local cast = ffi.cast
local draw_dist = cast('float *', 0x00B7C4F0)
cast('unsigned char *', 0x005609FF)[0] = 0xEB
cast('unsigned char *', 0x00561344)[0] = 0xEB

function set_fog_dist(m)
    if m > 3600.0 or m < 0 then
        return false
    end
    draw_dist[0] = m
    settings.dist = m
    return true
end

function cmdproc_set_fog_dist(param)
    param = tonumber(param)
    if param ~= nil then
        if not set_fog_dist(param) then
            sampAddChatMessage('[FogDist] {FFFFFF}Неверное значение', 0xFF5000)
        end
    end
end

function main()
    while not isSampAvailable() do
        wait(100)
    end
   
    -- активация скрипта на команду /fd
    sampRegisterChatCommand(settings.cmd_alias, cmdproc_set_fog_dist)
   
    -- пользовательская команда (возможность изменить команду)
    local udc = settings.cmd_alias
    if udc then
        sampRegisterChatCommand(udc, cmdproc_set_fog_dist)
    end
   
    -- применить сохраненное расстояние
    set_fog_dist(settings.dist)
   
    -- imgui окно
    imgui.Process = false
    while true do
        wait(0)
        if isKeyDown(VK_F9) and not sampIsChatInputActive() then
            imgui.Process = not imgui.Process
        end
        if imgui.Process then
            imgui.SetNextWindowSize(400, 100, ImGuiCond_FirstUseEver)
            imgui.Begin('Fog Distance', imgui.Process, ImGuiWindowFlags_AlwaysAutoResize)
            local success, dist = imgui.SliderInt('Fog Distance', settings.dist, 0, 3600)
            if success then
                set_fog_dist(dist)
            end
            imgui.End()
        end
    end
end

function onScriptTerminate(script, quitGame)
    if script == thisScript() then
        inicfg.save(cfg, 'fogdist')
    end
end

function onScriptLoad(script)
    if script == thisScript() then
        end
sampAddChatMessage('[FD] Скрипт Загружен!', 0x00FF00)
 
  • Эм
  • Ха-ха
Реакции: Sadow и YarikVL

Garug

Потрачен
9
3
Ошибка говорит о том, что в строке 64 не хватает закрывающей скобки ')' для открытой скобки '(' на строке 63.

Исправленный код, где скобки в строках 63 и 64 правильно расставлены:
Lua:
function onScriptLoad(script)
    if script == thisScript() then
        sampAddChatMessage('[FD] Скрипт Загружен!', 0x00FF00)
    end
end
 
  • Ха-ха
Реакции: qdIbp

Andrinall

Известный
702
518
Изменил ошибку в коде.
Теперь другая ошибка в консоле:
[ML] (error) fogdist (1).lua: opcode '0AF8' call caused an unhandled exception
stack traceback:
ML] (error) fogdist (1).lua: Script died due to an error. (0F33A704)
Не используй функции samp........... до полной загрузки сампа(isSampAvailable()) и будет тебе радость.