- 1
- 0
- Версия MoonLoader
- Другое
Столкнулся с проблемой одной.
В общем, я написал "хелпер" автошколы для себя на монетлоадер и недавно столкнулся с проблемой взаимодействия с диалогами. Чтобы я не выбирал - всегда выбирается пункт, который я выбирал ранее. Такая фигня происходить что с samp events от Фипа, что с samp events для монетлоадера.
Вот код:
Что я сделал не так?
В общем, я написал "хелпер" автошколы для себя на монетлоадер и недавно столкнулся с проблемой взаимодействия с диалогами. Чтобы я не выбирал - всегда выбирается пункт, который я выбирал ранее. Такая фигня происходить что с samp events от Фипа, что с samp events для монетлоадера.
Вот код:
Код:
local imgui = require 'mimgui'
local sampev = require 'samp.events'
local encoding = require 'encoding'
local WinState, show, med, pilot = imgui.new.bool(), imgui.new.bool(), imgui.new.bool(), imgui.new.bool()
local changepos = false
local x, y = 300,300
_, myid = sampGetPlayerIdByCharHandle(playerPed)
local sroc = 0
encoding.default = 'CP-1251'
local u8 = encoding.UTF8
function main()
sampRegisterChatCommand('gl', cmd_gl)
wait(-1)
end
imgui.OnFrame(function() return pilot[0] and not isGamePaused() end, function()
imgui.SetNextWindowPos(imgui.ImVec2(x,y), imgui.Cond.Always)
imgui.SetNextWindowSize(imgui.ImVec2(295,330), imgui.Cond.Always)
imgui.Begin(u8'Согласие', show, imgui.WindowFlags.NoResize)
if imgui.Button(u8'Продажа лицензии на пилота') then
lua_thread.create(function()
sampSendChat('/me достал из под стола пустой бланк')
wait(1500)
sampSendChat('/me взял ручку в руки и начал заполнять бланк')
wait(1500)
sampSendChat('/me указал тип лицензии и срок на бланке ')
wait(1500)
sampSendChat('/do На бланке было указано «Тип лицензии - полёт, срок - 1 месяц».')
wait(1500)
sampSendChat('/me указал дату выдачи и передал ручку '..name2)
sampSendChat('/givelicense '..target_id)
wait(1000)
sampSendDialogResponse(26355, 1, 2, -1)
wait(1500)
sampSendDialogResponse(26356, 1,0,-1)
wait(1500)
sampSendChat('/todo Распишитесь здесь, пожалуйста*указав на место росписи')
wait(1000)
sampSendChat('/b /me поставил(а) роспись')
wait(2000)
sampSendChat('/todo Сейчас передам чек*включив КПК')
wait(1500)
sampSendChat('/me заполнил некоторые пункты и нажал кнопку печати')
wait(1500)
sampSendChat('/do КПК распечатал чек.')
wait(1500)
sampSendChat('/todo Вот ваш чек и хорошегo вам дня*передавая чек '..name2)
end)
end
imgui.Text(' ')
imgui.Text(' ')
imgui.Text(' ')
imgui.Text(' ')
imgui.Text(' ')
imgui.Text(' ')
imgui.Text(' ')
imgui.Text(' ')
imgui.Text(' ')
if imgui.Button(u8'Вернуться') then
pilot[0] = not pilot[0]
WinState[0] = not WinState[0]
end
end)
imgui.OnFrame(function() return med[0] and not isGamePaused() end, function()
imgui.SetNextWindowPos(imgui.ImVec2(x,y), imgui.Cond.Always)
imgui.SetNextWindowSize(imgui.ImVec2(295,330), imgui.Cond.Always)
imgui.Begin(u8'Проверка медицинской карты', show, imgui.WindowFlags.NoResize)
if imgui.Button(u8'Всё в порядке') then
show[0] = not show[0]
med[0]= not med[0]
lua_thread.create(function()
if lic_id == 5 then
sampSendChat('/me взял медицинскую карту у '..name2..' и начал проверять её')
wait(2500)
sampSendChat('/me просмотрел медицинскую карту и вернул её владельцу')
wait(1500)
sampSendChat('На какой срок вы бы хотели оформить лицензию на ношение оружия?')
wait(1500)
sampSendChat('Срок лицензий составляет от одного месяца до трёх')
wait(1500)
sampSendChat('Цена данной лицензии составляет 1.000.000$ на 1 месяц, 1.090.000$ на 2 месяца и 1.150.000$ на 3 месяца')
elseif lic_id == 6 then
sampSendChat('/me взял медицинскую карту у '..name2..' и начал проверять её')
wait(2500)
sampSendChat('/me просмотрел медицинскую карту и вернул её владельцу')
wait(1500)
sampSendChat('На какой срок вы бы хотели оформить лицензию на охоту?')
wait(1500)
sampSendChat('Срок лицензий составляет от одного месяца до трёх')
wait(1500)
sampSendChat('Цена данной лицензии составляет 1.000.000$ на 1 месяц, 1.100.000$ на 2 месяца и 1.190.000$ на 3 месяца')
end
end)
end
if imgui.Button(u8'Не в порядке') then
med[0]= not med[0]
lua_thread.create(function()
sampSendChat('/me взял медицинскую карту у '..name2..' и начал проверять её')
wait(2500)
sampSendChat('/me просмотрел медицинскую карту и вернул её владельцу')
wait(1500)
sampSendChat('/me достал блокнот и, смотря на '..name2..',что-то записал туда')
wait(1500)
sampSendChat('Простите, но ваше состояние здоровья не соответствует нормам. Рекомендую проконсультироваться у врача')
end)
end
if imgui.Button(u8'Нет медицинской карты') then
lua_thread.create(function()
med[0]= not med[0]
sampSendChat('/me взял медицинскую карту у '..name2..' и начал проверять её')
wait(2500)
sampSendChat('/me достал блокнот и, смотря на '..name2..', что-то записал туда')
wait(1500)
sampSendChat('/me вернул медицинскую карту владельцу')
wait(1500)
sampSendChat('Простите, но ваша медицинская карта просрочена. Обновите её в любой больнице штата')
end)
end
if imgui.Button(u8'Вернуться') then
med[0] = not med[0]
WinState[0] = not WinState[0]
end
end)
imgui.OnFrame(function() return show[0] and not isGamePaused() end, function()
imgui.SetNextWindowPos(imgui.ImVec2(x,y), imgui.Cond.Always)
imgui.SetNextWindowSize(imgui.ImVec2(295,330), imgui.Cond.Always)
imgui.Begin(u8'Срок', show, imgui.WindowFlags.NoResize)
if imgui.Button(u8'1 месяц') then
show[0] = not show[0]
sroc = 0
lua_thread.create(function()
sampSendChat('/me достал из под стола пустой бланк')
wait(1500)
sampSendChat('/me взял ручку в руки и начал заполнять бланк')
wait(1500)
sampSendChat('/me указал тип лицензии и срок на бланке ')
wait(1500)
sampSendChat('/do На бланке было указано «Тип лицензии - '..lic..', срок - 1 месяц».')
wait(1500)
sampSendChat('/me указал дату выдачи и передал ручку '..name2)
sampSendChat('/givelicense '..target_id)
wait(1000)
sampSendDialogResponse(26355, 1, lic_id, -1)
wait(1500)
sampSendDialogResponse(26356, 1,0,-1)
wait(1500)
sampSendChat('/todo Распишитесь здесь, пожалуйста*указав на место росписи')
wait(1000)
sampSendChat('/b /me поставил(а) роспись')
wait(2000)
sampSendChat('/todo Сейчас передам чек*включив КПК')
wait(1500)
sampSendChat('/me заполнил некоторые пункты и нажал кнопку печати')
wait(1500)
sampSendChat('/do КПК распечатал чек.')
wait(1500)
sampSendChat('/todo Вот ваш чек и хорошегo вам дня*передавая чек '..name2)
end)
end
if imgui.Button(u8'2 месяца') then
show[0] = not show[0]
sroc = 1
lua_thread.create(function()
sampSendChat('/me достал из под стола пустой бланк')
wait(1500)
sampSendChat('/me взял ручку в руки и начал заполнять бланк')
wait(1500)
sampSendChat('/me указал тип лицензии и срок на бланке ')
wait(1500)
sampSendChat('/do На бланке было указано «Тип лицензии - '..lic..', срок - 2 месяца».')
wait(1500)
sampSendChat('/me указал дату выдачи и передал ручку '..name2)
sampSendChat('/givelicense '..target_id)
wait(1000)
sampSendDialogResponse(26355, 1, lic_id, -1)
wait(1500)
sampSendDialogResponse(26356, 1,1,-1)
wait(1500)
sampSendChat('/todo Распишитесь здесь, пожалуйста*указав на место росписи')
wait(500)
sampSendChat('/b /me поставил(а) роспись')
wait(2000)
sampSendChat('/todo Сейчас передам чек*включив КПК')
wait(1500)
sampSendChat('/me заполнил некоторые пункты и нажал кнопку печати')
wait(1500)
sampSendChat('/do КПК распечатал чек.')
wait(1500)
sampSendChat('/todo Вот ваш чек и хорошегo вам дня*передавая чек '..name2)
end)
end
if imgui.Button(u8'3 месяца') then
show[0] = not show[0]
sroc = 2
lua_thread.create(function()
sampSendChat('/me достал из под стола пустой бланк')
wait(1500)
sampSendChat('/me взял ручку в руки и начал заполнять бланк')
wait(1500)
sampSendChat('/me указал тип лицензии и срок на бланке ')
wait(1500)
sampSendChat('/do На бланке было указано «Тип лицензии - '..lic..', срок - 3 месяца».')
wait(1500)
sampSendChat('/me указал дату выдачи и передал ручку '..name2)
sampSendChat('/givelicense '..target_id)
wait(1000)
sampSendDialogResponse(26355, 1, lic_id, -1)
wait(1500)
sampSendDialogResponse(26356, 1,2,-1)
wait(1500)
sampSendChat('/todo Распишитесь здесь, пожалуйста*указав на место росписи')
wait(1000)
sampSendChat('/b /me поставил(а) роспись')
wait(2000)
sampSendChat('/todo Сейчас передам чек*включив КПК')
wait(1500)
sampSendChat('/me заполнил некоторые пункты и нажал кнопку печати')
wait(1500)
sampSendChat('/do КПК распечатал чек.')
wait(1500)
sampSendChat('/todo Вот ваш чек и хорошегo вам дня*передавая чек '..name2)
end)
end
imgui.Text(' ')
imgui.Text(' ')
imgui.Text(' ')
imgui.Text(' ')
imgui.Text(' ')
imgui.Text(' ')
if imgui.Button(u8'Вернуться') then
show[0] = not show[0]
WinState[0] = not WinState[0]
end
imgui.End()
end)
imgui.OnFrame(function() return WinState[0] and not isGamePaused() end, function(player)
imgui.SetNextWindowPos(imgui.ImVec2(300,300), imgui.Cond.FirstUseEver)
imgui.SetNextWindowSize(imgui.ImVec2(295,330), imgui.Cond.Always)
pos = imgui.GetWindowPos()
imgui.Begin('Licensing Center Helper', WinState, imgui.WindowFlags.NoResize+imgui.WindowFlags.NoMove)
if imgui.Button(u8'Авто') then
show[0] = not show[0]
WinState[0] = not WinState[0]
lic_id = 0
lic = 'авто'
lua_thread.create(function()
sampSendChat('На какой срок вы бы хотели оформить лицензию на вождение авто?')
wait(1500)
sampSendChat('Срок лицензий составляет от одного месяца до трёх')
wait(1500)
sampSendChat('Цена данной лицензии составляет 200.000$ на 1 месяц, 360.000$ на 2 месяца и 410.000$ на 3 месяца')
end)
end
if imgui.Button(u8'Мото') then
show[0] = not show[0]
WinState[0] = not WinState[0]
lic_id = 1
lic = 'мото'
lua_thread.create(function()
sampSendChat('На какой срок вы бы хотели оформить лицензию на вождение мототехники?')
wait(1500)
sampSendChat('Срок лицензий составляет от одного месяца до трёх')
wait(1500)
sampSendChat('Цена данной лицензии составляет 300.000$ на 1 месяц, 350.000$ на 2 месяца и 450.000$ на 3 месяца')
end)
end
if imgui.Button(u8'Полёт') then
WinState[0] = not WinState[0]
pilot[0] = not pilot[0]
lua_thread.create(function()
sampSendChat('Цена лицензии на полёты составляет 1.200.000$, а максимальный срок - 1 месяц')
wait(1500)
sampSendChat('Согласны на покупку?')
end)
end
if imgui.Button(u8'Рыбалка') then
show[0] = not show[0]
WinState[0] = not WinState[0]
lic_id = 3
lua_thread.create(function()
sampSendChat('На какой срок вы бы хотели оформить лицензию на рыбалку?')
wait(1500)
sampSendChat('Срок лицензий составляет от одного месяца до трёх')
wait(1500)
sampSendChat('Цена данной лицензии составляет 500.000$ на 1 месяц, 550.000$ на 2 месяца и 590.000$ на 3 месяца')
end)
end
if imgui.Button(u8'Водный т/с') then
show[0] = not show[0]
WinState[0] = not WinState[0]
lic_id = 4
lic = 'водный т/с'
lua_thread.create(function()
sampSendChat('На какой срок вы бы хотели оформить лицензию на вождение водного транспорта?')
wait(1500)
sampSendChat('Срок лицензий составляет от одного месяца до трёх')
wait(1500)
sampSendChat('Цена данной лицензии составляет 500.000$ на 1 месяц, 550.000$ на 2 месяца и 590.000$ на 3 месяца')
end)
end
if imgui.Button(u8'Оружие') then
med[0] = not med[0]
WinState[0] = not WinState[0]
lic_id = 5
lic = 'оружие'
lua_thread.create(function()
sampSendChat('Можно вашу медицинскую карту?')
wait(1000)
sampSendChat('/b /showmc ' ..myid)
end)
end
if imgui.Button(u8'Охота') then
WinState[0] = not WinState[0]
med[0]= not med[0]
lic_id = 6
lic= 'охота'
lua_thread.create(function()
sampSendChat('Можно вашу медицинскую карту?')
wait(1000)
sampSendChat('/b /showmc ' ..myid)
end)
end
if imgui.Button(u8'Раскопки') then
show[0] = not show[0]
WinState[0] = not WinState[0]
lic_id = 7
lic = 'раскопки'
lua_thread.create(function()
sampSendChat('На какой срок вы бы хотели оформить лицензию на раскопки?')
wait(1500)
sampSendChat('Срок лицензий составляет от одного месяца до трёх')
wait(1500)
sampSendChat('Цена данной лицензии составляет 1.100.000$ на 1 месяц, 1.200.000$ на 2 месяца и 1.290.000$ на 3 месяца')
end)
end
if imgui.Button(u8'Таксист') then
show[0] = not show[0]
WinState[0] = not WinState[0]
lic_id = 8
lic = 'работа в такси'
lua_thread.create(function()
sampSendChat('На какой срок вы бы хотели оформить лицензию на работу такси?')
wait(1500)
sampSendChat('Срок лицензий составляет от одного месяца до трёх')
wait(1500)
sampSendChat('Цена данной лицензии составляет 800.000$ на 1 месяц, 1.150.000$ на 2 месяца и 1.250.000$ на 3 месяца')
end)
end
if imgui.Button(u8'Механик') then
show[0] = not show[0]
WinState[0] = not WinState[0]
lic_id = 9
lic = 'работа механиком'
lua_thread.create(function()
sampSendChat('На какой срок вы бы хотели оформить лицензию на работу механиком?')
wait(1500)
sampSendChat('Срок лицензий составляет от одного месяца до трёх')
wait(1500)
sampSendChat('Цена данной лицензии составляет 800.000$ на 1 месяц, 1.150.000$ на 2 месяца и 1.250.000$ на 3 месяца')
end)
end
imgui.End()
end)
function cmd_gl(id)
WinState[0] = not WinState[0]
target_id = id
name = sampGetPlayerNickname(id)
name2 = name:gsub('_', ' ')
end
Что я сделал не так?