Помощь по lua

Tricky

Новичок
Автор темы
2
0
Есть бар бот для аризоны, там что бы кинуть ставку надо прописать команды в чат, а на родине что бы кинуть ставку человеку надо нажать F1-Орел, F2-Решка, и потом в текстдраве выбрать ник человека, затем указать сумму так же в текстдраве, помогите переделать скрипт с команды на автоматическое нажатие кнопки, поиска человека среди ников в текстдраве, и автоматически вписывать сумму ставки. Спасибо, если что ссылка на скрипт: СсылОчка

Весь скрипт:
local event = require('lib.samp.events')
local imgui = require ('imgui')
local encoding = require "encoding" --К переменным
encoding.default = 'CP1251'
u8 = encoding.UTF8 -- перед main можешь пихнуть
stat = 0
delay = false
local activ = imgui.ImBool(false)
local stavka = imgui.ImInt(10000)
local rb = imgui.ImInt(1)
local stavkawin = imgui.ImInt(10000)
local bar = {0}
    imgui.SwitchContext()
    local style = imgui.GetStyle()
    local colors = style.Colors
    local clr = imgui.Col
    local ImVec4 = imgui.ImVec4
    style.WindowPadding = imgui.ImVec2(9, 5)
    style.WindowRounding = 10
    style.ChildWindowRounding = 10
    style.FramePadding = imgui.ImVec2(5, 3)
    style.FrameRounding = 6.0
    style.ItemSpacing = imgui.ImVec2(9.0, 3.0)
    style.ItemInnerSpacing = imgui.ImVec2(9.0, 3.0)
    style.IndentSpacing = 21
    style.ScrollbarSize = 6.0
    style.ScrollbarRounding = 13
    style.GrabMinSize = 17.0
    style.GrabRounding = 16.0
    style.WindowTitleAlign = imgui.ImVec2(0.5, 0.5)
    style.ButtonTextAlign = imgui.ImVec2(0.5, 0.5)


    colors[clr.Text]                   = ImVec4(0.90, 0.90, 0.90, 1.00)
    colors[clr.TextDisabled]           = ImVec4(1.00, 1.00, 1.00, 1.00)
    colors[clr.WindowBg]               = ImVec4(0.00, 0.00, 0.00, 1.00)
    colors[clr.ChildWindowBg]          = ImVec4(0.00, 0.00, 0.00, 1.00)
    colors[clr.PopupBg]                = ImVec4(0.00, 0.00, 0.00, 1.00)
    colors[clr.Border]                 = ImVec4(0.82, 0.77, 0.78, 1.00)
    colors[clr.BorderShadow]           = ImVec4(0.35, 0.35, 0.35, 0.66)
    colors[clr.FrameBg]                = ImVec4(1.00, 1.00, 1.00, 0.28)
    colors[clr.FrameBgHovered]         = ImVec4(0.68, 0.68, 0.68, 0.67)
    colors[clr.FrameBgActive]          = ImVec4(0.79, 0.73, 0.73, 0.62)
    colors[clr.TitleBg]                = ImVec4(0.00, 0.00, 0.00, 1.00)
    colors[clr.TitleBgActive]          = ImVec4(0.46, 0.46, 0.46, 1.00)
    colors[clr.TitleBgCollapsed]       = ImVec4(0.00, 0.00, 0.00, 1.00)
    colors[clr.MenuBarBg]              = ImVec4(0.00, 0.00, 0.00, 0.80)
    colors[clr.ScrollbarBg]            = ImVec4(0.00, 0.00, 0.00, 0.60)
    colors[clr.ScrollbarGrab]          = ImVec4(1.00, 1.00, 1.00, 0.87)
    colors[clr.ScrollbarGrabHovered]   = ImVec4(1.00, 1.00, 1.00, 0.79)
    colors[clr.ScrollbarGrabActive]    = ImVec4(0.80, 0.50, 0.50, 0.40)
    colors[clr.ComboBg]                = ImVec4(0.24, 0.24, 0.24, 0.99)
    colors[clr.CheckMark]              = ImVec4(0.99, 0.99, 0.99, 0.52)
    colors[clr.SliderGrab]             = ImVec4(1.00, 1.00, 1.00, 0.42)
    colors[clr.SliderGrabActive]       = ImVec4(0.76, 0.76, 0.76, 1.00)
    colors[clr.Button]                 = ImVec4(0.51, 0.51, 0.51, 0.60)
    colors[clr.ButtonHovered]          = ImVec4(0.68, 0.68, 0.68, 1.00)
    colors[clr.ButtonActive]           = ImVec4(0.67, 0.67, 0.67, 1.00)
    colors[clr.Header]                 = ImVec4(0.72, 0.72, 0.72, 0.54)
    colors[clr.HeaderHovered]          = ImVec4(0.92, 0.92, 0.95, 0.77)
    colors[clr.HeaderActive]           = ImVec4(0.82, 0.82, 0.82, 0.80)
    colors[clr.Separator]              = ImVec4(0.73, 0.73, 0.73, 1.00)
    colors[clr.SeparatorHovered]       = ImVec4(0.81, 0.81, 0.81, 1.00)
    colors[clr.SeparatorActive]        = ImVec4(0.74, 0.74, 0.74, 1.00)
    colors[clr.ResizeGrip]             = ImVec4(0.80, 0.80, 0.80, 0.30)
    colors[clr.ResizeGripHovered]      = ImVec4(0.95, 0.95, 0.95, 0.60)
    colors[clr.ResizeGripActive]       = ImVec4(1.00, 1.00, 1.00, 0.90)
    colors[clr.CloseButton]            = ImVec4(0.45, 0.45, 0.45, 0.50)
    colors[clr.CloseButtonHovered]     = ImVec4(0.70, 0.70, 0.90, 0.60)
    colors[clr.CloseButtonActive]      = ImVec4(0.70, 0.70, 0.70, 1.00)
    colors[clr.PlotLines]              = ImVec4(1.00, 1.00, 1.00, 1.00)
    colors[clr.PlotLinesHovered]       = ImVec4(1.00, 1.00, 1.00, 1.00)
    colors[clr.PlotHistogram]          = ImVec4(1.00, 1.00, 1.00, 1.00)
    colors[clr.PlotHistogramHovered]   = ImVec4(1.00, 1.00, 1.00, 1.00)
    colors[clr.TextSelectedBg]         = ImVec4(1.00, 1.00, 1.00, 0.35)
    colors[clr.ModalWindowDarkening]   = ImVec4(0.88, 0.88, 0.88, 0.35)

function main() --this function will start when script load
    while not isSampAvailable() do wait(0) end --wait for samp load
    sampRegisterChatCommand('barbot', function()
        activ.v = not activ.v
        imgui.Process = activ.v
        sampAddChatMessage('{A30008}BARBOT by Scrix {FF000D}'..(activ.v and '[Включен]' or '[Выключен]'), 0x580004)end)
    while true do
            wait(0)
                imgui.Process = activ.v
            if activ.v == true then
                if stavka.v >= 1000001 then
                    stavka.v = 1000000
                end
                if delay == true then
                    wait(30000)
                    delay = false
                end
            end
    end
end
function imgui.OnDrawFrame()
    imgui.Begin('BAR', activ, imgui.WindowFlags.NoTitleBar, imgui.SetNextWindowSize(imgui.ImVec2(455, 160), imgui.Cond.FirstUseEver))
        imgui.Text('BARBOT version 22.04.21')
        imgui.PlotLines(u8'Статистика', bar)
                imgui.Text(u8'След. ставка: '..stavka.v)
                imgui.SliderInt(u8'Изменить след. ставку ', stavka, 1, 1000000)
                imgui.SliderInt(u8'Ставка при победе ', stavkawin, 1, 1000000)
                imgui.RadioButton(u8'Выкл', rb, 1)
                imgui.SameLine()
                imgui.RadioButton(u8'Автопринятие', rb, 2)
                imgui.SameLine()
                imgui.RadioButton(u8'Автоотклонение', rb, 3)
    imgui.End()
end

function event.onServerMessage(color, text)
    if activ.v == true and delay == false then
        if string.match(text, "Победил (.+) - орёл.") then
            nameplayer = string.match(text, "Победил (.+) - орёл.")
            nick = string.gsub(nameplayer, "-", "")
            sampSendChat("/reshka "..nick.." "..stavka.v)
            delay = true
        end
        if string.match(text, "Победил (.+) - решка.") then
            nameplayer = string.match(text, "Победил (.+) - решка.")
            nick = string.gsub(nameplayer, "-", "")
            sampSendChat("/orel "..nick.." "..stavka.v)
            delay = true
        end
    end
end
function event.onDisplayGameText(style, time, textt)
    if activ.v == true then
        if string.match(textt, "You Lose!") then
            if stavka.v <= 1000000 then
                stavka.v = stavka.v * 2
                stat = stat - 1
                table.insert(bar, stat)
            end
        end
        if string.match(textt, "You Win!") then
            stavka.v = stavkawin.v
            stat = stat + 1
            table.insert(bar, stat)
        end
    end
end

function event.onShowDialog(dialogId, style, title, button1, button2, text)
    if activ.v == true then
        if string.match(title, 'Орёл и Решка') then
            if rb.v == 2 then
                sampSendDialogResponse(dialogId, 1, -1, -1)
                return false
            elseif rb.v == 3 then
                sampSendDialogResponse(dialogId, 0, -1, -1)
                return false
            end
        end 
    end
end