Помощь со скриптом.

AngelWeezy

Участник
Автор темы
74
4
Версия MoonLoader
.026-beta
Так, люди, смотрите написал скрипт, мне нужно что бы делал следующие действия.
Первое: вводим /parking и появляется данное окно
1600371500869.png


Дальше нажимаем энтер (эти действия есть в коде)
1600371531735.png

Заходим в "Транспорт стоянки".
1600371571473.png

тут самое интересное, нужно что бы он перебирал строки, и когда находит в третьей колонке "-", нажимал энтер
1600371622954.png

И дальше еще раз энтер что бы спавнил кар.
1600371647786.png

И так делал до конца строк. В моем коде он делает только на 1 строчку, и не повторяется. Помогите пожалуйста


Lua:
require "lib.moonloader"
local sampev = require "lib.samp.events"

local active = false

function main()
    repeat wait(0) until isSampAvailable()
    wait(1300)
    sampRegisterChatCommand("resp", resp)
    wait(-1)
end
   
   
function resp()
    active = not active
    if active then
        sampSendChat("/parking")
    end
    printStringNow(active and "PARKING ACT" or "PARKING DEACT", 2000)
end

function sampev.onShowDialog(dialogid, style, title, button1, button2, text)
    if active then
        if string.match(title, "Компании") then
            sampSendDialogResponse(dialogid, 1, 0, -1)
        end
       
        if string.match(title, "Управление стоянкой") then
            sampSendDialogResponse(dialogid, 1, 1, -1)
        end

        if string.match(title, "Стоянка") then
            local n = -1
            for line in string.gmatch(text, "[^\r\n]+") do
                if line:find('') and line:find('-') then
                    sampSendDialogResponse(dialogid, 1, 1, -1)
                end
            end
        end
   
        if string.match(title, "Стоянка") then
            sampSendDialogResponse(dialogid, 1, 0, -1)
        end
    end
end
 

AngelWeezy

Участник
Автор темы
74
4

Rei

Известный
Друг
1,611
1,668
ну так он будет то же респать, а мне надо что бы все по очереди

Посмотреть вложение 69188как так сделать?
у тебя уже прописан это с 34 строчки, только почему-то лист отправляется статичный
в 36 строке 3 аргументом поставь переменную n и экспериментируй со значением в 33 строке. итемы исчисляются с 0 если чо
 

AngelWeezy

Участник
Автор темы
74
4
у тебя уже прописан это с 34 строчки, только почему-то лист отправляется статичный
в 36 строке 3 аргументом поставь переменную n и экспериментируй со значением в 33 строке. итемы исчисляются с 0 если чо
ничего не понял, можешь пожалуйста сам это сделать и мне показать?
 
D

deleted-user-210352

Гость
я для своего скрипта делал так, где повторения много есть можешь использовать цикл
Lua:
sampSendDialogResponse(3040, 1, 0, '')
sampSendDialogResponse(3050, 1, 19, '') -- 1стр
sampSendDialogResponse(3050, 1, 20, '') -- 2стр
sampSendDialogResponse(3050, 1, 20, '') -- 3стр
sampSendDialogResponse(3050, 1, 20, '') -- 4стр
sampSendDialogResponse(3050, 1, 20, '') -- 5стр
sampSendDialogResponse(3050, 1, 17, '') -- выбирает товар
sampSendDialogResponse(3060, 1, 0, samsung10bin.v)
пример цикла
Lua:
                     if samsung10b.v then
                                        sampSendDialogResponse(3040, 1, 0, '')
                                        sampSendDialogResponse(3050, 1, 19, '')
                                        for i = 1, 4 do -- 4 раз пропишет sampSendDialogResponse(3050, 1, 20, '')
                                                sampSendDialogResponse(3050, 1, 20, '')
                                                wait(10)
                                        end
                                        sampSendDialogResponse(3050, 1, 17, '')
                                        sampSendDialogResponse(3060, 1, 0, samsung10bin.v)
                                        itog=itog+tonumber(samsung10bin.v)
                                end
если как-то помог, поставь палец в верх
первая строчка будет значение не 1 а 0
 
Последнее редактирование модератором:

AngelWeezy

Участник
Автор темы
74
4
я для своего скрипта делал так, где повторения много есть можешь использовать цикл
Lua:
sampSendDialogResponse(3040, 1, 0, '')
sampSendDialogResponse(3050, 1, 19, '') -- 1стр
sampSendDialogResponse(3050, 1, 20, '') -- 2стр
sampSendDialogResponse(3050, 1, 20, '') -- 3стр
sampSendDialogResponse(3050, 1, 20, '') -- 4стр
sampSendDialogResponse(3050, 1, 20, '') -- 5стр
sampSendDialogResponse(3050, 1, 17, '') -- выбирает товар
sampSendDialogResponse(3060, 1, 0, samsung10bin.v)
пример цикла
Lua:
                     if samsung10b.v then
                                        sampSendDialogResponse(3040, 1, 0, '')
                                        sampSendDialogResponse(3050, 1, 19, '')
                                        for i = 1, 4 do -- 4 раз пропишет sampSendDialogResponse(3050, 1, 20, '')
                                                sampSendDialogResponse(3050, 1, 20, '')
                                                wait(10)
                                        end
                                        sampSendDialogResponse(3050, 1, 17, '')
                                        sampSendDialogResponse(3060, 1, 0, samsung10bin.v)
                                        itog=itog+tonumber(samsung10bin.v)
                                end
если как-то помог, поставь палец в верх
первая строчка будет значение не 1 а 0
Нет, понимаешь, было бы так что надо просто ентер прожать, надо что бы он заново во все эти диалоги заходил