Помогите со скриптом, не работает.

rize_watanabe

Новичок
Автор темы
28
10
Писал короче скрипт, скачал imgui как то, потом пошел тестить, я пишу комманду /helper, в аризоне пишет что нет такой комманды, скрипт вообще помошник для цра.

1:
require('lib.moonloader')
local vkeys = require 'vkeys'
local imgui = require 'imgui'

local showMenu = false

function main()
    while not isSampAvailable() do wait(0) end
  
    local redColor = 0xFF0000 -- Красный цвет
    local whiteColor = 0xFFFFFF -- Белый цвет
  
    sampAddChatMessage('[Helper.Lua]', redColor) -- Установить цвет "Helper.Lua" на красный
    sampAddChatMessage('Хелпер успешно загружен, приятного пользования!!', whiteColor) -- белым цветом
    sampAddChatMessage('Автор скрипта: baphmet66s', whiteColor) --белым цветом
    sampAddChatMessage('Чтобы открыть меню, напишите: /Helper', whiteColor) -- белым цветом
  
    while true do
        wait(0)
        if isKeyDown(vkeys.VK_F12) then
            showMenu = not showMenu
        end
    end 
end

function renderMenu()
    imgui.Begin('Helper Menu', imgui.ImGuiWindowFlags.AlwaysAutoResize)
    if imgui.Button('Скупка') then
        sampAddChatMessage('Вы выбрали скупку', -1)
        -- Тут можно добавить действия при выборе скупки
    end
    if imgui.Button('Продажа') then
        sampAddChatMessage('Вы выбрали продажу', -1)
        -- Тут можно добавить действия при выборе продажи
    end
    imgui.End()
end

function cmd_helper()
    sampAddChatMessage('Меню открыто', -1)
    showMenu = true
end

function com()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand("Helper", cmd_helper)
  
    while true do
        wait(0)
        if showMenu then
            imgui.Process = true
            renderMenu()
        else
            imgui.Process = false
        end
    end
end
 

chromiusj

Известный
Модератор
5,652
3,954
Привет,хотел показать тебе как сделать на imgui,но стало лень смотреть синтаксик,поэтому как-то вот.
На mimgui:
Lua:
require('lib.moonloader')
local imgui = require ('mimgui')
local encoding = require ('encoding')
encoding.default = 'CP1251'
u8 = encoding.UTF8

local renderWindow = imgui.new.bool() -- наша переменная окна,вместо imgui.ImBool()

local newFrame = imgui.OnFrame(
    function() return renderWindow[0] end,
    function(player)
        local resX, resY = getScreenResolution()
        local sizeX, sizeY = 300, 300
        imgui.SetNextWindowPos(imgui.ImVec2(resX / 2, resY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(sizeX, sizeY), imgui.Cond.FirstUseEver)
        if imgui.Begin('Helper Menu', renderWindow,imgui.WindowFlags.NoResize) then -- почему if? потому что это нормы mimgui(#NorthN)
            if imgui.Button(u8'Скупка') then
                sampAddChatMessage('Вы выбрали скупку', -1)
                -- Тут можно добавить действия при выборе скупки
            end
            if imgui.Button(u8'Продажа') then
                sampAddChatMessage('Вы выбрали продажу', -1)
                -- Тут можно добавить действия при выборе продажи
            end
            imgui.End()
        end
    end
)
function main()
    while not isSampAvailable() do wait(0) end
    local redColor = 0xFF0000 -- Красный цвет
    local whiteColor = 0xFFFFFF -- Белый цвет
 
    sampAddChatMessage('[Helper.Lua]', redColor) -- Установить цвет "Helper.Lua" на красный
    sampAddChatMessage('Хелпер успешно загружен, приятного пользования!!', whiteColor) -- белым цветом
    sampAddChatMessage('Автор скрипта: baphmet66s', whiteColor) --белым цветом
    sampAddChatMessage('Чтобы открыть меню, напишите: /helper', whiteColor) -- белым цветом
    sampRegisterChatCommand("helper", function () -- как видишь функция открытая
        renderWindow[0] = not renderWindow[0] -- в данном случае мы делаем вместо .v как в imgui,[0] - для mimgui
        sampAddChatMessage(renderWindow[0] and 'Меню открыто' or 'Меню закрыто', -1) -- сделал сразу без функции,так удобнее
    end) -- закрываем функцию
    while true do
        wait(0)
        if isKeyDown(VK_F12) then -- писать vkeys.KEY_CODE не нужно,так как эта библиотека уже встроена в moonloader,и поэтому пиши require('lib.moonloader')
            renderWindow[0] = not renderWindow[0] -- более простой вид в отлиии от if else
        end
    end
end
 

rize_watanabe

Новичок
Автор темы
28
10
Привет,хотел показать тебе как сделать на imgui,но стало лень смотреть синтаксик,поэтому как-то вот.
На mimgui:
Lua:
require('lib.moonloader')
local imgui = require ('mimgui')
local encoding = require ('encoding')
encoding.default = 'CP1251'
u8 = encoding.UTF8

local renderWindow = imgui.new.bool() -- наша переменная окна,вместо imgui.ImBool()

local newFrame = imgui.OnFrame(
    function() return renderWindow[0] end,
    function(player)
        local resX, resY = getScreenResolution()
        local sizeX, sizeY = 300, 300
        imgui.SetNextWindowPos(imgui.ImVec2(resX / 2, resY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(sizeX, sizeY), imgui.Cond.FirstUseEver)
        if imgui.Begin('Helper Menu', renderWindow,imgui.WindowFlags.NoResize) then -- почему if? потому что это нормы mimgui(#NorthN)
            if imgui.Button(u8'Скупка') then
                sampAddChatMessage('Вы выбрали скупку', -1)
                -- Тут можно добавить действия при выборе скупки
            end
            if imgui.Button(u8'Продажа') then
                sampAddChatMessage('Вы выбрали продажу', -1)
                -- Тут можно добавить действия при выборе продажи
            end
            imgui.End()
        end
    end
)
function main()
    while not isSampAvailable() do wait(0) end
    local redColor = 0xFF0000 -- Красный цвет
    local whiteColor = 0xFFFFFF -- Белый цвет
 
    sampAddChatMessage('[Helper.Lua]', redColor) -- Установить цвет "Helper.Lua" на красный
    sampAddChatMessage('Хелпер успешно загружен, приятного пользования!!', whiteColor) -- белым цветом
    sampAddChatMessage('Автор скрипта: baphmet66s', whiteColor) --белым цветом
    sampAddChatMessage('Чтобы открыть меню, напишите: /helper', whiteColor) -- белым цветом
    sampRegisterChatCommand("helper", function () -- как видишь функция открытая
        renderWindow[0] = not renderWindow[0] -- в данном случае мы делаем вместо .v как в imgui,[0] - для mimgui
        sampAddChatMessage(renderWindow[0] and 'Меню открыто' or 'Меню закрыто', -1) -- сделал сразу без функции,так удобнее
    end) -- закрываем функцию
    while true do
        wait(0)
        if isKeyDown(VK_F12) then -- писать vkeys.KEY_CODE не нужно,так как эта библиотека уже встроена в moonloader,и поэтому пиши require('lib.moonloader')
            renderWindow[0] = not renderWindow[0] -- более простой вид в отлиии от if else
        end
    end
end
спасибочки
 
  • Нравится
Реакции: chromiusj