This commit is contained in:
aixianling
2024-12-13 13:41:02 +08:00
commit 06658f112f
3887 changed files with 2687822 additions and 0 deletions

View File

@@ -0,0 +1,665 @@
module("ActivityDispatcher", package.seeall)
--[[
个人数据ActorData[AtvId]
{
openTimes, 该全局活动的参与标记
}
全局数据GlobalData[AtvId]
{
openTimes, 该全局活动的开启次数
}
缓存数据CacheData[atvId]
{
fbHandle, 当前活动的副本句柄
}
]]--
local dispatcher = { }
_G.ActivityEvent =
{
OnLoad = 1, --活动加载 [活动id] 注意:若为个人活动,传入 '玩家指针'
OnInit = 2, --活动初始化 [活动id玩家指针] 注意用于处理再次开启的全局活动同一活动id重置初始化旧数据
OnStart = 3, --活动开始 [活动id] 注意:若为个人活动,传入 '玩家指针'
OnEnd = 4, --活动结束 [活动id] 注意:若为个人活动,传入 '玩家指针'
OnUpdate = 5, --活动帧更新 [活动id当前时间] 注意:若为个人活动,传入 '玩家指针'
OnReqData = 6, --请求活动数据 [活动id, 玩家指针, outPack]
OnOperator = 7, --通用操作 [活动id玩家指针inPack]
OnEnterArea = 8, --进入活动区域 [活动id, 玩家指针]
OnExitArea = 9, --离开活动区域 [活动id, 玩家指针]
OnEnterFuben = 10, --玩家进入活动副本[活动id玩家指针副本指针, pOwner]
OnExitFuben = 11, --玩家离开活动副本[活动id玩家指针副本指针, pOwner]
OnEntityDeath = 12, --副本实体死亡 [活动id, 被杀者指针,击杀者指针,副本指针, pOwner]
OnEntityAttacked= 13, --活动副本实体受击[活动id, 副本指针,受击者,攻击者, pOwner]
OnFubenFinish = 14, --活动副本结束 [活动id, 副本指针,结果, pOwner] 1为完成0为失败nil则结果未知需要对应副本设置结果
OnReqFubenAward = 15, --请求副本结算 [活动id, 副本指针pActor, pOwner]
OnGetRedPoint = 16, --请求红点数据 [活动id, 玩家指针] 返回值为红点值
OnLoginGame = 17, --登录游戏 [活动id玩家指针] 活动登录事件 //登陆时活动如果开启会触发
OnUpdateActivity= 18, --更新数据 [活动id玩家指针] 注意:若为个人活动,传入 '玩家指针'
OnAtvAreaDeath = 19, --普通场景活动区域死亡 [活动id玩家指针]
OnCombineSrv = 20, --合服后首次登陆 [活动id合服后的开服天数差值玩家指针] 个人活动
OnGPStart = 21, --全局个人活动的玩家Start [活动id玩家指针] Global_Person_Activity
OnGPEnd = 22, --全局个人活动的玩家End [活动id玩家指针] Global_Person_Activity
OnAtvGG = 23, --活动复活结束 [活动id玩家指针]
OnAtvAreaAtk = 24, --普通场景活动区域实体受击 [活动id受击者攻击者]
OnOnAtvRank = 25, --活动排行榜 [活动id当前时间]
Count = 26,
}
--通用操作协议枚举
_G.ActivityOperate = {
cEnterFuben = 1, --请求进入副本
cGetPhaseAward = 2, --请求领取阶段奖励
cWorship = 3, --请求膜拜操作
cAppraisal = 4, --请求鉴定操作
cGetPersonBox = 5, --请求个人奖励 --npc活动
cGetTreasure = 6, --送宝、排名奖励 --npc活动
cGetBonusNum = 7, --npc请求剩余奖励数量 --独闯天涯
cInspire = 8, --鼓舞 --boss
cGetMonsterNum = 9, --npc请求当前杀怪数 --独闯天涯
cReqAtvQianDao = 10, --打卡活动,请求打卡
cReqLeijichongzhiGift = 11, --请求领取累计充值奖励 --累计充值活动
cReqPurchaseGiftbag = 12, --请求购买特惠礼包/领取首冲奖励/七天登录领奖/打卡活动领奖
cReqPurchaseJiJin = 13, --请求购买基金
cReqGetJiJinAward = 14, --请求领取基金奖励
cReqGetAchieveAward = 15, --请求达标类对应奖励
cReqSaoDang = 16, --扫荡
cReqXunBao = 17, --寻宝 抽奖活动(开服特定寻宝)
cActiveOrderWar = 18, --激活战令
cBuyOrderWarLv = 19, --购买战令等级
cDeleteItem = 20, --删除道具
cGetAllAward = 21, --战令一键领取
cGetZLAward = 22, --战令领取
cGetQuestAward = 23, --任务领取
cDonateRank = 24, --捐献
cReqExchange = 25, --兑换
cZLShopInfo = 26, --战令商店
cBuyZLShop = 27, --购买战令数据
cCheckCSActivity = 28, --跨服入口支持
sSendRankData = 1, --广播排行数据 -- 竞技大乱斗
sSendMyRankData = 2, --发送自己的排行数据 -- 竞技大乱斗
sSendPhaseAward = 3, --发送奖励内容
sEnterFubenResult = 4,--进入活动副本的结果回复
sWorship = 5, --回复膜拜操作
sAppraisal = 6, --回复鉴定操作
sNextAwardIndex = 7, --下一个奖励的索引
sSendPersonBox = 8, --回复个人奖励请求 --npc活动
sSendBigTreasure = 9, --回复送宝、排名奖励 --NPC活动
sSendTime = 10, --发送时间
sSendBonusNum = 11, --回复剩余奖励数量 --独闯天涯
sInspire = 12, --返回鼓舞id --boss
sSendMonsterNum = 13, --回复npc请求当前杀怪数 --独闯天涯
sSendAssignCampTime =14, --发送阵营调整时间 --沃玛三
sSendActorDataTimes = 15, --回复玩家数据 --累计充值活动灰按钮/特惠礼包活动回复玩家参与次数
sSendChouJiangResult = 16, --回复寻宝/抽奖结果 --寻宝活动
sSendzhushoustatus = 17, --回复驻守开始
sSendWorldBossTime = 18, --世界boss 剩余时间
sDuoBaoPickLeftTime = 19, --夺宝 剩余时间
sZLShopInfo = 20, --战令商店
sZLBuyShop = 21, --购买战令商品
sZLShopChange = 22, --战令商品发生变化
sCSSBKGuildRank = 23, --前四名跨服沙巴克排行
sCSSBKMyGuildRank = 24, --个人工会排名
sCSSBKMyRank = 25, --个人排名
sCheckCSActivity = 28, --跨服入口支持
}
--------------------------------------------------------------------
-- Lua接口
--------------------------------------------------------------------
-- @brief 注册事件分发器
-- @param evId 事件id
-- @param atvType 活动类型
-- @param func 回调
function Reg(evId, atvType, func, file)
--参数检查
if atvType == nil or evId == nil or func == nil or file == nil then
print( debug.traceback() )
assert(false)
end
--事件范围检查
if evId <= 0 or evId >= ActivityEvent.Count then
assert(false)
end
--回调表初始化
if dispatcher[evId] == nil then
dispatcher[evId] = {}
end
if dispatcher[evId][atvType] ~= nil then
assert(false) -- 重复注册了
end
--注册
dispatcher[evId][atvType] = func
print("[TIP][ActivityDispatcher] Add Activity(Type:"..atvType..") Event("..evId..") In File("..file.."), And Index="..table.maxn(dispatcher[evId]))
end
-- @brief 获取某个活动的全局数据(这个数据,是存文件的)
-- @param atvId 活动id
function GetGlobalData(atvId)
if atvId == nil then
assert(false)
end
local var = System.getStaticVar();
if var.Activity == nil then
var.Activity = {}
end
if var.Activity[atvId] == nil then
var.Activity[atvId] = {}
end
return var.Activity[atvId]
end
-- @brief 清空某个活动的全局数据(这个数据,是存文件的)
-- @param atvId 活动id
function ClearGlobalData(atvId)
if atvId == nil then
assert(false)
end
local var = System.getStaticVar();
if var.Activity == nil then
var.Activity = {}
end
if var.Activity[atvId] then
var.Activity[atvId] = nil
end
end
-- @brief 获取某个活动的缓存数据(这个数据,不存储仅缓存)
-- @param fbId 活动id
function GetCacheData(atvId)
if atvId == nil then
assert(false)
end
local var = System.getDyanmicVar();
if var.Activity == nil then
var.Activity = {}
end
if var.Activity[atvId] == nil then
var.Activity[atvId] = {}
end
return var.Activity[atvId]
end
-- @brief 清空某个活动的缓存数据(这个数据,不存储仅缓存)
-- @param fbId 活动id
function ClearCacheData(atvId)
if atvId == nil then
assert(false)
end
local var = System.getDyanmicVar();
if var.Activity == nil then
var.Activity = {}
end
if var.Activity[atvId] then
var.Activity[atvId] = nil
end
end
-- @brief 获取某个活动的个人数据(这个数据,是存数据库的)
-- @param atvId 活动id
function GetActorData(pActor, atvId)
if atvId == nil or Actor.getEntityType(pActor) ~= enActor then
assert(false)
end
local var = Actor.getStaticVar(pActor);
if var.Activity == nil then
var.Activity = {}
end
if var.Activity[atvId] == nil then
var.Activity[atvId] = {}
end
return var.Activity[atvId]
end
-- @brief 清空某个活动的个人数据(这个数据,是存数据库的)
-- @param atvId 活动id
function ClearActorData(pActor, atvId)
if atvId == nil or Actor.getEntityType(pActor) ~= enActor then
assert(false)
end
local var = Actor.getStaticVar(pActor);
if var.Activity == nil then
var.Activity = {}
end
if var.Activity[atvId] then
local openTimes = var.Activity[atvId].openTimes
var.Activity[atvId] = {}
var.Activity[atvId].openTimes = openTimes
end
end
-- @brief 分配一个通用旗帜结果包需要外部自己调用flush方法
-- @note result 0失败 1成功
function AllocResultPack(pActor, atvId, result)
local npack = DataPack.allocPacket(pActor, enActivityID, SActivityResult)
if npack then
DataPack.writeUInt(npack, atvId)
DataPack.writeByte(npack, (result or 0))
end
return npack
end
-- @brief 分配一个通用旗帜结果包注意这是广播包需要外部自己调用FreePacketEx释放包
function AllocResultPackEx(atvId, result)
local npack = DataPack.allocPacketEx()
if npack then
DataPack.writeUInt(npack, atvId)
DataPack.writeByte(npack, (result or 0))
end
return npack
end
-- @brief 分配一个通用回复包需要外部自己调用flush方法
function AllocOperReturn(pActor, atvId, operaCode)
local npack = DataPack.allocPacket(pActor, enActivityID, sActivityOperator)
if npack then
DataPack.writeUInt(npack, atvId)
DataPack.writeByte(npack, operaCode)
end
return npack
end
-- @brief 分配一个通用回复包注意这是广播包需要外部自己调用FreePacketEx释放包
function AllocOperReturnEx(atvId, operaCode)
local npack = DataPack.allocPacketEx()
if npack then
DataPack.writeByte(npack,enActivityID)
DataPack.writeByte(npack,sActivityOperator)
DataPack.writeUInt(npack,atvId)
DataPack.writeByte(npack,operaCode)
end
return npack
end
-- @brief 释放一个通用回复(注意:这是广播包)
function FreePacketEx(npack)
if npack then
DataPack.freePacketEx(npack)
end
end
-- @brief 进入活动副本
function EnterFuben(atvId,pActor,fbId)
local result = Actor.reqEnterFuben(pActor, fbId)
if result then
-- 回复活动id与副本句柄的关联
local npack = AllocOperReturn(pActor, atvId, ActivityOperate.sEnterFubenResult)
if npack then
DataPack.flush(npack)
end
-- 建立副本类型跟活动类型的对应关系
local fbHandle = Actor.getFubenHandle(pActor)
local pFuben = Fuben.getFubenPtrByHandle(fbHandle)
local atvType = 0
if (ActivitiesConf[atvId] and ActivitiesConf[atvId].ActivityType) then
atvType = ActivitiesConf[atvId].ActivityType
elseif (PActivitiesConf[atvId] and PActivitiesConf[atvId].ActivityType) then
atvType = PActivitiesConf[atvId].ActivityType
end
FubenDispatcher.MapToActivity(pFuben, atvType, atvId)
return fbHandle
end
return nil
end
-- @brief 通过活动id获取对应副本
-- @param atvId 活动id
-- @return 副本指针
function GetFuben(atvId)
local atvCacheData = GetCacheData(atvId)
local fbHandle = atvCacheData.fbHandle
if fbHandle then
local pFuben = Fuben.getFubenPtrByHandle(fbHandle)
if pFuben then
local nAtvId = FubenDispatcher.GetActivityId(pFuben)
if nAtvId == atvId then
return pFuben
end
end
end
end
-- @brief 发送活动弹框
-- @param pActor 玩家指针
-- @param atvId 活动id
function SendPopup(pActor, atvId)
local npack = DataPack.allocPacket(pActor, enActivityID, SActivityPopup)
if npack then
DataPack.writeUInt(npack, atvId)
DataPack.flush(npack)
end
end
-- @brief 广播活动弹框
-- @param atvId 活动id
-- @param fbHandle 副本句柄
-- @param sceneId 场景id
function BroadPopup(atvId)
--等级 转生限制
local lv = 0;
local zsLv = 0;
local Cfg = ActivitiesConf[atvId];
if Cfg then
if Cfg.TipsLevelLimit then
lv = Cfg.TipsLevelLimit.level
zsLv = Cfg.TipsLevelLimit.zsLevel
end
end
local npack = DataPack.allocPacketEx()
if npack then
DataPack.writeByte(npack,enActivityID)
DataPack.writeByte(npack,SActivityPopup)
DataPack.writeUInt(npack,atvId)
DataPack.broadcasetWorld(npack, lv, zsLv)
DataPack.freePacketEx(npack)
end
end
--------------------------------------------------------------------
-- CPP回调
--------------------------------------------------------------------
function CheckInitActivity(atvType, atvId, pActor)
local globalData = GetGlobalData(atvId)
local actorData = GetActorData(pActor, atvId)
if globalData.openTimes ~= actorData.openTimes then
local callbacks = dispatcher[ActivityEvent.OnInit]
if callbacks[atvType] then
local func = callbacks[atvType]
func(atvId, pActor)
end
actorData.openTimes = globalData.openTimes
print("[全局活动id"..atvId.."初始化] 重置开启次数:"..(globalData.openTimes or 0).." 玩家:"..Actor.getName(pActor))
end
end
function CheckReqData(func, atvType, atvId, pActor, outPack)
--print("[Activity"..atvType.."."..atvId.."] "..Actor.getName(pActor).." 请求活动数据!")
-- 红点值
local val = 0
local callbacks = dispatcher[ActivityEvent.OnGetRedPoint]
if callbacks and (callbacks[atvType] ~= nil) then
local result = callbacks[atvType](atvId, pActor)
val = result or 0
end
DataPack.writeByte(outPack, val)
-- 活动详细数据
if func then
func(atvId, pActor, outPack)
end
end
function OnEvent(evId, atvType, atvId, ...)
--获取回调
local callbacks = dispatcher[evId]
--回调调用
if evId == ActivityEvent.OnLoad then --活动加载(数据库来的)
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnStart then --活动开启
-- 周循环活动,需要记录开启次数
if ActivitiesConf[atvId] then
local globalData = GetGlobalData(atvId)
if globalData.openTimes == nil then
local currentId = System.getCurrMiniTime();
globalData.openTimes = currentId
else
globalData.openTimes = globalData.openTimes + 1
end
print("[全局活动id"..atvId.."开始] 记录开启次数:"..globalData.openTimes)
end
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnEnd then --活动结束
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnUpdate then --活动帧更新
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnReqData then --请求活动数据
if ActivitiesConf[atvId] then
CheckInitActivity(atvType, atvId, ...)
end
local func = nil
if callbacks and (callbacks[atvType] ~= nil) then
func = callbacks[atvType];
end
CheckReqData(func, atvType, atvId, ...)
elseif evId == ActivityEvent.OnOperator then --通用操作
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnEnterFuben then --玩家进入活动副本
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnExitFuben then --玩家退出活动副本
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnEntityDeath then --副本实体死亡
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnEnterArea then --进入活动区域
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnExitArea then --离开活动区域
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnEntityAttacked then --活动副本实体受击
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnFubenFinish then --活动副本结束
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnAtvAreaDeath then --普通场景活动区域死亡
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnAtvAreaAtk then --普通场景活动区域死亡
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnLoginGame then --登录相关
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnUpdateActivity then --更新
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnCombineSrv then --合服
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnGPStart then --全局个人的开始
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnGPEnd then --全局个人的结束
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnOnAtvRank then --全局个人的结束
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
elseif evId == ActivityEvent.OnAtvGG then --全局个人的结束
if callbacks and (callbacks[atvType] ~= nil) then
local func = callbacks[atvType];
func(atvId, ...)
end
end
return true
end
--------------------------------------------------------------------
-- 活动副本回调
--------------------------------------------------------------------
function CheckEnterFuben(atvType, atvId, pFuben, pEntity, pOwner)
-- 玩家指针(个人活动判断需要一个玩家指针)
local pActor = nil
if Actor.getEntityType(pOwner) == enActor then
pActor = pOwner
elseif Actor.getEntityType(pEntity) == enActor then
pActor = pEntity
elseif Actor.getEntityType(pEntity) == enPet then
pActor = Actor.getMaster(pEntity)
else
return
end
-- 触发玩家进入活动副本事件
if Actor.isActivityRunning(pActor,atvId) then
if Actor.getEntityType(pEntity) == enActor then
print("[Activity"..atvType.."."..atvId.."] [FbId="..Fuben.getFubenIdByPtr(pFuben).."]"..Actor.getName(pEntity).." 进入活动副本!")
OnEvent(ActivityEvent.OnEnterFuben, atvType, atvId, pEntity, pFuben, pOwner)
end
end
end
function CheckExitFuben(atvType, atvId, pFuben, pEntity, pOwner)
-- 玩家指针(个人活动判断需要一个玩家指针)
local pActor = nil
if Actor.getEntityType(pOwner) == enActor then
pActor = pOwner
elseif Actor.getEntityType(pEntity) == enActor then
pActor = pEntity
elseif Actor.getEntityType(pEntity) == enPet then
pActor = Actor.getMaster(pEntity)
else
return
end
-- 触发玩家退出活动副本事件
if Actor.isActivityRunning(pActor,atvId) then
if Actor.getEntityType(pEntity) == enActor then
print("[Activity"..atvType.."."..atvId.."] [FbId="..Fuben.getFubenIdByPtr(pFuben).."]"..Actor.getName(pEntity).." 退出活动副本!")
OnEvent(ActivityEvent.OnExitFuben, atvType, atvId, pEntity, pFuben, pOwner)
end
end
end
function CheckFubenEntityDeath(atvType, atvId, pFuben, pEntity, pKiller, pOwner)
-- 玩家指针(个人活动判断需要一个玩家指针)
local pActor = nil
if Actor.getEntityType(pOwner) == enActor then
pActor = pOwner
elseif Actor.getEntityType(pEntity) == enActor then
pActor = pEntity
elseif Actor.getEntityType(pKiller) == enActor then
pActor = pKiller
elseif Actor.getEntityType(pEntity) == enPet then
pActor = Actor.getMaster(pEntity)
elseif Actor.getEntityType(pKiller) == enPet then
pActor = Actor.getMaster(pKiller)
else
return
end
-- 触发活动副本实体死亡事件
if Actor.isActivityRunning(pActor,atvId) then
-- if pFuben and pEntity and pKiller then
-- print("[Activity"..atvType.."."..atvId.."] [FbId="..Fuben.getFubenIdByPtr(pFuben).."]"..Actor.getName(pEntity).." 被 "..Actor.getName(pKiller).." 杀死!")
-- end
OnEvent(ActivityEvent.OnEntityDeath, atvType, atvId, pEntity, pKiller, pFuben, pOwner)
end
end
function CheckFubenEntityAttacked(atvType, atvId, pFuben, pEntity, pAttacker, pOwner)
-- 玩家指针(个人活动判断需要一个玩家指针)
local pActor = nil
if Actor.getEntityType(pOwner) == enActor then
pActor = pOwner
elseif Actor.getEntityType(pEntity) == enActor then
pActor = pEntity
elseif Actor.getEntityType(pAttacker) == enActor then
pActor = pAttacker
elseif Actor.getEntityType(pEntity) == enPet then
pActor = Actor.getMaster(pEntity)
elseif Actor.getEntityType(pAttacker) == enPet then
pActor = Actor.getMaster(pAttacker)
else
return
end
-- 触发活动副本实体受击事件
if Actor.isActivityRunning(pActor,atvId) then
--print("[Activity"..atvType.."."..atvId.."] [FbId="..Fuben.getFubenIdByPtr(pFuben).."]"..Actor.getName(pEntity).." 受到 "..Actor.getName(pAttacker).." 攻击!")
OnEvent(ActivityEvent.OnEntityAttacked, atvType, atvId, pEntity, pAttacker, pFuben, pOwner)
end
end
function CheckFubenFinish(atvType, atvId, pFuben, result, pOwner)
-- 玩家指针(个人活动判断需要一个玩家指针)
local pActor = nil
if Actor.getEntityType(pOwner) == enActor then
pActor = pOwner
end
-- 触发活动副本结束事件
if Actor.isActivityRunning(pActor,atvId) then
print("[Activity"..atvType.."."..atvId.."] [FbId="..Fuben.getFubenIdByPtr(pFuben).."]"..(Actor.getName(pOwner) or "").." 活动副本结束,结果为("..(result or 0)..")")
OnEvent(ActivityEvent.OnFubenFinish, atvType, atvId, pFuben, result, pOwner)
end
end
function CheckFubenAward(atvType, atvId, pFuben, pActor, pOwner)
-- 触发活动副本结算事件
if Actor.isActivityRunning(pActor,atvId) then
print("[Activity"..atvType.."."..atvId.."] [FbId="..Fuben.getFubenIdByPtr(pFuben).."]"..Actor.getName(pActor).." 请求副本结算!")
OnEvent(ActivityEvent.OnReqFubenAward, atvType, atvId, pFuben, result, pOwner)
end
end