56 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| --boss令
 | |
| 
 | |
| ----#include "data\functions\ItemEvent\ItemUseCount.txt" once
 | |
| --#include "data\functions\GlobalMiscExpand\GlobalMisc.txt" once
 | |
| --#include "data\config\item\BossToken.txt" once
 | |
| 
 | |
| 
 | |
| function UseBossToken(sysarg, count, itemidx, itemPtr,ItemTable, delType, param)
 | |
| 	--local lastTimes, maxTimes = getItemUseCount(sysarg, itemidx)
 | |
| 	--if lastTimes <= 0 then
 | |
| 	--    local MaxDailyUseCircleSoulItemTimes = ItemUseCountCfg[itemidx].dailyUseLimit
 | |
| 	--	Actor.sendTipmsg( sysarg, OldLang.Script.EscortTips030, ttFlyTip )
 | |
| 	--	return
 | |
| 	--end
 | |
| 	if Actor.getSceneId(sysarg) ~= bossTokenConfig.senceId then
 | |
| 		Actor.sendTipmsg( sysarg, OldLang.Script.UseBossToken001, ttFlyTip )
 | |
| 		return
 | |
| 	end
 | |
| 	if Actor.hasMapAreaAttri(sysarg, aaSaft) then
 | |
| 		Actor.sendTipmsg( sysarg, OldLang.Script.UseBossToken004, ttFlyTip )
 | |
| 		return
 | |
| 	end
 | |
| 	local SenceName,x,y = Actor.getSceneName(sysarg,0,0)
 | |
| 	local logId, logStr = 301, OldLang.Log.UseBossToken
 | |
| 	if Actor.removeItemByPtr(sysarg, itemPtr, 1, true, logStr, logId) > 0 then
 | |
| 		--if AddDailyItemUseCount(sysarg, itemidx, 1)	then		--次数增加,并发送客户端
 | |
| 		local bossId = ItemTable.bossId
 | |
| 		BossTokenMonsterCreate(sysarg, bossId, x, y)
 | |
| 		return true
 | |
| 		--Actor.sendTipmsg( sysarg, string.format(OldLang.Script.EscortTips031, lastTimes-1), ttFlyTip )
 | |
| 		--end
 | |
| 	end
 | |
| 
 | |
| end
 | |
| 
 | |
| function BossTokenMonsterCreate(sysarg, bossId, x, y)			--boss创建
 | |
| 	local hScene = Actor.getSceneHandle(sysarg)
 | |
| 	bossarg = Fuben.createMonster(hScene, bossId, x, y, bossTokenConfig.lastTime)
 | |
| 	bossName = System.getMonsterNameById(bossId)
 | |
| 	local tip = string.format(OldLang.Script.UseBossToken002, Actor.getName(sysarg), bossName, x, y)
 | |
| 	System.broadcastTipmsg(tip , ttChatWindow, bossTokenConfig.BroadCastLevel )
 | |
| 	local actorId = Actor.getActorId(sysarg)
 | |
| 	Actor.SetForceVesterId(bossarg, actorId)
 | |
| 	--print("bossTokenConfig.lastTime="..bossTokenConfig.lastTime)
 | |
| 	Actor.regScriptTimer(bossarg, 0, bossTokenConfig.lastTime * 1000, 0, 1, "OnUseTokenBossEnd", actorId)
 | |
| end
 | |
| 
 | |
| function UseBossTokenInit(sysarg)
 | |
|     for i = 1,table.getn(bossTokenConfig.bossTokenList) do
 | |
| 	    local x = bossTokenConfig.bossTokenList[i]
 | |
| 	    GlobalItemFn[x.itemId] = { func = UseBossToken, params = x }
 | |
|     end
 | |
| end
 | |
| 
 | |
| table.insert(InitFnTable, UseBossTokenInit)
 |