- 15
- 2
Пытаюсь написать бота для себя на одном мертвом сервера от Аризона Геймс, перечитал много тем по диалоговым окнам и понял что ничего не понял.
Мне необходимо следующее: если диалоговое окно (/fishrod) (СКРИН 1) открыто, причем в первый раз, перейти в пятый пункт диалога(СКРИН 2) и установить первую наживку.
Если оно открывается второй раз, то аналогично вторую наживку.
На данном этапе написания бота всё упирается в работу с этими диалогами. Пытался что-то подглядеть вот тут, но не понял что происходит в коде и как его к себе интегрировать в свой код: https://www.blast.hk/threads/33469/#post-329772
Свою работу прикрепляю файлом и кодом
Мне необходимо следующее: если диалоговое окно (/fishrod) (СКРИН 1) открыто, причем в первый раз, перейти в пятый пункт диалога(СКРИН 2) и установить первую наживку.
Если оно открывается второй раз, то аналогично вторую наживку.
На данном этапе написания бота всё упирается в работу с этими диалогами. Пытался что-то подглядеть вот тут, но не понял что происходит в коде и как его к себе интегрировать в свой код: https://www.blast.hk/threads/33469/#post-329772
Свою работу прикрепляю файлом и кодом
id первого диалога - 1707
id второго диалога - 1708
id второго диалога - 1708
Lua:
script_name('Fish')
script_version('1.4')
script_author('VanCleef')
local samp = require 'lib.samp.events'
require "lib.sampfuncs"
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(10) end
while true do
wait(0)
end
end
function samp.onServerMessage(color, text)
if string.find(text,'Поклёвка! Тяните и старайтесь держать уровень натяжения лески по середине шкалы!',1,true) then
lua_thread.create(function()
wait(500)
sampAddChatMessage('Мини-игра началась!',0xe01010)
setVirtualKeyDown(VK_SPACE, true)
wait(1000)
setVirtualKeyDown(VK_SPACE, false)
wait(1000)
setVirtualKeyDown(VK_SPACE, true)
wait(1000)
setVirtualKeyDown(VK_SPACE, false)
wait(1000)
setVirtualKeyDown(VK_SPACE, true)
wait(1000)
setVirtualKeyDown(VK_SPACE, false)
wait(1000)
setVirtualKeyDown(VK_SPACE, true)
wait(1000)
setVirtualKeyDown(VK_SPACE, false)
wait(1000)
sampAddChatMessage('Вытянул рыбку!',0x521c9e)
wait(500)
sampAddChatMessage('Закидываю удочку!',0x00c8ff)
wait(500)
sampSendChat('/fish')
end)
end
if string.find(text,'Туда куда вы',1,true) then
lua_thread.create(function()
wait(5000)
sampAddChatMessage('Неподходящее место, закидываю удочку снова',0x00c8ff)
sampSendChat('/fish')
end)
end
end
function samp.onShowDialog(dialogId, style, title, button1, button2, text)
if text:find("Когда от поплавка") and title:find("Подсказка") then
lua_thread.create(function()
sampSendDialogResponse(dialogId, 1, nil, nil)
wait(1000)
setVirtualKeyDown(VK_RETURN, true)
wait(500)
setVirtualKeyDown(VK_RETURN, false)
wait(500)
sampAddChatMessage('Вы убрали уведомление.',0x00c8ff)
sampAddChatMessage('Закидываю удочку!',0x00c8ff)
wait(500)
sampSendChat('/fish')
end)
end
if text:find("на которую ловится рыба") and title:find("Подсказка") then
lua_thread.create(function()
sampSendDialogResponse(dialogId, 1, nil, nil)
wait(1000)
setVirtualKeyDown(VK_RETURN, true)
wait(500)
setVirtualKeyDown(VK_RETURN, false)
wait(500)
sampAddChatMessage('Меняем наживку.',0xf7ff00)
wait(500)
setVirtualKeyDown(VK_RETURN, true)
wait(500)
setVirtualKeyDown(VK_RETURN, false)
wait(500)
sampSendChat('/fishrod')
end)
end
end