Lua [RakBot] OnFoot/InCar Route Recording System

vadimka0216

Известный
38
63
Я запустил 13 штук defCallAdd и бот работал, потом я запустил маршрут и бот завис и так всегда


Из этого следует, что ракбот зависает не из-за того что вызвано много defCallAdd, а из-за того, что что-то его подвисает в коде выполнения маршрута! Что это может быть????? ХЕЛП МИ

Сделай фикс этой фигни, понятно же что это 100% из-за кода воспроизведения из-за какой-то фигни начинает подвисать во время воспроизведения


UPD: у меня уже 30 минут фигачит 13 штук defCallAdd и нету зависания.
Щас запустил маршрут и все окна повисли!!!!!!


Посмотреть вложение 60452Посмотреть вложение 60453
Как вариант, ограничьте вызов функций bitStreamDelete, bitStreamNew, сделав указатель на ресурс глобальным и постоянно очищая его одним вызовом bitStreamReset . Это вопрос оптимизации.
Вопрос "краша" - в ракботе нельзя создавать одинаковые колбэки в двух скриптах(постарайтесь упаковать все в одном файле)
 
  • Нравится
Реакции: Shamanije

frit

Известный
389
174
бот не бегает, чо делать
корды меняются, а в игребот не бежит
 
Последнее редактирование:

Shamanije

Известный
Автор темы
Друг
961
921
бот не бегает, чо делать
корды меняются, а в игребот не бежит
если координаты в окне меняются, то бот уже по определению не может не бежать. проверял на тестовом сервере, все работает. на каком сервере ты пробовал запускать маршрут?
 

frit

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

Shamanije

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

Shamanije

Известный
Автор темы
Друг
961
921
Версия 1.2.1. Что нового?
RakBot:
- Отредактирован код с упором на оптимизацию (Спасибо @vadimka0216), исправлены ошибки в заполнении пакетов.
- Исправлена ошибка с выставлением неправильного поворота бота после завершения воспроизведения маршрута. (Спасибо @Rei)
- Возможно исправлена проблема с воспроизведением маршрутов для поездов. Заинтересованных пользователей прошу отписать в теме по поводу работоспособности.
Moonloader:
Ничего.
 

Shamanije

Известный
Автор темы
Друг
961
921
@Shamanije, как отправить rpc, чтоб бот сел в машину без кика?
Lua:
local nop = false

function onSendRpc(id)
    if nop and id == 26 then
        return true
    end
end

function onPlayerPutInVehicle(vehicleId, seatId)
    if nop then
        nop = false
    end
end

function enterVehicleFixed(id)
    local bs = bitStreamNew()
    bitStreamWriteWord(bs, id)
    bitStreamWriteByte(bs, 0)
    sendRpc(26, bs)
    bitStreamDelete(bs)
    enterVehicle(id, 0)
    nop = true
end
 

vodolaz_romashka

Новичок
2
0
Lua:
local nop = false

function onSendRpc(id)
    if nop and id == 26 then
        return true
    end
end

function onPlayerPutInVehicle(vehicleId, seatId)
    if nop then
        nop = false
    end
end

function enterVehicleFixed(id)
    local bs = bitStreamNew()
    bitStreamWriteWord(bs, id)
    bitStreamWriteByte(bs, 0)
    sendRpc(26, bs)
    bitStreamDelete(bs)
    enterVehicle(id, 0)
    nop = true
end
А как это использовать? Вот тут вместо id, нужно id машины?
source:
function enterVehicleFixed(id)
    local bs = bitStreamNew()
    bitStreamWriteWord(bs, id)
    bitStreamWriteByte(bs, 0)
    sendRpc(26, bs)
    bitStreamDelete(bs)
    enterVehicle(id, 0)
    nop = true
end
 

Shamanije

Известный
Автор темы
Друг
961
921
А как это использовать? Вот тут вместо id, нужно id машины?
source:
function enterVehicleFixed(id)
    local bs = bitStreamNew()
    bitStreamWriteWord(bs, id)
    bitStreamWriteByte(bs, 0)
    sendRpc(26, bs)
    bitStreamDelete(bs)
    enterVehicle(id, 0)
    nop = true
end
Вызывать функцию с аргументом в виде айди авто
 

winten

Потрачен
409
182
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Наконец то применил этот скрипт на практике.
У меня маршрут из 4.5к пакетов сохранялся около минуты (че так много то? при условии что у меня ссд и размер файла всего 1688 КБ)
А так в целом все понравилось. Несмотря на то, что при количестве пакетов более 3к вылетает предупреждение о возможном краше, у меня ничего не крашнуло. Разве из-за того что в таблице больше 3к элементов может крашнуться игра?
 

Shamanije

Известный
Автор темы
Друг
961
921
Наконец то применил этот скрипт на практике.
У меня маршрут из 4.5к пакетов сохранялся около минуты (че так много то? при условии что у меня ссд и размер файла всего 1688 КБ)
А так в целом все понравилось. Несмотря на то, что при количестве пакетов более 3к вылетает предупреждение о возможном краше, у меня ничего не крашнуло. Разве из-за того что в таблице больше 3к элементов может крашнуться игра?
краш может произойти при попытке сохранения большого маршрута, странно что скрипт вообще сохранил 4.5к пакетов