проблема в имгуи

Kegwineye.

Участник
Автор темы
478
20
cannot resume non-suspended coroutine
stack traceback:
[C]: in function 'sampGetPlayerNickname'

[ML] (error) mulri-cheat-menu.lua: cannot resume non-suspended coroutine
stack traceback:
[C]: in function 'sampGetPlayerNickname'
...ames\GTA-SA\Babetape GTA\moonloader\mulri-cheat-menu.lua:68: in function <...ames\GTA-SA\Babetape GTA\moonloader\mulri-cheat-menu.lua:26>
[ML] (error) mulri-cheat-menu.lua: Script died due to an error. (0BDBFDBC)

@chapo


Код:
local imgui = require('imgui')
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local player_nick = sampGetPlayerNickname(player_id)

local activate = true

local checkinfobar = imgui.ImBool()
local checkdopinfobar = imgui.ImBool()
local themes = import "resource/imgui_themes.lua"
local window = imgui.ImBool(false)
local settings = {
    enabled = imgui.ImBool(false),
    line = imgui.ImBool(false),
    info = imgui.ImBool(false),
    call = imgui.ImBool(false),
    GodMode = imgui.ImBool(false),
    Bone = imgui.ImBool(false),
    BoneBox = imgui.ImBool(false),
    gunskill = imgui.ImBool(false)
}
local font = renderCreateFont('Arial Black', 10, 5)

function main()
    while not isSampAvailable() do wait(200) end

-- открытие меню
sampRegisterChatCommand('ch', function() window.v = not window.v end)
    imgui.Process = false
    window.v = true  --show window
                   imgui.SwitchContext()
    themes.SwitchColorTheme(5)
    activate = not activate
    if activate then
        setCharProofs(playerPed, true, true, true, true, true)
        writeMemory(0x96916E, 1, 1, false)
    else
        setCharProofs(playerPed, false, false, false, false, false)
        writeMemory(0x96916E, 1, 0, false)
    end
    while true do
        wait(0)
        imgui.Process = window.v

        if settings.GodMode.v then
                setCharProofs(playerPed, true, true, true, true, true)
                writeMemory(0x96916E, 1, 1, false)
            else
                setCharProofs(playerPed, false, false, false, false, false)
                writeMemory(0x96916E, 1, 0, false)
            end
        if settings.enabled.v then
            for k, v in pairs(getAllChars()) do
                local myX, myY, myZ = getCharCoordinates(PLAYER_PED)
                local x, y, z = getCharCoordinates(v)
                local r_myX, r_myY = convert3DCoordsToScreen(myX, myY, myZ)
                local r_X, r_Y = convert3DCoordsToScreen(x, y, z)
                if settings.line.v then
                    if v ~= PLAYER_PED and isCharOnScreen(v) then
                        renderDrawLine(r_myX, r_myY, r_X, r_Y, 3, 0xFFA9A9A9)
                    end
                end
                if settings.info.v then
                    if v ~= PLAYER_PED and isCharOnScreen(v) then
                        _, id = sampGetPlayerIdByCharHandle(v)
                        renderFontDrawText(font, '\n{C0C0C0}Nick: {FF4500}' ..sampGetPlayerNickname(id).. '  {C0C0C0}[ID]: '..id..'\n{FF0000}HealthPoint: {FFFFFF}'..sampGetPlayerHealth(id)..'\n{4169E1}Armour: {FFFFFF}'..getCharArmour(v), r_X, r_Y, 0xFFFFFFFF, 0x90000000)
                    end
                end
            end
        end
    end
end

if settings.gunskill.v then
           registerIntStat(70, 1000.0)
        registerIntStat(71, 1000.0)
        registerIntStat(72, 1000.0)
        registerIntStat(76, 1000.0)
       registerIntStat(77, 1000.0)
      registerIntStat(78, 1000.0)
    registerIntStat(79, 1000.0)
end

function imgui.OnDrawFrame()
    if window.v then
        imgui.SetNextWindowPos(imgui.ImVec2(650.0, 250.0), imgui.Cond.FirstUseEver)
        imgui.SetNextWindowSize(imgui.ImVec2(608.0, 370.0), imgui.Cond.FirstUseEver)
        imgui.Begin('Multi-Cheat Menu | By Han', window)
        imgui.BeginChild("Osnova", imgui.ImVec2(600, 337), true)
        if imgui.CollapsingHeader('WallHack Settings') then
        imgui.Checkbox(u8'Включить WallHack', settings.enabled)
        imgui.Checkbox(u8'Линия к игрокам', settings.line)
        imgui.SameLine()
        imgui.Checkbox(u8'Информация о игроках', settings.info)
             imgui.Checkbox(u8"Кости игрока", settings.Bone)
             imgui.SameLine()
     imgui.Checkbox(u8"Бокс на игроке", settings.BoneBox)
 end
     imgui.Separator()
             if imgui.CollapsingHeader(u8'Полезные Функции') then
             imgui.Checkbox(u8"Бессмертие", settings.GodMode)
             imgui.Checkbox(u8"Фулл скиллы оружия", settings.gunskill)
        end
             imgui.Separator()
     imgui.EndChild()
        imgui.End()
    end
end