_Droid_ |
Дата: Суббота, 10.03.2018, 15:01 | Сообщение # 1
|
Боец
Сообщений: 126
Статус: Offline
|
Всем привет. Пишу скрипт для адвокатов, упрощающих работу, кое-что есть, но столкнулся с такими проблемами, как: - Скрипт загружается, но не отвечает (т.е не работает) - Смешиваются диалоги (запустив один диалог, не факт что скрипт запуститься снова или откроет второй диалог. Или же, если я один раз запустил диалог_2 , не факт что он запуститься снова) Суть скрипта: парсит игроков в зоне стрима (или, если можно как-то снизить радиус то буду тоже рад), выводит их ники в диалог, далее я выбираю игрока, выбивает окно со способом оплаты (наличные\банк), выбираю способ оплаты и ввожу сумму, а далее идет команда.
Кидаю код, буду рад помощь, хотя бы тут:
Код script_name('stream_checker') require "lib.moonloader"
active1 = false active2 = false active3 = false active4 = false
nicks = {} name = "" id = 0
function main() if not isSampfuncsLoaded() or not isSampLoaded() then return end while not isSampAvailable() do wait(100) end sampRegisterChatCommand("adv", checker) while true do wait(0) if active1 then sampSetCurrentDialogListItem(0) repeat wait(0) re, button, listrpone, input = sampHasDialogRespond(123) until re if button == 0 then _ = sampCloseCurrentDialogWithButton(0) else name = nicks[listrpone+1] for o = 0, 1000 do if sampIsPlayerConnected(o) then if sampGetPlayerNickname(o) == name then id = o dialog_selected() end end end end if active2 then sampSetCurrentDialogListItem(0) repeat wait(0) re, button, listrpone, input = sampHasDialogRespond(132) until re if button == 0 then _ = sampCloseCurrentDialogWithButton(0) else if listrpone == 0 then dialog_free1() if listrpone == 1 then dialog_free2() end end end end if active3 then sampSetCurrentDialogListItem(0) repeat wait(0) re, button, listrpone, input = sampHasDialogRespond(142) until re if button == 0 then _ = sampCloseCurrentDialogWithButton(0) else if input then sampSendChat(string.format("/free %d 1 %d", id, input)) end end end if active4 then sampSetCurrentDialogListItem(0) repeat wait(0) re, button, listrpone, input = sampHasDialogRespond(143) until re if button == 1 then _ = sampCloseCurrentDialogWithButton(1) else if input then sampSendChat(string.format("/free %d 2 %d", id, input)) end end end end end end
function checker() nicks = {} for i = 0, 1000 do if sampIsPlayerConnected(i) then local _, actor = sampGetCharHandleBySampPlayerId(i) if doesCharExist(actor) then nick = sampGetPlayerNickname(i) table.insert(nicks, nick) dialog() end end end end
function dialog() stream = "" for n = 1, #nicks do stream = string.format("%s\n%s", stream , nicks[n]) end activate1() sampShowDialog(123, "Игроки в зоне стрима", stream, "Закрыть", "", 2) end
function dialog_selected() activate2() sampShowDialog(132, string.format("Выбран игрок: %s[%d] | Уровень: %d", name, id, sampGetPlayerScore(id)), "Наличные\nБанк", "Закрыть", "", 2) end
function dialog_free1() activate3() sampShowDialog(142, string.format("Выбран игрок: %s[%d] | Уровень: %d", name, id, sampGetPlayerScore(id)), "Введите текст сообщенмя", "Закрыть", "", 1) end function dialog_free2() activate4() sampShowDialog(143, string.format("Выбран игрок: %s[%d] | Уровень: %d", name, id, sampGetPlayerScore(id)), "Введите текст сообщенмя", "Закрыть", "", 1) end
function activate1() active1 = not active1 end function activate2() active2 = not active2 end function activate3() active3 = not active3 end function activate4() active4 = not active4 end
-------------------- F.A.Q | Как скачивать с MediaDisk без установщика? - http://cheat-master.ru/forum/14-684924-1 F.A.Q | Как скачивать видео из интернета без программ? - http://cheat-master.ru/forum/2-688571-1
|
|
|
|