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