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) |