bayuMIR/client/dev/GUILayout/delay/ProtectAutoUseOBJ.lua

77 lines
1.9 KiB
Lua

ProtectAutoUseOBJ = {}
ProtectAutoUseOBJ.JIU_SETTING_ID = 13000
ProtectAutoUseOBJ.APPLE_SETTING_ID = 13001
ProtectAutoUseOBJ.JIU_LIMIT = 6000
ProtectAutoUseOBJ.APPLE_CD_VAR = "INT_自动苹果"
ProtectAutoUseOBJ.APPLE_ITEM_NAME = "苹果"
local function isSettingEnabled(settingID)
local values = SL:GetValue("SETTING_VALUE", settingID)
return values and values[1] == 1
end
local function getServerTime()
if SL.Get_SERVER_TIME then
return tonumber(SL:Get_SERVER_TIME()) or 0
end
return tonumber(SL:GetValue("SERVER_TIME")) or os.time()
end
local function getJiuqiValue()
if SL:Get_EQUIPBYPOS(16) ~= "紫金葫芦" then
return nil
end
local equipData = SL:Get_EQUIP_DATA(16)
if not equipData or not equipData.MakeIndex then
return nil
end
return tonumber(SL:GetValue("ITEM_CUSTOM_VAR_BY_VNAME", equipData.MakeIndex, "INT_葫芦刀魂当前进度")) or 0
end
function ProtectAutoUseOBJ:checkAutoJiu()
if not isSettingEnabled(self.JIU_SETTING_ID) then
return
end
local jiuqi = getJiuqiValue()
if jiuqi and jiuqi < self.JIU_LIMIT then
ssrMessage:SubLink("ClickOnItem_autoUseJiu")
end
end
function ProtectAutoUseOBJ:checkAutoApple()
local values = SL:GetValue("SETTING_VALUE", self.APPLE_SETTING_ID)
if not values or values[1] ~= 1 then
return
end
local now = getServerTime()
local appleCount = tonumber(SL:Get_ITEM_COUNT(self.APPLE_ITEM_NAME)) or 0
if appleCount <= 0 then
return
end
local cdTime = tonumber(SL:Get_SERVER_VALUE(string.format("HUMAN(%s)",self.APPLE_CD_VAR))) or 0
if now > 0 and now >= cdTime then
ssrMessage:SubLink("ClickOnItem_autoUseApple")
end
end
function ProtectAutoUseOBJ:main()
SL:Schedule(function()
self:checkAutoJiu()
self:checkAutoApple()
end, 1)
end
return ProtectAutoUseOBJ