lua меню, активация на клавишу / команду

Andrew_Grossman

Новичок
Автор темы
26
6
привет, нужен человек который шарит в программировании, lua
как сделать меню для скрипта, что бы там была задержка ?
подробнее о скрипте: на нубо рп есть коды ( делают админы и т.д в /ao ) написал код, где за тебя будет вводить код который написал администратор, но хочу сделать меню где можно выбрать задержку для ввода кода, или капчи, типо что бы не сразу вводил, а спустя столько, сколько выбрал я, к примеру код написали в 11:45:28, а скрипт написал за меня в 11:45:31
типо меню ахк, сколько задержка, активация какая
и как сделать активацию на команду, или на клавишу
 

MLycoris

Режим чтения
Проверенный
1,823
1,869
если я правильно понял, тебе нужно это

Или ты имеешь ввиду готовый вариант?
 
  • Нравится
Реакции: YarikVL и фидарза

schtolz

Известный
116
67
Я так понимаю тебе нужно отловить некоторую капчу в чате?
Для этого тебе нужно событие sampev.onServerMessage(color,text)
В нем через string.find ловишь сообщение и после него пишешь sampSendChat('text')
Пример:
Lua:
local sampev = require 'lib.events.samp'

local zaderzhka = 10

local active = false



function main()

    if not isSampLoaded() or not isSampfuncsLoaded() then return end

    while not isSampAvailable() do wait(100) end



    sampRegisterChatCommand('zaderk',zaderzk)

    sampRegisterChatCommand('lover',function( active = not active end))

  

    while true do

        wait(0)

    end

end



function sampev.OnServerMessage(text,color)



    if active then

        if string.find(text,"Сообщение которое нужно поймать") then

            lua_thread.create(function()

            wait(zaderzhka)

            sampSendChat("Что тебе нужно отправить")

            )

        end

    end



end



function zaderzk(arg) zaderzhka = arg end
 
Последнее редактирование:
  • Bug
Реакции: Lance_Sterling и YarikVL

YarikVL

Известный
Проверенный
4,796
1,813
Я так понимаю тебе нужно отловить некоторую капчу в чате?
Для этого тебе нужно событие sampev.onServerMessage(color,text)
В нем через string.find ловишь сообщение и после него пишешь sampSendChat('text')
Пример:
Код:
local sampev = require 'lib.events.samp'
local zaderzhka = 10
local active = false

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end

    sampRegisterChatCommand('zaderk',zaderzk)
    sampRegisterChatCommand('lover',function( active = not active end))
 
    while true do
        wait(0)
    end
end

function sampev.OnServerMessage(text,color)

    if active then
        if string.find(text,"Сообщение которое нужно поймать") then
            lua_thread.create(function()
            wait(zaderzhka)
            sampSendChat("Что тебе нужно отправить")
            )
        end
    end

end

function zaderzk(arg) zaderzhka = arg end
Lua:
local sampev = require 'lib.samp.events'
local zaderzhka = 10

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

    sampRegisterChatCommand('zaderk',zaderzk)
    sampRegisterChatCommand('lover',function() active = not active end))
    
    while true do
        wait(0)
    end
end

function sampev.onServerMessage(text,color)
    if active and text:find("Сообщение которое нужно поймать") then
        lua_thread.create(function()
            wait(zaderzhka)
            sampSendChat("Что тебе нужно отправить")
        end)
    end
end

function zaderzk(arg)
    if tonumber(arg) then
        zaderzhka = arg
    end
end
У тебя там пару ошибок, которые крашнут скрипт

привет, нужен человек который шарит в программировании, lua
как сделать меню для скрипта, что бы там была задержка ?
хочу сделать меню где можно выбрать задержку для ввода кода, или капчи, типо что бы не сразу вводил, а спустя столько, сколько выбрал я, к примеру код написали в 11:45:28, а скрипт написал за меня в 11:45:31
типо меню ахк, сколько задержка, активация какая
и как сделать активацию на команду, или на клавишу
Изучай: https://youtube.com/playlist?list=PLtPWpYNCQaLfS_JWRpCGuaKzds7F6VDR0
Потом посмотри то что тебе скинул первый комментатор в этой теме.
подробнее о скрипте: на нубо рп есть коды ( делают админы и т.д в /ao ) написал код, где за тебя будет вводить код который написал администратор
https://www.blast.hk/threads/169475/post-1263658
Если гуглить - можно найти всё что нужно.
 
  • Нравится
Реакции: mnl и MLycoris

Andrew_Grossman

Новичок
Автор темы
26
6
парни, мне без разницы, готовый или нет, надо просто сделать меню, в котором можно будет выбрать задержку которая будет вводить сообщение из часа, тот же код
то - есть пример, все видели меню ахк для аризоны ( бонусников ) вот, мне так +- надо, что бы я ввёл определённую задержку, и она ввела код
 

YarikVL

Известный
Проверенный
4,796
1,813
парни, мне без разницы, готовый или нет, надо просто сделать меню, в котором можно будет выбрать задержку которая будет вводить сообщение из часа, тот же код
то - есть пример, все видели меню ахк для аризоны ( бонусников ) вот, мне так +- надо, что бы я ввёл определённую задержку, и она ввела код
Раздел сделать всё за тебя вот: https://www.blast.hk/forums/16/
 

schtolz

Известный
116
67
Lua:
local sampev = require 'lib.samp.events'
local zaderzhka = 10

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

    sampRegisterChatCommand('zaderk',zaderzk)
    sampRegisterChatCommand('lover',function() active = not active end))
   
    while true do
        wait(0)
    end
end

function sampev.onServerMessage(text,color)
    if active and text:find("Сообщение которое нужно поймать") then
        lua_thread.create(function()
            wait(zaderzhka)
            sampSendChat("Что тебе нужно отправить")
        end)
    end
end

function zaderzk(arg)
    if tonumber(arg) then
        zaderzhka = arg
    end
end
У тебя там пару ошибок, которые крашнут скрипт


Изучай: https://youtube.com/playlist?list=PLtPWpYNCQaLfS_JWRpCGuaKzds7F6VDR0
Потом посмотри то что тебе скинул первый комментатор в этой теме.

https://www.blast.hk/threads/169475/post-1263658
Если гуглить - можно найти всё что нужно.
я к примеру написал как это должно выглядить, не тестил не проверял
 

Dmitriy Makarov

25.05.2021
Проверенный
2,478
1,113
Lua:
require "lib.moonloader"
local imgui = require "imgui"
local sampev = require "lib.samp.events"
local inicfg = require "inicfg"
local encoding = require "encoding"
encoding.default = "CP1251"
u8 = encoding.UTF8

local main_window_state = imgui.ImBool(false)
local mainIni = inicfg.load({
    config = {
        delay = 0
    }
}, "config.ini")
inicfg.save(mainIni, "config.ini")

local delay = imgui.ImBuffer(mainIni.config.delay, 126)
local activate = false


function main()
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand("imgui", function() main_window_state.v = not main_window_state.v end)
    sampRegisterChatCommand("activate", function()
        activate = not activate
        sampAddChatMessage(activate and "Активирован" or "Деактивирован", -1)
    end)
    while true do wait(0)
        imgui.Process = main_window_state.v
    end
end

function imgui.OnDrawFrame()
    if main_window_state.v then
        local sw, sh = getScreenResolution()
        imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(300, 200), imgui.Cond.FirstUseEver)
        imgui.Begin("Title", main_window_state)
        imgui.PushItemWidth(50)
        if imgui.InputText(u8"Введите задержку в миллисекундах", delay, imgui.InputTextFlags.CharsDecimal) then
            mainIni.config.delay = tonumber(delay.v)
            inicfg.save(mainIni, "config.ini")
        end
        imgui.PopItemWidth()
        imgui.End()
    end
end

function sampev.onServerMessage(color, text)
    if activate then
        if text:find("Нужный текст") then
            lua_thread.create(function() wait(mainIni.config.delay)
                sampSendChat("Твой текст")
            end)
        end
    end
end
 

Andrew_Grossman

Новичок
Автор темы
26
6
1680810225761.png
за ошибка ?