Что не так?

YarmaK

Известный
Автор темы
686
247
Версия MoonLoader
.026-beta
пишу /d и число а оно клацает диалоги но в самом конце диалог типа нужно ввести количество патрон что-бы взять, а я хочу что-бы при написании числа после /d оно вводило его в диалог и бралось ентер типа нажать либо отправить диалог не шарю

123:
local sampev = require 'samp.events'

function sampev.onSendCommand(cmd)
    if cmd:find("^/d %d+") then
        amount = cmd:match("(%d+)")
        task = 1
        sampSendChat("/safe")
        return false
    end
end
    

function sampev.onShowDialog(dialogid, style, title, b1, b2, text)
    if task and task > 0 then
        if task == 1 then
            task = 2
            sampSendDialogResponse(dialogid, 1, 4, "")
        elseif task == 2 then
            task = 3
            sampSendDialogResponse(dialogid, 1, 0, "")
        elseif task == 3 then
            task = 0
            sampSendDialogResponse(dialogid, 1, 0, amount)
        end
        return false
    end
end
 

qdIbp

Автор темы
Проверенный
1,450
1,191
Lua:
local sampev = require('samp.events')
local amount,task = 0,0

function sampev.onSendCommand(cmd)
    amount = tonumber(cmd:find("^/d (%d+)") )
    if amount then
        task = 1
        sampSendChat("/safe")
        return false
    end
end
    
function sampev.onShowDialog(did, style, title, b1, b2, text)
    if task > 0 then
        if task == 3 then
            task = 0
            sampSendDialogResponse(did, 1, 0, amount)
        else
            task = task+1
            sampSendDialogResponse(did, 1, (task == 1 and 4 or 0), "")
        end
        return false
    end
end
попробуй так