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")
endonUnload
Вызывается при выгрузке скрипта
lua
function onUnload()
print("goodbye world")
endonUpdate
Вызывается каждые 5 мс
lua
function onUpdate()
print("update every 5 ms")
endonReceiveRPC
Вызывается, когда бот получает входящий RPC
lua
function onReceiveRPC(int botId, int rpcId, BitStream bs)
print(("bot #%d received RPC %d"):format(botId, rpcId))
endonSendRPC
Вызывается, когда бот отправляет исходящий RPC
lua
function onSendRPC(int botId, int rpcId, BitStream bs)
print(("bot #%d sent RPC %d"):format(botId, rpcId))
endonReceivePacket
Вызывается, когда бот получает входящий пакет
lua
function onReceivePacket(int botId, BitStream bs)
print(("bot #%d received packet"):format(botId))
endonSendPacket
Вызывается, когда бот отправляет исходящий пакет
lua
function onSendPacket(int botId, BitStream bs)
print(("bot #%d sent packet"):format(botId))
endonEnterCommand
Вызывается, когда пользователь вводит что-то в консоль.
lua
function onEnterCommand(string cmd)
print("user entered: " .. cmd)
end