Создаю тему дабы не потерять, то что уже есть.
configs\autopolicy\autokillmonster.lua здесь меняется код на свап через f12,
Исходный код свапа
Код доработанный мною
configs\autopolicy\autokillmonster.lua здесь меняется код на свап через f12,
Исходный код свапа
---------------------------------------------------------------------
-- Автосвап
-- CREATED BY: kaito373, 2019/06/15
---------------------------------------------------------------------
AutoKillMonster = PolicyBase:new()
-- Начало
function AutoKillMonster:OnEnter()
PlayerAPI.UseItem(0) --Ячейка инвентаря 1
PlayerAPI.UseItem(1) --Ячейка инвентаря 2
PlayerAPI.UseItem(2) --Ячейка инвентаря 3
PlayerAPI.UseItem(3) --Ячейка инвентаря 4
end
-- Завершение сразу после начала
function AutoKillMonster:OnTick(deltatime)
PlayerAPI.StopPolicy()
end
-- Завершение
function AutoKillMonster:OnLeave()
end
AIManager:RegisterPolicy("AutoKillMonster", AutoKillMonster)
Код доработанный мною
---------------------------------------------------------------------
-- Автосвап 5 ячеек инвентаря с задержкой
-- UPDATED BY: LeviGenrix
---------------------------------------------------------------------
AutoKillMonster = PolicyBase:new({
start_slot = 0, -- Текущая ячейка
stop_slot = 4, -- Текущая ячейка
swap_delay = 0.2, -- Задержка между действиями
start_time = 0 -- Время начала
})
function AutoKillMonster:OnEnter()
self.start_slot = 0
self.start_time = os.clock()
PlayerAPI.UseItem(0) -- Старт с первой ячейки
end
function AutoKillMonster:OnTick(deltatime)
-- Проверяем задержку между действиями
if os.clock() - self.start_time < self.swap_delay then
return
end
-- Переход к следующей ячейке
self.start_slot = self.start_slot + 1
if self.start_slot <= self.stop_slot then -- 0-4 = 5 ячеек
PlayerAPI.UseItem(self.start_slot)
self.start_time = os.clock()
else
PlayerAPI.StopPolicy() -- Остановка после 5-й ячейки
end
end
AIManager:RegisterPolicy("AutoKillMonster", AutoKillMonster)