Lua [RakBot] OnFoot/InCar Route Recording System

Shamanije

Известный
Автор темы
Друг
961
920
Версия SA-MP
  1. 0.3.7 (R1)
  2. Другая
OnFoot/InCar Route Recording System

Из названия темы понятно, что скрипт предназначен для записи маршрутов в программе RakBot. Знаю, что в комплекте с ракботом уже идет SF плагин для записи OnFoot маршрутов, но я сделал свою, просто потому что я могу. Но, почему то, я ни разу не видел на просторах данного форума ботов с записанными InCar маршрутами, поэтому решил выложить скрипт, над которым работал около полугода, но всерьёз занялся им только позавчера.

Как с этим работать?

Запись маршрутов производится в клиенте игры, для этого предназначен lua скрипт, который надо кинуть в папку moonloader. Для начала процесса записи маршрута введите команду /rec [имя файла] и в нижней части экрана появятся цифры, которые обозначают число записанных пакетов. Записанные маршруты хранятся в папке rakbotRoutes, которая создается автоматически при первом запуске скрипта.
Воспроизводятся маршруты при помощи скрипта для RakBot, его нужно перенести в папку scripts. Чтобы воспроизвести маршрут необходимо перенести его в папку routes, которая находится в корне папки ракбота, после чего прописать команду !play [имя файла].
В обеих случаях название файла нужно вписывать без указания расширения.

В будущем я планирую добавить в скрипт для Moonloader интерфейс для дополнительных настроек, а так же будет доработать систему воспроизведения для RakBot скрипта. Реализация этого будет зависеть от реакции людей и общей востребованности этой затеи. На данный момент это своего рода демка, которая демонстрирует функционал обеих скриптов.
Особо заинтересованные люди могут подрезать себе системы записи/воспроизведения и строить на их базе свои боты. Разрешаю делать такое только с указанием источника механизма в виде этой темы!

ChangeLog:
Release (1.0)

1.1
1.2
1.2.1
Дальнейшего обновления функционала скрипта не будет, только фиксы ошибок! Запросы по типу "Сделай остановку на репорт/админа", "Сделай под бота автобусника" и им подобные будут отклоняться. Скрипт предназначен исключительно для записи маршрутов и их воспроизведения, а не для создания полноценных ботов с нужными для них функциями. Для этого есть другие программисты и я уверен, что с подобным они должны справиться. Именно для этого я сделал всё опенсурс и разрешил другим разработчикам использовать код в своих скриптах при указывании источника. Так-же в силу узкого функционала скрипта для Moonloader я решил не делать никаких гуи менюшек, ибо сам не представляю что туда можно всунуть. Думаю что две команды и клавиши можно использовать без ImGui. Спасибо за внимание.
Зависимости (Moonloader):
SAMPFUNCS
Moonloader

Автор: Shamanije
 

Вложения

  • ML route recoder.lua
    5.4 KB · Просмотры: 1,540
  • route player121.lua
    6.6 KB · Просмотры: 1,132
Последнее редактирование:

Salam Alekum

Участник
142
18
Это нормально? Когда управляешь персонажем через мышку,а потом !play,он плывёт, а когда через кнопки,всё нормально
 
Последнее редактирование:

Shamanije

Известный
Автор темы
Друг
961
920
Делать повороты движениями мыши
лучшего эффекта для плавных поворотов с подобным способом записи/воспроизведения не добиться. даже если со стороны смотреть, для других игроков на сервере ты будешь поворачивать не настолько плавно, чем у себя
 

Qusaber

Участник
33
4
Ребязи, кто дохуя в ракботе шарит как в афк перса поставить, эмуляция не работает (
 

Shamanije

Известный
Автор темы
Друг
961
920
Версия 1.1. Что нового?
Добавлено:
RakBot:
- Возможность остановки и возобновления воспроизведения маршрута. (!stop)
- Возможность зациклить воспроизведение маршрута. (!loop)
Moonloader:
- Добавлена клавиша начала/конца записи маршрута. По умолчанию F10.
- Добавлена команда и клавиша экстренной остановки записи маршрута. При её нажатии ранее записанный маршрут не сохраняется. Клавиша по умолчанию: F11 , команда: /stop.

Исправлено:
RakBot:
- Возможное воспроизведение случайного маршрута после выхода из автомобиля.
Moonloader:
- Скорость записи OnFoot маршрутов. При их воспроизведении бот бежал несколько быстрее, чем должен.
Важно!
Дальнейшего обновления функционала скрипта не будет, только фиксы ошибок! Запросы по типу "Сделай остановку на репорт/админа", "Сделай под бота автобусника" и им подобные будут отклоняться. Скрипт предназначен исключительно для записи маршрутов и их воспроизведения, а не для создания полноценных ботов с нужными для них функциями. Для этого на этом форуме есть другие разработчики и я уверен, что с подобным они должны справиться. Именно для этого я сделал всё опенсурс и разрешил другим разработчикам использовать код в своих скриптах при указании источника. Так-же в силу узкого функционала скрипта для Moonloader, я решил не делать никаких гуи менюшек, ибо сам не представляю что туда можно всунуть. Думаю что две команды и клавиши можно использовать без ImGui. Спасибо за внимание.
 
Последнее редактирование:

Thrill_Pill

Известный
315
108
Lua:
function onPrintLog(text)
    if text:find('Команда \"!play .-\" не была найдена') or text:find('Команда \"!stop\" не была найдена') or text:find('Команда \"!loop\" не была найдена') then
        return true
    end
end
Чтобы не писать это можно в onRunCommand return true поставь. 😘
 
Последнее редактирование:
  • Нравится
Реакции: Shamanije