бот пилот

samperkrytoi228

Новичок
Автор темы
19
2
Версия SA-MP
  1. Любая
Всем привет, хочу написать бота пилота и мне нужен скрипт, который допустим будет делать маршрут ЛВ-ЛС. Прикол в том,что после завершения маршрута скрипт, который записывает маршрут пишет в чат команду /bye, а затем мой нижеприведенный скрипт должен реагировать на команду /bye и нажать enter, затем space. Можете подсказать,что не так с кодом?
Код:
local samp = require 'lib.samp.events'
local ffi = require 'ffi'
ffi.cdef("bool SetCursorPos(int X, int Y);")

function samp.onServerMessage(color--[[Цвет]], text--[[Текст]]) -- Этот хук ловит сообщения в чате
    lua_thread.create(function() -- создаем поток
         if string.match(text, "Сотрудник Бюро %{......%}выдал Вам чемодан с документацией на рейс %[%{......%}'Лас Вентурас' %{......%}-> %{......%}'Лос Сантос']%") then
            wait(0) -- отвечает за ожидание в размере секунды
            setVirtualKeyDown(0x50, true)
            wait(10)
            setVirtualKeyDown(0x50, false)
            wait(10)
            setVirtualKeyDown(0x50, true)
            wait(10)
            setVirtualKeyDown(0x50, false) ------------СКРИПТ ВРУБИЛСЯ -----------------
            wait(10)
            ffi.C.SetCursorPos(1079, 525) -- ВНИЗ ПРОКРУТ
            setVirtualKeyDown(0x01, true)
            wait(50)
            setVirtualKeyDown(0x01, false)
            wait(50)
            ffi.C.SetCursorPos(868, 547) -- КНОПКА РЕЙС
            setVirtualKeyDown(0x01, true)
            wait(50)
            setVirtualKeyDown(0x01, false)
            wait(50)
            ffi.C.SetCursorPos(877, 673) -- КНОПКА СТАРТ
            setVirtualKeyDown(0x01, true)
            wait(50)
            setVirtualKeyDown(0x01, false)
            wait(50)
            setVirtualKeyDown(0x50, true) ---------------- СКРИПТ ВЫРУБИЛСЯ --------------------
            wait(10)
            setVirtualKeyDown(0x50, false)
            wait(10)
            setVirtualKeyDown(0x50, true)
            wait(10)
            setVirtualKeyDown(0x50, false)           
                if string.match(text, "Пассажиры в самолете") then
                    wait(100) ------------------------------------- ОТСЮДА ----------------------------------------------
                    setVirtualKeyDown(0x50, true)
                    wait(10)
                    setVirtualKeyDown(0x50, false)
                    wait(10)
                    setVirtualKeyDown(0x50, true)
                    wait(10)
                    setVirtualKeyDown(0x50, false)
                    wait(50) ------------------------------------ ДО СЮДА -----------------------------------------------------------
                    ffi.C.SetCursorPos(1080, 534) ------ ПРОКРУТ ВНИЗ --------------
                    setVirtualKeyDown(0x01, true)
                    wait(10)
                    setVirtualKeyDown(0x01, false)
                    wait(10)
                    ffi.C.SetCursorPos(869, 533) -------- КНОПКА РЕЙС ---------------
                    setVirtualKeyDown(0x01, true)
                    wait(10)
                    setVirtualKeyDown(0x01, false)
                    ffi.C.SetCursorPos(877, 673) --------------- КНОПКА СТАРТ -------------------------
                    setVirtualKeyDown(0x01, true)
                    wait(10)
                    setVirtualKeyDown(0x01, false)
                    wait(10)
                    setVirtualKeyDown(0x50, true)
                    wait(10)
                    setVirtualKeyDown(0x50, false)
                    wait(10)
                    setVirtualKeyDown(0x50, true)
                    wait(10)
                    setVirtualKeyDown(0x50, false)
                    wait(300)
                    function samp.onSendCommand(command)
                        lua_thread.create(function() -- создаем поток
                            if command:find("/bye") then
                                setVirtualKeyDown(13, true) --- ВЫЛЕЗАЕМ С САМОЛЕТА ДЛЯ АКТИВАЦИИ СКЕЙТА
                                wait(200)
                                setVirtualKeyDown(13, false) --- ВЫЛЕЗЛИ
                                wait(3000)
                                setVirtualKeyDown(32, true) ---- АКТИВИРУЕМ СКЕЙТ
                                wait(300)
                                setVirtualKeyDown(32, false) --- АКТИВИРОВАЛИ СКЕЙТ
                                wait(0) ------------------------------------- ОТСЮДА ----------------------------------------------
                                setVirtualKeyDown(0x50, true)
                                wait(10)
                                setVirtualKeyDown(0x50, false)
                                wait(10)
                                setVirtualKeyDown(0x50, true)
                                wait(10)
                                setVirtualKeyDown(0x50, false)
                                wait(50) ----------------------------------- ДО СЮДА -----------------------------------
                                ffi.C.SetCursorPos(869, 541)
                                wait(10)
                                setVirtualKeyDown(0x01, true)
                                wait(10)
                                setVirtualKeyDown(0x01, false)
                                wait(10)
                                ffi.C.SetCursorPos(1078, 549)
                                wait(10)
                                setVirtualKeyDown(0x01, true)
                                wait(10)
                                setVirtualKeyDown(0x01, false)
                                wait(10)
                                ffi.C.SetCursorPos(877, 673)
                                wait(10)
                                setVirtualKeyDown(0x01, true)
                                wait(10)
                                setVirtualKeyDown(0x01, false)
                                wait(10)
                                wait(0) ------------------------------------- ОТСЮДА ----------------------------------------------
                                setVirtualKeyDown(0x50, true)
                                wait(10)
                                setVirtualKeyDown(0x50, false)
                                wait(10)
                                setVirtualKeyDown(0x50, true)
                                wait(10)
                                setVirtualKeyDown(0x50, false)
                                wait(50) ----------------------------------- ДО СЮДА -----------------------------------
                                    if command:find ("/bye") then
                                        setVirtualKeyDown(13, true)
                                        wait(200)
                                        setVirtualKeyDown(13, false)
                                        wait(2000) ---------- ВЫЛЕЗЛИ СО СКЕЙТА
                                        setVirtualKeyDown(0x50, true)
                                        wait(10)
                                        setVirtualKeyDown(0x50, false)
                                        wait(10)
                                        setVirtualKeyDown(0x50, true)
                                        wait(10)
                                        setVirtualKeyDown(0x50, false)
                                        wait(50) ----------------------------------- ДО СЮДА -----------------------------------
                                        ffi.C.SetCursorPos(1078, 518)
                                        wait(10)
                                        setVirtualKeyDown(0x01, true)
                                        wait(10)
                                        setVirtualKeyDown(0x01, false)
                                        wait(10)
                                        ffi.C.SetCursorPos(869, 537)
                                        wait(10)
                                        setVirtualKeyDown(0x01, true)
                                        wait(10)
                                        setVirtualKeyDown(0x01, false)
                                        wait(10)
                                        ffi.C.SetCursorPos(877, 673)
                                        wait(10)
                                        setVirtualKeyDown(0x01, true)
                                        wait(10)
                                        setVirtualKeyDown(0x01, false)
                                        wait(10)
                                        wait(0) ------------------------------------- ОТСЮДА ----------------------------------------------
                                        setVirtualKeyDown(0x50, true)
                                        wait(10)
                                        setVirtualKeyDown(0x50, false)
                                        wait(10)
                                        setVirtualKeyDown(0x50, true)
                                        wait(10)
                                        setVirtualKeyDown(0x50, false)
                                        wait(50) ----------------------------------- ДО СЮДА -----------------------------------
                                    end
                            end
                        end)
                    end
                end
        end
    end) -- закрываем поток
end
 

YarikVL

Известный
Проверенный
4,767
1,819
Всем привет, хочу написать бота пилота и мне нужен скрипт, который допустим будет делать маршрут ЛВ-ЛС.
Можете подсказать,что не так с кодом?
Чел… всё не так. Надо смотреть все гайды внимательно сначала:
Код:
local samp = require 'lib.samp.events'
local ffi = require 'ffi'
ffi.cdef("bool SetCursorPos(int X, int Y);")

function samp.onServerMessage(color--[[Цвет]], text--[[Текст]]) -- Этот хук ловит сообщения в чате
    lua_thread.create(function() -- создаем поток
         if string.match(text, "Сотрудник Бюро %{......%}выдал Вам чемодан с документацией на рейс %[%{......%}'Лас Вентурас' %{......%}-> %{......%}'Лос Сантос']%") then
            wait(0) -- отвечает за ожидание в размере секунды
            setVirtualKeyDown(0x50, true)
            wait(10)
            setVirtualKeyDown(0x50, false)
            wait(10)
            setVirtualKeyDown(0x50, true)
            wait(10)
            setVirtualKeyDown(0x50, false) ------------СКРИПТ ВРУБИЛСЯ -----------------
            wait(10)
            ffi.C.SetCursorPos(1079, 525) -- ВНИЗ ПРОКРУТ
            setVirtualKeyDown(0x01, true)
            wait(50)
            setVirtualKeyDown(0x01, false)
            wait(50)
            ffi.C.SetCursorPos(868, 547) -- КНОПКА РЕЙС
            setVirtualKeyDown(0x01, true)
            wait(50)
            setVirtualKeyDown(0x01, false)
            wait(50)
            ffi.C.SetCursorPos(877, 673) -- КНОПКА СТАРТ
            setVirtualKeyDown(0x01, true)
            wait(50)
            setVirtualKeyDown(0x01, false)
            wait(50)
            setVirtualKeyDown(0x50, true) ---------------- СКРИПТ ВЫРУБИЛСЯ --------------------
            wait(10)
            setVirtualKeyDown(0x50, false)
            wait(10)
            setVirtualKeyDown(0x50, true)
            wait(10)
            setVirtualKeyDown(0x50, false)         
                if string.match(text, "Пассажиры в самолете") then
                    wait(100) ------------------------------------- ОТСЮДА ----------------------------------------------
                    setVirtualKeyDown(0x50, true)
                    wait(10)
                    setVirtualKeyDown(0x50, false)
                    wait(10)
                    setVirtualKeyDown(0x50, true)
                    wait(10)
                    setVirtualKeyDown(0x50, false)
                    wait(50) ------------------------------------ ДО СЮДА -----------------------------------------------------------
                    ffi.C.SetCursorPos(1080, 534) ------ ПРОКРУТ ВНИЗ --------------
                    setVirtualKeyDown(0x01, true)
                    wait(10)
                    setVirtualKeyDown(0x01, false)
                    wait(10)
                    ffi.C.SetCursorPos(869, 533) -------- КНОПКА РЕЙС ---------------
                    setVirtualKeyDown(0x01, true)
                    wait(10)
                    setVirtualKeyDown(0x01, false)
                    ffi.C.SetCursorPos(877, 673) --------------- КНОПКА СТАРТ -------------------------
                    setVirtualKeyDown(0x01, true)
                    wait(10)
                    setVirtualKeyDown(0x01, false)
                    wait(10)
                    setVirtualKeyDown(0x50, true)
                    wait(10)
                    setVirtualKeyDown(0x50, false)
                    wait(10)
                    setVirtualKeyDown(0x50, true)
                    wait(10)
                    setVirtualKeyDown(0x50, false)
                    wait(300)
                    function samp.onSendCommand(command)
                        lua_thread.create(function() -- создаем поток
                            if command:find("/bye") then
                                setVirtualKeyDown(13, true) --- ВЫЛЕЗАЕМ С САМОЛЕТА ДЛЯ АКТИВАЦИИ СКЕЙТА
                                wait(200)
                                setVirtualKeyDown(13, false) --- ВЫЛЕЗЛИ
                                wait(3000)
                                setVirtualKeyDown(32, true) ---- АКТИВИРУЕМ СКЕЙТ
                                wait(300)
                                setVirtualKeyDown(32, false) --- АКТИВИРОВАЛИ СКЕЙТ
                                wait(0) ------------------------------------- ОТСЮДА ----------------------------------------------
                                setVirtualKeyDown(0x50, true)
                                wait(10)
                                setVirtualKeyDown(0x50, false)
                                wait(10)
                                setVirtualKeyDown(0x50, true)
                                wait(10)
                                setVirtualKeyDown(0x50, false)
                                wait(50) ----------------------------------- ДО СЮДА -----------------------------------
                                ffi.C.SetCursorPos(869, 541)
                                wait(10)
                                setVirtualKeyDown(0x01, true)
                                wait(10)
                                setVirtualKeyDown(0x01, false)
                                wait(10)
                                ffi.C.SetCursorPos(1078, 549)
                                wait(10)
                                setVirtualKeyDown(0x01, true)
                                wait(10)
                                setVirtualKeyDown(0x01, false)
                                wait(10)
                                ffi.C.SetCursorPos(877, 673)
                                wait(10)
                                setVirtualKeyDown(0x01, true)
                                wait(10)
                                setVirtualKeyDown(0x01, false)
                                wait(10)
                                wait(0) ------------------------------------- ОТСЮДА ----------------------------------------------
                                setVirtualKeyDown(0x50, true)
                                wait(10)
                                setVirtualKeyDown(0x50, false)
                                wait(10)
                                setVirtualKeyDown(0x50, true)
                                wait(10)
                                setVirtualKeyDown(0x50, false)
                                wait(50) ----------------------------------- ДО СЮДА -----------------------------------
                                    if command:find ("/bye") then
                                        setVirtualKeyDown(13, true)
                                        wait(200)
                                        setVirtualKeyDown(13, false)
                                        wait(2000) ---------- ВЫЛЕЗЛИ СО СКЕЙТА
                                        setVirtualKeyDown(0x50, true)
                                        wait(10)
                                        setVirtualKeyDown(0x50, false)
                                        wait(10)
                                        setVirtualKeyDown(0x50, true)
                                        wait(10)
                                        setVirtualKeyDown(0x50, false)
                                        wait(50) ----------------------------------- ДО СЮДА -----------------------------------
                                        ffi.C.SetCursorPos(1078, 518)
                                        wait(10)
                                        setVirtualKeyDown(0x01, true)
                                        wait(10)
                                        setVirtualKeyDown(0x01, false)
                                        wait(10)
                                        ffi.C.SetCursorPos(869, 537)
                                        wait(10)
                                        setVirtualKeyDown(0x01, true)
                                        wait(10)
                                        setVirtualKeyDown(0x01, false)
                                        wait(10)
                                        ffi.C.SetCursorPos(877, 673)
                                        wait(10)
                                        setVirtualKeyDown(0x01, true)
                                        wait(10)
                                        setVirtualKeyDown(0x01, false)
                                        wait(10)
                                        wait(0) ------------------------------------- ОТСЮДА ----------------------------------------------
                                        setVirtualKeyDown(0x50, true)
                                        wait(10)
                                        setVirtualKeyDown(0x50, false)
                                        wait(10)
                                        setVirtualKeyDown(0x50, true)
                                        wait(10)
                                        setVirtualKeyDown(0x50, false)
                                        wait(50) ----------------------------------- ДО СЮДА -----------------------------------
                                    end
                            end
                        end)
                    end
                end
        end
    end) -- закрываем поток
end
Для работы с диалогами используется:
И тд

Чтобы код был читабельным и не используя CTRL + C и CTRL + V используют циклы. Если бы ты смотрел гайды, то знал бы:

И одно событие внутрь другого не запихивают!

Смотри гайды —> переписывай нормально код —> смотри в moonloader.log на ошибку:
https://www.blast.hk/threads/153745/ и исправляй.
 

владикс

Потрачен
535
184
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ты просто так не напишешь бота пилота, тебе нужно заебаться будет с маршрутами, либо на курде как у юры кода
у меня на шамале около 500 маршрутов вышло + тебе ещё нужно понять как работает эта хуйня, там не тупо цельный маршрут запустил и все
 
  • Нравится
Реакции: YarikVL

samperkrytoi228

Новичок
Автор темы
19
2

Чел… всё не так. Надо смотреть все гайды внимательно сначала:

Для работы с диалогами используется:
И тд

Чтобы код был читабельным и не используя CTRL + C и CTRL + V используют циклы. Если бы ты смотрел гайды, то знал бы:

И одно событие внутрь другого не запихивают!

Смотри гайды —> переписывай нормально код —> смотри в moonloader.log на ошибку:
https://www.blast.hk/threads/153745/ и исправляй.
Спасибо тебе за ответ. Но
1. Я хз про какие диалоги ты говоришь
2. Бро, я хз ваще если честно насчет событий. Мне просто нужен элементарный скрипт, который должен работать, но я не могу понять одно - Как его сделать

ты просто так не напишешь бота пилота, тебе нужно заебаться будет с маршрутами, либо на курде как у юры кода
у меня на шамале около 500 маршрутов вышло + тебе ещё нужно понять как работает эта хуйня, там не тупо цельный маршрут запустил и все
мужик, я уже записал все маршруты. Я все сделал, для идеального рабочего бота мне осталось всего его автоматизировать. Но я не могу написать данный скрипт, по тому и пишу данную тему
 
  • Bug
  • Злость
Реакции: Haymiritch, FSA. и YarikVL

владикс

Потрачен
535
184
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Спасибо тебе за ответ. Но
1. Я хз про какие диалоги ты говоришь
2. Бро, я хз ваще если честно насчет событий. Мне просто нужен элементарный скрипт, который должен работать, но я не могу понять одно - Как его сделать


мужик, я уже записал все маршруты. Я все сделал, для идеального рабочего бота мне осталось всего его автоматизировать. Но я не могу написать данный скрипт, по тому и пишу данную тему
сомневаюсь

просто интересн, сколько у тебя вышло всего маршрутов и сколько всего спавнов самолетов в каждом аэропорту?
 

samperkrytoi228

Новичок
Автор темы
19
2
сомневаюсь

просто интересн, сколько у тебя вышло всего маршрутов и сколько всего спавнов самолетов в каждом аэропорту?
ок

сомневаюсь

просто интересн, сколько у тебя вышло всего маршрутов и сколько всего спавнов самолетов в каждом аэропорту?
мужик, зачем мне эта запара с шамалами. кастомка есть, 6 рейсов, нахуя это ебатня с шамалами
 
Последнее редактирование: