По луа скрипту

VRush

https://t.me/vrushscript
Автор темы
Проверенный
2,356
1,107
есть скриптик простой, но он тупит и в диалог не вписывает "200"
как сделать?
Вот сам скрипт

1:
sampev = require 'lib.samp.events'

function main()
    jopa = false
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("pt", po)
wait(-1)
end

function po(arg)
    jopa = true
end

function sampev.onShowDialog(id, style, caption)
    if jopa and id == 216 then
            sampCloseCurrentDialogWithButton(1)
            return false
        end
        if jopa and id == 217 then
            sampSendDialogResponse(217, 1, 3, input)
        end
        if jopa and id == 221 then
            sampSendDialogResponse(221, listitem, "200")
        end
end
 
Решение
Lua:
sampev = require 'lib.samp.events'

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("pt", cmd_pt)

    wait(-1)
end

function cmd_pt(arg)
    enab = not enab
    printStringNow(enab and "~g~ON" or "~r~OFF", 1000)
    arg_pt = arg
end

function sampev.onShowDialog(id, style, title, button1, button2, text)
     if enab and id == 216 then
          sampSendDialogResponse(216, 1, _, _)
          sampSendDialogResponse(217, 1, 3, _)
          sampSendDialogResponse(221, 1, _, arg_pt)
     end
end

Gossnikov

Известный
125
24
есть скриптик простой, но он тупит и в диалог не вписывает "200"
как сделать?
Вот сам скрипт

1:
sampev = require 'lib.samp.events'

function main()
    jopa = false
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("pt", po)
wait(-1)
end

function po(arg)
    jopa = true
end

function sampev.onShowDialog(id, style, caption)
    if jopa and id == 216 then
            sampCloseCurrentDialogWithButton(1)
            return false
        end
        if jopa and id == 217 then
            sampSendDialogResponse(217, 1, 3, input)
        end
        if jopa and id == 221 then
            sampSendDialogResponse(221, listitem, "200")
        end
end
Lua:
sampev = require 'lib.samp.events'

function main()
    jopa = false
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("pt", po)
wait(-1)
end

function po(arg)
    jopa = true
end

function sampev.onShowDialog(id, style, caption)
    if jopa and id == 216 then
            sampCloseCurrentDialogWithButton(1)
            return false
        end
        if jopa and id == 217 then
            sampSendDialogResponse(217, 1, 3, input)
        end
        if jopa and id == 221 then
            sampSendDialogResponse(221, 1, 0, "200")
        end
end
 

VRush

https://t.me/vrushscript
Автор темы
Проверенный
2,356
1,107
Lua:
sampev = require 'lib.samp.events'

function main()
    jopa = false
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("pt", po)
wait(-1)
end

function po(arg)
    jopa = true
end

function sampev.onShowDialog(id, style, caption)
    if jopa and id == 216 then
            sampCloseCurrentDialogWithButton(1)
            return false
        end
        if jopa and id == 217 then
            sampSendDialogResponse(217, 1, 3, input)
        end
        if jopa and id == 221 then
            sampSendDialogResponse(221, 1, 0, "200")
        end
end
Так он 1 раз берёт и дальше ничё не происходит, а должно быть каждый раз, тоесть постоянно
Как я понял скрипт еще раз открывает диалог 221, хотя должен не открывать а ждать диалог 216, поможете исправить?
 
Последнее редактирование:

Gossnikov

Известный
125
24
Так он 1 раз берёт и дальше ничё не происходит, а должно быть каждый раз, тоесть постоянно
Как я понял скрипт еще раз открывает диалог 221, хотя должен не открывать а ждать диалог 216, поможете исправить?
Так вот особо я ничего не понимаю, желательно бы самому посмотреть, и что это вообще за система на аризоне ?
 

VRush

https://t.me/vrushscript
Автор темы
Проверенный
2,356
1,107
Так вот особо я ничего не понимаю, желательно бы самому посмотреть, и что это вообще за система на аризоне ?
Смотри, скрипт сам открывает 221 диалог и сервер дальше ничё не делает
а нужно чтобы скрипт ждал 216 диалог от сервера, и потом уже нажимал меню и достать патроны
 

BlackGoblin

Известный
519
215
Скрипт не может тебе открыть 221 диалог без 216, ты это понимаешь? Если убрать в первой проверке return false, который я вставлял, чтобы у тебя просто не показывало первый диалог, то ты увидишь, что он не скипает 216, ибо не сможет никак открыть другие без него. Тут просто дело в том, что он почему то не хочет вводить 200 в ласт окне. И еще, что значит то, что скрипт должен делать это постоянно, тебе надо чтобы ты написал и оно это всё делало несколько раз? Тогда надо писать цикл, мне лень)
 

VRush

https://t.me/vrushscript
Автор темы
Проверенный
2,356
1,107
Скрипт не может тебе открыть 221 диалог без 216, ты это понимаешь? Если убрать в первой проверке return false, который я вставлял, чтобы у тебя просто не показывало первый диалог, то ты увидишь, что он не скипает 216, ибо не сможет никак открыть другие без него. Тут просто дело в том, что он почему то не хочет вводить 200 в ласт окне. И еще, что значит то, что скрипт должен делать это постоянно, тебе надо чтобы ты написал и оно это всё делало несколько раз? Тогда надо писать цикл, мне лень)
Надо чтобы оно это делало постоянно пока прописана /pt
 

mosquit.

Активный
199
52
Надо чтобы оно это делало постоянно пока прописана /pt
Код:
sampev = require 'lib.samp.events'

function main()
    jopa = false
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("pt", po)
wait(-1)
end

function po(arg)
    jopa = true
end

function sampev.onShowDialog(id, style, caption)
    if jopa and id == 216 then
            sampCloseCurrentDialogWithButton(1)
            return false
        end
        if jopa and id == 217 then
            sampSendDialogResponse(217, 1, 3, input)
        end
        if jopa and id == 221 then
            sampSendDialogResponse(221, 1, 0, "200")
            return false
        end
end
 

VRush

https://t.me/vrushscript
Автор темы
Проверенный
2,356
1,107
Код:
sampev = require 'lib.samp.events'

function main()
    jopa = false
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("pt", po)
wait(-1)
end

function po(arg)
    jopa = true
end

function sampev.onShowDialog(id, style, caption)
    if jopa and id == 216 then
            sampCloseCurrentDialogWithButton(1)
            return false
        end
        if jopa and id == 217 then
            sampSendDialogResponse(217, 1, 3, input)
        end
        if jopa and id == 221 then
            sampSendDialogResponse(221, 1, 0, "200")
            return false
        end
end
щас попробую
Увы
 
Последнее редактирование:

The End

Участник
29
6
Lua:
sampev = require 'lib.samp.events'

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("pt", cmd_pt)

    wait(-1)
end

function cmd_pt(arg)
    enab = not enab
    printStringNow(enab and "~g~ON" or "~r~OFF", 1000)
    arg_pt = arg
end

function sampev.onShowDialog(id, style, title, button1, button2, text)
     if enab and id == 216 then
          sampSendDialogResponse(216, 1, _, _)
          sampSendDialogResponse(217, 1, 3, _)
          sampSendDialogResponse(221, 1, _, arg_pt)
     end
end
 
  • Нравится
Реакции: VRush

VRush

https://t.me/vrushscript
Автор темы
Проверенный
2,356
1,107
Lua:
sampev = require 'lib.samp.events'

function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("pt", cmd_pt)

    wait(-1)
end

function cmd_pt(arg)
    enab = not enab
    printStringNow(enab and "~g~ON" or "~r~OFF", 1000)
    arg_pt = arg
end

function sampev.onShowDialog(id, style, title, button1, button2, text)
     if enab and id == 216 then
          sampSendDialogResponse(216, 1, _, _)
          sampSendDialogResponse(217, 1, 3, _)
          sampSendDialogResponse(221, 1, _, arg_pt)
     end
end
Таже история, только для клиента закрываеться диалог, а не для сервера
и не вводиться 200 в диалог
 

VRush

https://t.me/vrushscript
Автор темы
Проверенный
2,356
1,107
После того как взял пт, сново появляется 216 диалог?
Да, появляеться но он без взаимодействия
Тоесть выбрать что угодно и ниче не произойдет
и еще в диалог не вводиться 200