67 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
--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) |