61 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Lua
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Lua
		
	
	
		
			Executable File
		
	
	
	
	
| --#include "data\config/guild/Notice.config" once --
 | |
| --领取沙巴克奖励
 | |
| local function getSbkData()
 | |
|     local var = System.getStaticVar();
 | |
|     return var.SbkAwardFlag
 | |
| end
 | |
| 
 | |
| function setSbkAwardFlag(nFlag)
 | |
|     local var = System.getStaticVar();
 | |
|     var.SbkAwardFlag = nFlag;
 | |
| end
 | |
| 
 | |
| function  HandleGetSBKAward(pActor, packet)
 | |
|     if Actor.getEntityType(pActor) ~= enActor then
 | |
|         return
 | |
|     end
 | |
|     local errorcode = 0;
 | |
|     while(true) 
 | |
|     do
 | |
|         local guild = Actor.getGuildPtr(pActor);
 | |
|         if guild == nil then
 | |
|             errorcode = 1;
 | |
|             break;
 | |
|         end
 | |
| 
 | |
|         local isSbk = Actor.MyGuildIsSbk(pActor);
 | |
|         if isSbk == 0 then
 | |
|             errorcode = 2;
 | |
|             break;
 | |
|         end
 | |
| 
 | |
|         local nGuildPos = Actor.getGuildPos(pActor);
 | |
|         local cfg = NoticeConfig[nGuildPos];
 | |
|         if cfg == nil then
 | |
|             errorcode = 3;
 | |
|             break;
 | |
|         end
 | |
|         local nFlag = getSbkData();
 | |
|         if nFlag then
 | |
|             errorcode = 4;
 | |
|             break;
 | |
|         end
 | |
|         if Actor.isActivityRunning(pActor, (cfg.ActivityID or 0)) or Actor.isActivityRunning(pActor, (cfg.ActivityID2 or 0)) then
 | |
|             errorcode = 5;
 | |
|             break;
 | |
|         end
 | |
|         if cfg.noticereward then
 | |
|             CommonFunc.Awards.Give(pActor, cfg.noticereward, GameLog.Log_SBKaward, "沙巴克领奖")
 | |
|         end
 | |
|         setSbkAwardFlag(1);
 | |
|         break;
 | |
|     end
 | |
|     -- 回复使用结果
 | |
|     local npack = DataPack.allocPacket(pActor, enGuildSystemID, sGuildGetSbkAward)
 | |
|     if npack then
 | |
|         DataPack.writeByte(npack, errorcode)
 | |
|         DataPack.flush(npack)
 | |
|     end
 | |
| end
 | |
| 
 | |
| NetmsgDispatcher.Reg(enGuildSystemID, cGuildGetSbkAward, HandleGetSBKAward) |