Skip to content

Lua API

BitStream

Объект BitStream автоматически удаляется сборщиком мусора при отсутствии ссылок

СинтаксисОписание
local bs = BitStream()Создает новый объект BitStream
bs:writeBool(bool value)Записывает логическое значение в BitStream
bs:writeInt8(int value)Записывает 8-битное знаковое целое число в BitStream
bs:writeInt16(int value)Записывает 16-битное знаковое целое число в BitStream
bs:writeInt32(int value)Записывает 32-битное знаковое целое число в BitStream
bs:writeUInt8(int value)Записывает 8-битное беззнаковое целое число в BitStream
bs:writeUInt16(int value)Записывает 16-битное беззнаковое целое число в BitStream
bs:writeUInt32(int value)Записывает 32-битное беззнаковое целое число в BitStream
bs:writeFloat(float value)Записывает 32-битное число с плавающей запятой в BitStream
bs:writeString(string value)Записывает строку в BitStream
bs:writeEncoded(string value)Записывает сжатую строку в BitStream
bs:writeBitStream(BitStream bs)Записывает BitStream в BitStream
bs:resetWritePointer()Сбрасывает указатель записи в начало BitStream
bs:resetReadPointer()Сбрасывает указатель чтения в начало BitStream
bs:ignoreBits(int bits)Игнорирует указанное количество бит в BitStream
bs:ignoreBytes(int bytes)Игнорирует указанное количество байт в BitStream
bs:reset()Сбрасывает BitStream
local val = bs:readBool()Считывает логическое значение из BitStream
local val = bs:readInt8()Считывает 8-битное знаковое целое число из BitStream
local val = bs:readInt16()Считывает 16-битное знаковое целое число из BitStream
local val = bs:readInt32()Считывает 32-битное знаковое целое число из BitStream
local val = bs:readUInt8()Считывает 8-битное беззнаковое целое число из BitStream
local val = bs:readUInt16()Считывает 16-битное беззнаковое целое число из BitStream
local val = bs:readUInt32()Считывает 32-битное беззнаковое целое число из BitStream
local val = bs:readFloat()Считывает 32-битное число с плавающей запятой из BitStream
local val = bs:readString(int length)Считывает строку указанной длины из BitStream
local val = bs:readEncoded(int length)Считывает сжатую строку указанной длины из BitStream
local val = bs:getWriteOffset()Возвращает текущее смещение записи в BitStream
local val = bs:getReadOffset()Возвращает текущее смещение чтения в BitStream
local val = bs:getNumberOfBitsUsed()Возвращает количество использованных бит в BitStream
local val = bs:getNumberOfBytesUsed()Возвращает количество использованных байт в BitStream
local val = bs:getNumberOfUnreadBits()Возвращает количество непрочитанных бит в BitStream
local val = bs:getNumberOfUnreadBytes()Возвращает количество непрочитанных байт в BitStream

Proxy

Объект Proxy не удаляется автоматически. Используйте только SOCKS5 UDP proxy.

СинтаксисОписание
local prx = Proxy("ip", "port")Создает новый объект Proxy
local rpx = Proxy("ip", "port", "login", "password")Создает новый объект Proxy с логином и паролем
local ip = prx:getProxyIP()Возвращает IP-адрес Proxy
local port = prx:getProxyPort()Возвращает порт Proxy
local publicIp = prx:getPublicProxyIP()Возвращает публичный IP-адрес Proxy

ProxyPool

СинтаксисОписание
addProxyToPool(Proxy prx)Добавляет объект прокси в пул и начинает подключение к прокси
local val = getProxyCount()Возвращает количество прокси в пуле, которые были обработаны
function onProxyProcess(prx, status, err)Функция обратного вызова, когда прокси подключается. Proxy prx - объект прокси, bool status - true, если соединение успешно, и string err - сообщение об ошибке, если соединение не удалось.

Bot

Объект Bot не удаляется автоматически.

СинтаксисОписание
local bot = Bot()Создает новый объект Bot
bot:setProxy(Proxy prx)Устанавливает объект Proxy для Bot. Если вы не хотите использовать прокси, убедитесь вызвать метод с параметром Proxy("", ""). Обязательно установите прокси для бота в любом случае.
bot:setServerAddr(string ip)Устанавливает адрес сервера для Bot
bot:setServerPort(int port)Устанавливает порт сервера для Bot
bot:setServerPassword(string password)Устанавливает пароль сервера для Bot
bot:setName(string login)Устанавливает имя для Bot
bot:sendConnect()Отправляет пакет подключения к серверу
bot:sendPacket(BitStream bs)Отправляет пакет на сервер
bot:sendRPC(int id, BitStream bs)Отправляет RPC на сервер
bot:isConnected()Возвращает true, если бот подключен к серверу
bot:getBotLocalId()Возвращает локальный ID бота
bot:getName()Возвращает имя бота
bot:getServerAddr()Возвращает адрес сервера
bot:getServerPort()Возвращает порт сервера
bot:getServerPassword()Возвращает пароль сервера
bot:setFakePing(bool fake, int ping)Устанавливает фейковый пинг для бота
bot:getPing()Возвращает пинг бота

Другие функции

СинтаксисОписание
print(string text)Выводит строку в консоль
setConsoleTitle(string title)Устанавливает заголовок консоли
addEventHandler(string eventName, function handler)Добавляет обработчик событий
exit()Завершает программу
getAllBots()Возвращает таблицу со всеми ботами

События

onLoad

Вызывается при загрузке скрипта

lua
function onLoad()
    print("hello world")
end

onUnload

Вызывается при выгрузке скрипта

lua
function onUnload()
    print("goodbye world")
end

onUpdate

Вызывается каждые 5 мс

lua
function onUpdate()
    print("update every 5 ms")
end

onReceiveRPC

Вызывается, когда бот получает входящий RPC

lua
function onReceiveRPC(int botId, int rpcId, BitStream bs)
    print(("bot #%d received RPC %d"):format(botId, rpcId))
end

onSendRPC

Вызывается, когда бот отправляет исходящий RPC

lua
function onSendRPC(int botId, int rpcId, BitStream bs)
    print(("bot #%d sent RPC %d"):format(botId, rpcId))
end

onReceivePacket

Вызывается, когда бот получает входящий пакет

lua
function onReceivePacket(int botId, BitStream bs)
    print(("bot #%d received packet"):format(botId))
end

onSendPacket

Вызывается, когда бот отправляет исходящий пакет

lua
function onSendPacket(int botId, BitStream bs)
    print(("bot #%d sent packet"):format(botId))
end

onEnterCommand

Вызывается, когда пользователь вводит что-то в консоль.

lua
function onEnterCommand(string cmd)
    print("user entered: " .. cmd)
end

Все права защищены.