Про имгуи

izicapt

Известный
Автор темы
338
103
Версия MoonLoader
.027.0-preview
Короч,пытаюсь я сделать телепорт на сервер где вообще античита 0
Поэтом прост пишу в скрипте телепорт
Но чет когда добавляю следующию кнопку в скрипт он крашится


govnocod:
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local window = imgui.ImBool(false)

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('atp', function()
        window.v = not window.v
        imgui.Process = window.v
    end)
    while true do
        wait(0)
        if window.v == false then
            imgui.Process = false
        end
    end
end

function imgui.OnDrawFrame()
    if window.v then
        imgui.SetNextWindowPos(imgui.ImVec2(350.0, 250.0), imgui.Cond.FirstUseEver)
        imgui.SetNextWindowSize(imgui.ImVec2(280.0, 70.0), imgui.Cond.FirstUseEver)
        imgui.Begin('Teleport by ya', window)

        imgui.Text('Выберай телепорт Гарри...')

        if imgui.Button('Bomjatnik') then
            setCharCoordinates(PLAYER_PED, -2724.52, 923.76, 67.32)
            sampAddChatMessage('Mega Private TP Success!', -1)
        if  imgui.Button("Bank SF") then     -- От сюда
                    setCharCoordinates(PLAYER_PED,-2140.55,253.17,38.93)
                    sampAddChatMessage("Супер Мега дупер телепорт сработал :)", -1)   -- после добавление этих строк скрипт крашится
        end

        imgui.End()
    end
end
 

meowprd

Тот самый Котовский
Проверенный
1,280
712
Ты потерял один end после if imgui.Button("Bomjatnik")

Lua:
function imgui.OnDrawFrame()
    if window.v then
        imgui.SetNextWindowPos(imgui.ImVec2(350.0, 250.0), imgui.Cond.FirstUseEver)
        imgui.SetNextWindowSize(imgui.ImVec2(280.0, 70.0), imgui.Cond.FirstUseEver)
        imgui.Begin('Teleport by ya', window)

        imgui.Text('Выберай телепорт Гарри...')

        if imgui.Button('Bomjatnik') then
            setCharCoordinates(PLAYER_PED, -2724.52, 923.76, 67.32)
            sampAddChatMessage('Mega Private TP Success!', -1)
        end
        if  imgui.Button("Bank SF") then     -- От сюда
                    setCharCoordinates(PLAYER_PED,-2140.55,253.17,38.93)
                    sampAddChatMessage("Супер Мега дупер телепорт сработал :)", -1)
        end

        imgui.End()
    end
end

выделил линию где был потерян end
 
  • Нравится
Реакции: izicapt

izicapt

Известный
Автор темы
338
103
Ты потерял один end после if imgui.Button("Bomjatnik")

Lua:
function imgui.OnDrawFrame()
    if window.v then
        imgui.SetNextWindowPos(imgui.ImVec2(350.0, 250.0), imgui.Cond.FirstUseEver)
        imgui.SetNextWindowSize(imgui.ImVec2(280.0, 70.0), imgui.Cond.FirstUseEver)
        imgui.Begin('Teleport by ya', window)

        imgui.Text('Выберай телепорт Гарри...')

        if imgui.Button('Bomjatnik') then
            setCharCoordinates(PLAYER_PED, -2724.52, 923.76, 67.32)
            sampAddChatMessage('Mega Private TP Success!', -1)
        end
        if  imgui.Button("Bank SF") then     -- От сюда
                    setCharCoordinates(PLAYER_PED,-2140.55,253.17,38.93)
                    sampAddChatMessage("Супер Мега дупер телепорт сработал :)", -1)
        end

        imgui.End()
    end
end

выделил линию где был потерян end
Как знал что ошибка в такой мелочи...
 

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,776
11,229
если планируешь делать много кнопок, то так будет проще
Lua:
local poits = {
    {name = 'нулевые коорды', pos = {0, 0, 0}},
    {name = 'коорды 1 1 1', pos = {1, 1, 1}},
}

for i = 1, #points do
    if imgui.Button(u8(points[i].name), imgui.ImVec2(150, 20)) then
        setCharCoordinates(PLAYER_PED, points[i].pos[1], points[i].pos[2], points[i].pos[3])
        sampAddChatMessage('Вы были телепортированы на точку "'..points[i].name..'"!', -1)
    end
end
 
  • Нравится
Реакции: izicapt

izicapt

Известный
Автор темы
338
103
Ты потерял один end после if imgui.Button("Bomjatnik")

Lua:
function imgui.OnDrawFrame()
    if window.v then
        imgui.SetNextWindowPos(imgui.ImVec2(350.0, 250.0), imgui.Cond.FirstUseEver)
        imgui.SetNextWindowSize(imgui.ImVec2(280.0, 70.0), imgui.Cond.FirstUseEver)
        imgui.Begin('Teleport by ya', window)

        imgui.Text('Выберай телепорт Гарри...')

        if imgui.Button('Bomjatnik') then
            setCharCoordinates(PLAYER_PED, -2724.52, 923.76, 67.32)
            sampAddChatMessage('Mega Private TP Success!', -1)
        end
        if  imgui.Button("Bank SF") then     -- От сюда
                    setCharCoordinates(PLAYER_PED,-2140.55,253.17,38.93)
                    sampAddChatMessage("Супер Мега дупер телепорт сработал :)", -1)
        end

        imgui.End()
    end
end

выделил линию где был потерян end
Скопировал твой код,и все равно крашит скрипт :/
 

qdIbp

Автор темы
Проверенный
1,388
1,146
Скопировал твой код,и все равно крашит скрипт :/
Lua:
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local window = imgui.ImBool(false)

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('atp', function() window.v = not window.v end)
    while true do wait(0)
           imgui.Process = window.v
    end
end

function imgui.OnDrawFrame()
    if window.v then
        imgui.SetNextWindowPos(imgui.ImVec2(350.0, 250.0), imgui.Cond.FirstUseEver)
        imgui.SetNextWindowSize(imgui.ImVec2(280.0, 90.0), imgui.Cond.FirstUseEver)
        imgui.Begin('Teleport by ya', window)
            imgui.Text(u8'Выберай телепорт Гарри...')
            if imgui.Button('Bomjatnik') then
                setCharCoordinates(PLAYER_PED, -2724.52, 923.76, 67.32)
                sampAddChatMessage('Mega Private TP Success!', -1)
            end
            if imgui.Button("Bank SF") then     -- От сюда
                setCharCoordinates(PLAYER_PED,-2140.55,253.17,38.93)
                sampAddChatMessage("Супер Мега дупер телепорт сработал :)", -1)   -- после добавление этих строк скрипт крашится
            end

        imgui.End()
    end
end

Полюбите табуляцию 😟