Конечно, там ничего сложного. Смотри, разработчики что-то поменяли в кодировке капчи, поэтому чтобы бот снова заработал, нужно заменить в нём часть кода.
Открой скрипт через блокнот или Notepad++, там через поиск найди cef, будет строка типа:
Листай до самого низа, пока не найдёшь конец функции, он заканчивается вот тут:
Сотри полностью функцию, и аккуратно, чтобы ничего не сломать, вставь туда следующую функцию:
local cef = (function()
local this = {}
function this:onDisplay(str)
return str
end
function this:onSend(str)
return str
end
function this:send(str)
local bs = raknetNewBitStream()
raknetBitStreamWriteInt8(bs, 220)
raknetBitStreamWriteInt8(bs, 18)
raknetBitStreamWriteInt16(bs, #str)
raknetBitStreamWriteString(bs, str)
raknetBitStreamWriteInt32(bs, 0)
raknetSendBitStream(bs)
raknetDeleteBitStream(bs)
end
function this:emulation(str)
local bs = raknetNewBitStream()
raknetBitStreamWriteInt8(bs, 17)
raknetBitStreamWriteInt32(bs, 0)
raknetBitStreamWriteInt16(bs, #str)
raknetBitStreamWriteInt8(bs, is_encoded and 1 or 0)
if is_encoded then
raknetBitStreamEncodeString(bs, str)
else
raknetBitStreamWriteString(bs, str)
end
raknetEmulPacketReceiveBitStream(220, bs)
raknetDeleteBitStream(bs)
end
function this:call()
local cef = setmetatable({}, { __index = self })
addEventHandler("onReceivePacket", function (id, bs)
if id == 220 then
raknetBitStreamIgnoreBits(bs, 8)
if (raknetBitStreamReadInt8(bs) == 17) then
raknetBitStreamIgnoreBits(bs, 32)
local length = raknetBitStreamReadInt16(bs)
local encoded = raknetBitStreamReadInt8(bs)
local str = (encoded ~= 0) and raknetBitStreamDecodeString(bs, length + encoded) or raknetBitStreamReadString(bs, length)
local result = cef:onDisplay(str)
if type(result) ~= "nil" then
return result
end
end
end
end)
addEventHandler("onSendPacket", function (id, bs, priority, reliability, orderingChannel)
if id == 220 then
local id = raknetBitStreamReadInt8(bs)
local packettype = raknetBitStreamReadInt8(bs)
local strlen = raknetBitStreamReadInt16(bs)
local str = raknetBitStreamReadString(bs, strlen)
if packettype ~= 0 and packettype ~= 1 and #str > 2 then
local result = cef:onSend(str)
if type(result) ~= "nil" then
return result
end
end
end
end)
return cef
end
return setmetatable(this, { __call = this.call })
end)()
Теперь сохрани, и бот должен снова начать работать.