Files
chuanqi-server-instance/LogicServer/data/functions/ItemEvent/UseExpBox.txt
2024-12-16 20:45:03 +08:00

67 lines
2.2 KiB
Plaintext
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

--lua script
--ʹ<>þ<EFBFBD><C3BE><EFBFBD>ħ<EFBFBD><C4A7><><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, UseExpJade.txt)
--#include "data\functions\ItemEvent\ItemUseCount.txt" once
--#include "data\functions\GlobalMiscExpand\GlobalMisc.txt" once
--#include "data\config\item\ExpBox.txt" once
--[[
--<2D><><EFBFBD><EFBFBD>buff<66><66><EFBFBD><EFBFBD>Ʒ
--sysarg:ʵ<><CAB5><EFBFBD>ָ<EFBFBD><D6B8>
--itemidx: <20><>Ʒ<EFBFBD><C6B7>ID
--itemPtr: <20><>Ʒ<EFBFBD><C6B7>ָ<EFBFBD><D6B8>
--ItemTable: <20><><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD>б<EFBFBD>
--]]
function UseExpBox(sysarg, count, itemidx, itemPtr,ItemTable, delType, param) -- count <20><>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>ܶѵ<DCB6><D1B5><EFBFBD>
--print("UseExpBox, itemidx="..itemidx)
if(Actor.getItemCount(sysarg, itemidx) == 0) then
Actor.sendTipmsg( sysarg,OldLang.ScriptTips.comm013,ttTipmsgWindow )
return
end
--local todayTimes = GetDailyFlag(sysarg, DailyFlagDefine.UseExpBoxTimes) or 0
local lastTimes, maxTimes = getItemUseCount(sysarg, itemidx)
--print("UseExpBox, lastTimes="..lastTimes..", maxTimes="..maxTimes)
if lastTimes <= 0 then
Actor.sendTipmsg( sysarg, OldLang.Script.ExpBox001, ttFlyTip )
return
end
local nExpMax = Item.getItemProperty(sysarg, itemPtr, Item.ipItemDuaMax, 0) --<2D><><EFBFBD><EFBFBD><EFBFBD>
local nExpHas = Item.getItemProperty(sysarg, itemPtr, Item.ipItemDua, 0) --<2D><><EFBFBD>о<EFBFBD><D0BE><EFBFBD>
--print("UseExpBox, nExpMax="..nExpMax..", nExpHas="..nExpHas)
if nExpHas < nExpMax then --<2D><><EFBFBD><EFBFBD>δ<EFBFBD><CEB4>
Actor.sendTipmsg( sysarg, OldLang.Script.ExpBox002, ttFlyTip )
return
end
if nExpHas > nExpMax then --<2D><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
nExpHas = nExpMax
end
if Actor.removeItemByPtr(sysarg, itemPtr, 1, true, "ExpBox", 219) > 0 then
if AddDailyItemUseCount(sysarg, itemidx, 1) then --<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϳͻ<CDBF><CDBB><EFBFBD>
AddExpToActor(sysarg, nExpHas, 218 )
Actor.sendTipmsg( sysarg, string.format(OldLang.Script.ExpBox003, nExpHas, lastTimes-1), ttFlyTip )
end
return true
end
end
function GetExpBoxTableFromId(itemId)
for k, v in ipairs(ExpBoxTable) do
if v.item_id == itemId then
return v
end
end
return nil
end
function UseExpBoxItemInit(sysarg)
for i = 1,table.getn(ExpBoxTable) do
local x = ExpBoxTable[i]
GlobalItemFn[x.item_id] = { func = UseExpBox, params = x }
end
end
table.insert(InitFnTable, UseExpBoxItemInit)