Что такое ракбот самп

Обновлено: 01.07.2024

Кому не интересен код и его разъяснение пропускайте все что есть под спойлером.

Это вставляем в начало скрипта.
local clock = os.clock - Присваеваем переменной clock время ПК
local spawnTime = 0x7FFFFFFF - Присваеваем переменной spawnTime максимальное время, позже пригодится

function onBotSpawn() - Создаём фукнцию с именем onBotSpawn
spawnTime = clock() - В переменную spawnTime записываем время спавна бота

Таким образом при помощи этого кода при спавне на сервере наш бот добирается до пикапа регистрации на BaseJumping пешком, записанным нами ранее, регистрируется на соревновании и ожидает начала. После начала проходит бейс и получает приз в размере 20.000$ и сразу же выходит из игры.

Что такое ракбот самп

Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:

Маппинг для сервера

Если вы хотите обновить Ваш сервер новыми доработками - то зайдите в наш раздел. Большой выбор готовых решений от наших пользователей

Моды для сервера

Огромный выбор различных модификаций для Вашего сервера. Пролистайте эти темы! Возможно именно там Вы найдете то, что искали уже давно.

Модификации SA

Хотите разнообразить свою игру в San Andreas? Смелее в наш раздел. Отличный сборник готовых решений. Играйте с удовольствием

Что такое ракбот самп

Так же прошу прощения у администрации, если тема создана не в том разделе. Судя по правилам раздела - этот урок не подходит никуда, но здесь были FAQ по RakBot, так что, я думаю, что она тут будет уместна.

С некоторых времен в RakBot появилась возможность писать собственные скрипты, тем самым расширяя его функционал. Для написания собственных сценариев используется урезанный язык Lua. Используется язык Lua во многих проектах, тому яркий пример Multi Theft Auto, где он используется серверным языком для разработки ресурсов/гейммодов. Разрабатывать на нём одно удовольствие, а так же неимоверно просто. Хотелось бы немного рассказать о языке и показать несколько наглядных примеров, с помощью которых Вы сможете написать собственные сценарии ботов. Подробную информацию о языке Вы можете найти на официальном сайте Lua.org, а если хотите углубиться - советую прочитать книгу Роберту Иерузалимски "Programming in Lua".


С первого взгляда может показаться, что событий для работы довольно мало, но поверьте - этого более, чем достаточно. Далее посмотрим на раздел "Функции" по той же ссылке.


Сразу бы хотелось отметить для тех, кто хоть немного знаком с языками программирования. В Lua присутствует параллельное присваивание значений, это значит, что мы можем указать через запятую несколько наименований переменных и после в этой же строке задать им значения, а так же можно возвращать из функции несколько значений, что здесь и используется. Пример использования:

Теперь, при поднятии бота, он автоматически начинает работу фермером. Разберём более подробно:

function - ключевое слово для объявления функции
onScriptStart - наименование функции. Ссылаясь на документацию - автоматически отрабатывает при инициализации сценария.
runCommand - выполнить команду/написать что-либо в чат. Использовал команду RakBot для старта работы фермера.
end - конец фукнкции.

Я на этом не остановился, так как понял его возможности и пошёл дальше. Мне нужно было хранить информацию о боте у себя на сервере и оттуда ими управлять. Для этого я написал веб-сервер, который принимал на себя запросы и в ответ отдавал ответ "Да", при успешном выполнении или же "Нет", при ошибке на стороне сервера или же не верном формате данных переданных с клиента. В этом мне помогла функция " openUrl(url) ". Теперь я знаю, на каком сервере какие админы онлайн, как работают мои боты, их статистика, так же управлял ими из ПУ. Я просто говорил им на какую работу нужно устраиваться, снимать деньги с банкомата и переводить это на другого игрока и так далее. Не правда ли хорошие возможности? Все это доступно, но многие даже не знаю о таких возможностях.

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

Разберём более подробно, учитывая предыдущий разбор:
if else - стандартный оператор ветвления
string.match - проверяет, находится ли в строке подстрока. Я проверяю, если в чат-логе отобразилось "Геймтекст: Welcome", значит бот авторизовался и может приступать к работе. Можно использовать вместо string.match -> string.find .
openUrl - фукнция, для отправки Get запроса на конкретный URL. По url у меня находится мой API, через который мне поступают данные с ботов и куда я даю команды с клиента.

"http://mysite/Bot/Auth/".. getNickName() - оператор ".." - сложение строк. Еслибот авторизован с ником "СМ", то URL примет следующий вид: "http//mysite/Bot/Auth/CM"

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

В этом уроке я затронул небольшие основы языка, а так же показал, как можно работать с фукнциональными возможностями RakBot собственными руками. Если же будет интересно - смогу написать больше уроков, благодаря которым Вы сможете писать собственных ботов на основе RakBot.

Читайте также: