init
This commit is contained in:
232
server/s1/LogicServer/data/functions/FuBen/FubenType1.lua
Normal file
232
server/s1/LogicServer/data/functions/FuBen/FubenType1.lua
Normal file
@@ -0,0 +1,232 @@
|
||||
module("FubenType1", package.seeall)
|
||||
|
||||
--[[
|
||||
刷怪进度通关副本
|
||||
|
||||
个人数据:ActorData[fbId]
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
全局缓存:Cache[fbId]
|
||||
{
|
||||
[pFuben] =
|
||||
{
|
||||
wave, 当前波数
|
||||
phase, 当前阶段 0无 1创建 2开始 3进行中 4结算 5结束
|
||||
scenId, 副本当前场景
|
||||
}
|
||||
}
|
||||
|
||||
全局数据:GlobalData[fbId]
|
||||
{
|
||||
}
|
||||
]]--
|
||||
|
||||
--副本类型
|
||||
local FubenType = 1
|
||||
--对应的副本配置
|
||||
local FubenConfig = FubenType1Conf
|
||||
if FubenConfig == nil then
|
||||
assert(false)
|
||||
end
|
||||
|
||||
local EnterCheckType =
|
||||
{
|
||||
Activity = 1, --检查活动开启,param1=活动id
|
||||
Level = 2, --检查等级达到,param1=等级,param2=转生
|
||||
}
|
||||
|
||||
local PhaseType =
|
||||
{
|
||||
Create = 1, --创建
|
||||
Start = 2, --开始
|
||||
Running = 3, --进行中
|
||||
Finish = 4, --完成
|
||||
}
|
||||
|
||||
--------------------------------------------------------------------
|
||||
-- 详细逻辑
|
||||
--------------------------------------------------------------------
|
||||
|
||||
function getCacheDataByHandle(fbHandle)
|
||||
local pFuben = Fuben.getFubenPtrByHandle(fbHandle)
|
||||
return Fuben.getDyanmicVar(pFuben)
|
||||
end
|
||||
|
||||
--广播进度
|
||||
function BroadSchedule(pFuben)
|
||||
local fbId = Fuben.getFubenIdByPtr(pFuben)
|
||||
local fbHandle = Fuben.getFubenHandle(pFuben)
|
||||
local sceneId = Fuben.getSceneId(fbHandle)
|
||||
local scenHandle = Fuben.getSceneHandleById(sceneId,fbHandle)
|
||||
|
||||
--分配一个广播包
|
||||
local npack = FubenDispatcher.AllocPacketEx(enFubenSystemID, sFubenSchedule)
|
||||
|
||||
--副本数据
|
||||
local thisdata = FubenDispatcher.GetCacheData(pFuben)
|
||||
local curWave = thisdata.wave or 1 --当前波数
|
||||
local totalWave = #FubenConfig[fbId].fbRefresh --总波数
|
||||
local leftCount = Fuben.getLiveMonsterCount(scenHandle,0) --剩余怪物数量
|
||||
DataPack.writeByte(npack, curWave)
|
||||
DataPack.writeByte(npack, totalWave)
|
||||
DataPack.writeByte(npack, leftCount)
|
||||
|
||||
--广播当前场景
|
||||
DataPack.broadcastScene(npack,fbHandle,sceneId)
|
||||
|
||||
--释放广播包
|
||||
ActivityDispatcher.FreePacketEx(npack)
|
||||
return npack
|
||||
end
|
||||
|
||||
--玩家进入副本
|
||||
function OnActorEnter(fbId, fbEnterType, pFuben, scenId, pActor)
|
||||
|
||||
local fbHandle = Fuben.getFubenHandle(pFuben)
|
||||
local scenHandle = Fuben.getSceneHandleById(scenId,fbHandle)
|
||||
|
||||
--单人副本
|
||||
if fbEnterType == FubenEnterType.Single then
|
||||
local thisdata = FubenDispatcher.GetCacheData(pFuben)
|
||||
thisdata.wave = 0
|
||||
thisdata.phase = PhaseType.Start
|
||||
thisdata.scenId = scenId
|
||||
--组队副本
|
||||
elseif fbEnterType == FubenEnterType.Team then
|
||||
--多人副本
|
||||
elseif fbEnterType == FubenEnterType.All then
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
--检查波数刷怪
|
||||
function OnCheckWave(fbId, fbEnterType, pFuben, curTime)
|
||||
|
||||
local thisdata = FubenDispatcher.GetCacheData(pFuben)
|
||||
local fbHandle = Fuben.getFubenHandle(pFuben)
|
||||
local scenHandle = Fuben.getSceneHandleById(thisdata.scenId,fbHandle)
|
||||
|
||||
-- 刷第一波怪
|
||||
if thisdata.phase == PhaseType.Start then
|
||||
--清空当前副本内所有的怪物
|
||||
-- Fuben.clearSceneEntity(scenHandle, 1);
|
||||
thisdata.phase = PhaseType.Running
|
||||
thisdata.wave = 1
|
||||
local fresh = FubenConfig[fbId].fbRefresh
|
||||
if fresh and fresh[1] then
|
||||
local wave = fresh[1]
|
||||
Fuben.createMonstersInRange(scenHandle, wave.entityid, wave.x-wave.range, wave.y-wave.range, wave.x+wave.range, wave.y+wave.range, wave.count, 0)
|
||||
end
|
||||
BroadSchedule(pFuben)
|
||||
-- 刷怪检测
|
||||
elseif thisdata.phase == PhaseType.Running then
|
||||
local fresh = FubenConfig[fbId].fbRefresh
|
||||
if fresh and fresh[thisdata.wave] then
|
||||
local wave = fresh[thisdata.wave]
|
||||
local leftCount = Fuben.getLiveMonsterCount(scenHandle,wave.entityid) --剩余怪物数量
|
||||
if leftCount <= 0 then
|
||||
if fresh[thisdata.wave + 1] then
|
||||
thisdata.wave = thisdata.wave + 1
|
||||
wave = fresh[thisdata.wave]
|
||||
Fuben.createMonstersInRange(scenHandle, wave.entityid, wave.x-wave.range, wave.y-wave.range, wave.x+wave.range, wave.y+wave.range, wave.count, 0)
|
||||
else
|
||||
thisdata.phase = PhaseType.Finish
|
||||
FubenDispatcher.SetResult(pFuben,1)
|
||||
BroadSchedule(pFuben)
|
||||
end
|
||||
end
|
||||
else
|
||||
thisdata.phase = PhaseType.Finish
|
||||
FubenDispatcher.SetResult(pFuben,1)
|
||||
BroadSchedule(pFuben)
|
||||
end
|
||||
-- 结束
|
||||
elseif thisdata.phase == PhaseType.Finish then
|
||||
FubenDispatcher.SetResult(pFuben,1)
|
||||
thisdata.phase = nil
|
||||
end
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------
|
||||
-- 副本 回调注册
|
||||
--------------------------------------------------------------------
|
||||
|
||||
-- 检查玩家进入
|
||||
function OnCheckEnter(fbId, fbEnterType, pActor)
|
||||
local Conf = FubenConfig[fbId]
|
||||
if Conf == nil then
|
||||
return false
|
||||
end
|
||||
|
||||
-- 这个进入条件需要全部满足
|
||||
if Conf.fbEnterLimit then
|
||||
for i,cond in ipairs(Conf.fbEnterLimit) do
|
||||
if cond.type == EnterCheckType.Activity then
|
||||
if Actor.isActivityRunning(pActor, cond.param1) == false then
|
||||
Actor.sendTipmsg(pActor, "活动:"..cond.param1.." 并未开启!", tstUI)
|
||||
return false
|
||||
end
|
||||
elseif cond.type == EnterCheckType.Level then
|
||||
if Actor.checkActorLevel(pActor, cond.param1, (cond.param2 or 0)) == false then
|
||||
Actor.sendTipmsg(pActor, "等级转生不满足:"..cond.param1.."级别"..(cond.param2 or 0).."转!", tstUI)
|
||||
return false
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
-- 这个进入条件满足一条即可
|
||||
if Conf.fbEnterPass then
|
||||
for i,cond in ipairs(Conf.fbEnterPass) do
|
||||
if cond.type == EnterCheckType.Activity then
|
||||
if Actor.isActivityRunning(pActor, cond.param1) then
|
||||
return true
|
||||
end
|
||||
elseif cond.type == EnterCheckType.Level then
|
||||
if Actor.checkActorLevel(pActor, cond.param1, (cond.param2 or 0)) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
-- 副本创建
|
||||
function OnCreate(fbId, fbEnterType, pFuben)
|
||||
local thisdata = FubenDispatcher.GetCacheData(pFuben)
|
||||
|
||||
-- 重置数据
|
||||
thisdata.wave = 0
|
||||
thisdata.phase = PhaseType.Create
|
||||
thisdata.scenId = 0
|
||||
end
|
||||
|
||||
-- 副本内实体进入
|
||||
function OnEnter(fbId, fbEnterType, pFuben, scenId, pEntity)
|
||||
if Actor.getEntityType(pEntity) == enActor then
|
||||
OnActorEnter(fbId, fbEnterType, pFuben, scenId, pEntity)
|
||||
end
|
||||
end
|
||||
|
||||
-- 副本帧更新
|
||||
function OnUpdate(fbId, fbEnterType, pFuben, curTime)
|
||||
--检查波数刷怪
|
||||
OnCheckWave(fbId, fbEnterType, pFuben, curTime)
|
||||
end
|
||||
|
||||
-- 实体死亡
|
||||
function OnDeath(fbId, fbEnterType, pFuben, scenId, pEntity)
|
||||
if Actor.getEntityType(pEntity) == enMonster then
|
||||
BroadSchedule(pFuben)
|
||||
end
|
||||
end
|
||||
|
||||
FubenDispatcher.Reg(FubenEvent.OnCheckEnter, FubenType, OnCheckEnter, "FubenType1.lua")
|
||||
FubenDispatcher.Reg(FubenEvent.OnCreate, FubenType, OnCreate, "FubenType1.lua")
|
||||
FubenDispatcher.Reg(FubenEvent.OnEnter, FubenType, OnEnter, "FubenType1.lua")
|
||||
FubenDispatcher.Reg(FubenEvent.OnUpdate, FubenType, OnUpdate, "FubenType1.lua")
|
||||
FubenDispatcher.Reg(FubenEvent.OnDeath, FubenType, OnDeath, "FubenType1.lua")
|
||||
174
server/s1/LogicServer/data/functions/FuBen/FubenType2.lua
Normal file
174
server/s1/LogicServer/data/functions/FuBen/FubenType2.lua
Normal file
@@ -0,0 +1,174 @@
|
||||
module("FubenType2", package.seeall)
|
||||
|
||||
--[[
|
||||
PVP副本,带刷守卫
|
||||
|
||||
个人数据:ActorData[fbId]
|
||||
{
|
||||
}
|
||||
|
||||
全局缓存:Cache[fbId]
|
||||
{
|
||||
[pFuben] =
|
||||
{
|
||||
curSceneId : 副本的当前场景id
|
||||
nextCheckGuard: 下一次检测守卫生成的时间戳
|
||||
guardCount = {[i] = num}
|
||||
}
|
||||
}
|
||||
|
||||
全局数据:GlobalData[fbId]
|
||||
{
|
||||
}
|
||||
]]--
|
||||
|
||||
--副本类型
|
||||
local FubenType = 2
|
||||
--对应的副本配置
|
||||
local FubenConfig = FubenType2Conf
|
||||
if FubenConfig == nil then
|
||||
assert(false)
|
||||
end
|
||||
|
||||
local EnterCheckType =
|
||||
{
|
||||
Activity = 1, --检查活动开启,param1=活动id
|
||||
Level = 2, --检查等级达到,param1=等级,param2=转生
|
||||
}
|
||||
|
||||
--------------------------------------------------------------------
|
||||
-- 详细逻辑
|
||||
--------------------------------------------------------------------
|
||||
|
||||
--检查刷守卫怪
|
||||
function OnCheckGuard(fbId, pFuben, curTime)
|
||||
local thisdata = FubenDispatcher.GetCacheData(pFuben)
|
||||
if (thisdata.nextCheckGuard or 0) < curTime then
|
||||
local fbHandle = Fuben.getFubenHandle(pFuben)
|
||||
local scenHandle = Fuben.getSceneHandleById(thisdata.curSceneId,fbHandle)
|
||||
local freshConf = FubenConfig[fbId].fbRefresh
|
||||
thisdata.nextCheckGuard = (thisdata.nextCheckGuard or 0) + 10
|
||||
for i,info in ipairs(freshConf) do
|
||||
if thisdata.guardCount == nil then
|
||||
thisdata.guardCount = {}
|
||||
end
|
||||
if (thisdata.guardCount[i] or 0) <= 0 then
|
||||
local pMonster = Fuben.createOneMonsters(scenHandle, info.entityid, info.x, info.y, 1, 0)
|
||||
if pMonster then
|
||||
thisdata.guardCount[i] = (thisdata.guardCount[i] or 0) + 1
|
||||
Actor.setMonsterProperty(pMonster, PROP_MONSTER_BORNPOINT, i)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--------------------------------------------------------------------
|
||||
-- 副本 回调注册
|
||||
--------------------------------------------------------------------
|
||||
|
||||
-- 检查玩家进入
|
||||
function OnCheckEnter(fbId, fbEnterType, pActor)
|
||||
local Conf = FubenConfig[fbId]
|
||||
if Conf == nil then
|
||||
return false
|
||||
end
|
||||
-- 这个进入条件需要全部满足
|
||||
if Conf.fbEnterLimit then
|
||||
for i,cond in ipairs(Conf.fbEnterLimit) do
|
||||
if cond.type == EnterCheckType.Activity then
|
||||
if Actor.isActivityRunning(pActor, cond.param1) == false then
|
||||
Actor.sendTipmsg(pActor, "活动:"..cond.param1.." 并未开启!", tstUI)
|
||||
return false
|
||||
end
|
||||
elseif cond.type == EnterCheckType.Level then
|
||||
if Actor.checkActorLevel(pActor, cond.param1, (cond.param2 or 0)) == false then
|
||||
--Actor.sendTipmsg(pActor, "等级转生不满足:"..cond.param1.."级"..(cond.param2 or 0).."转!", tstUI)
|
||||
Actor.sendTipmsgWithId(pActor, tmLevelLimited, tstUI)
|
||||
return false
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
-- 这个进入条件满足一条即可
|
||||
if Conf.fbEnterPass then
|
||||
for i,cond in ipairs(Conf.fbEnterPass) do
|
||||
if cond.type == EnterCheckType.Activity then
|
||||
if Actor.isActivityRunning(pActor, cond.param1) then
|
||||
return true
|
||||
end
|
||||
elseif cond.type == EnterCheckType.Level then
|
||||
if Actor.checkActorLevel(pActor, cond.param1, (cond.param2 or 0)) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
-- 副本创建
|
||||
function OnCreate(fbId, fbEnterType, pFuben)
|
||||
local curSceneId = 0
|
||||
curSceneId = StaticFubens[fbId].defSceneID
|
||||
if curSceneId == nil then
|
||||
curSceneId = StaticFubens[fbId].scenes[1]
|
||||
end
|
||||
|
||||
local thisdata = FubenDispatcher.GetCacheData(pFuben)
|
||||
thisdata.curSceneId = curSceneId
|
||||
end
|
||||
|
||||
-- 副本内实体进入
|
||||
function OnEnter(fbId, fbEnterType, pFuben, scenId, pEntity)
|
||||
|
||||
if Actor.getEntityType(pEntity) == enActor then
|
||||
--回血回蓝
|
||||
local maxhp = Actor.getIntProperty(pEntity,PROP_CREATURE_MAXHP)
|
||||
Actor.changeHp(pEntity, maxhp)
|
||||
local maxmp = Actor.getIntProperty(pEntity,PROP_CREATURE_MAXMP)
|
||||
Actor.changeMp(pEntity, maxmp)
|
||||
Actor.removePet(pEntity)
|
||||
end
|
||||
|
||||
--单人PVP副本
|
||||
if fbEnterType == FubenEnterType.Single then
|
||||
--组队PVP副本
|
||||
elseif fbEnterType == FubenEnterType.Team then
|
||||
--多人PVP副本
|
||||
elseif fbEnterType == FubenEnterType.All then
|
||||
end
|
||||
end
|
||||
|
||||
-- 副本帧更新
|
||||
function OnUpdate(fbId, fbEnterType, pFuben, curTime)
|
||||
|
||||
--检测守卫怪
|
||||
OnCheckGuard(fbId, pFuben, curTime)
|
||||
|
||||
end
|
||||
|
||||
-- 副本内实体死亡
|
||||
function OnDeath(fbId, fbEnterType, pFuben, scenId, pEntity)
|
||||
local killerHandle = Actor.getKillHandle(pEntity)
|
||||
local pKiller = Actor.getEntity(killerHandle)
|
||||
|
||||
if Actor.getEntityType(pEntity) == enMonster then
|
||||
local thisdata = FubenDispatcher.GetCacheData(pFuben)
|
||||
if thisdata.guardCount == nil then
|
||||
thisdata.guardCount = {}
|
||||
end
|
||||
local i = Actor.getIntProperty(pEntity, PROP_MONSTER_BORNPOINT)
|
||||
local freshConf = FubenConfig[fbId].fbRefresh
|
||||
if freshConf and freshConf[i] then
|
||||
thisdata.guardCount[i] = thisdata.guardCount[i] - 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
FubenDispatcher.Reg(FubenEvent.OnCheckEnter, FubenType, OnCheckEnter, "FubenType2.lua")
|
||||
FubenDispatcher.Reg(FubenEvent.OnCreate, FubenType, OnCreate, "FubenType2.lua")
|
||||
FubenDispatcher.Reg(FubenEvent.OnEnter, FubenType, OnEnter, "FubenType2.lua")
|
||||
FubenDispatcher.Reg(FubenEvent.OnUpdate, FubenType, OnUpdate, "FubenType2.lua")
|
||||
FubenDispatcher.Reg(FubenEvent.OnDeath, FubenType, OnDeath, "FubenType2.lua")
|
||||
197
server/s1/LogicServer/data/functions/FuBen/FubenType4.lua
Normal file
197
server/s1/LogicServer/data/functions/FuBen/FubenType4.lua
Normal file
@@ -0,0 +1,197 @@
|
||||
module("FubenType4", package.seeall)
|
||||
|
||||
--[[
|
||||
刷怪进度通关副本,退出自动发放奖励(若没领取的话)
|
||||
|
||||
个人数据:ActorData[fbId]
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
全局缓存:Cache[fbId]
|
||||
{
|
||||
[pFuben] =
|
||||
{
|
||||
owner, 所有者玩家id,若为0,则是公共副本
|
||||
wave, 当前波数
|
||||
phase, 当前阶段 0无 1创建 2开始 3进行中 4结算 5结束
|
||||
scenId, 副本当前场景
|
||||
hasAwards, 是否可领取奖励
|
||||
isGot, 是否已领取
|
||||
}
|
||||
}
|
||||
|
||||
全局数据:GlobalData[fbId]
|
||||
{
|
||||
}
|
||||
]]--
|
||||
|
||||
--副本类型
|
||||
local FubenType = 4
|
||||
--对应的副本配置
|
||||
local FubenConfig = FubenType4Conf
|
||||
if FubenConfig == nil then
|
||||
assert(false)
|
||||
end
|
||||
|
||||
local EnterCheckType =
|
||||
{
|
||||
Activity = 1, --检查活动开启,param1=活动id
|
||||
Level = 2, --检查等级达到,param1=等级,param2=转生
|
||||
}
|
||||
|
||||
local PhaseType =
|
||||
{
|
||||
Create = 1, --创建
|
||||
Start = 2, --开始
|
||||
Running = 3, --进行中
|
||||
Finish = 4, --完成
|
||||
End = 5, --结束
|
||||
}
|
||||
|
||||
--------------------------------------------------------------------
|
||||
-- 详细逻辑
|
||||
--------------------------------------------------------------------
|
||||
|
||||
function getCacheDataByHandle(fbHandle)
|
||||
local pFuben = Fuben.getFubenPtrByHandle(fbHandle)
|
||||
return Fuben.getDyanmicVar(pFuben)
|
||||
end
|
||||
|
||||
|
||||
--玩家进入副本
|
||||
function OnActorEnter(fbId, fbEnterType, pFuben, scenId, pActor)
|
||||
|
||||
local fbHandle = Fuben.getFubenHandle(pFuben)
|
||||
local scenHandle = Fuben.getSceneHandleById(scenId,fbHandle)
|
||||
|
||||
--单人副本
|
||||
if fbEnterType == FubenEnterType.Single then
|
||||
local thisdata = FubenDispatcher.GetCacheData(pFuben)
|
||||
if thisdata.owner == 0 then
|
||||
thisdata.owner = Actor.getActorId(pActor)
|
||||
thisdata.wave = 0
|
||||
thisdata.phase = PhaseType.Start
|
||||
thisdata.hasAwards = false
|
||||
thisdata.isGot = false
|
||||
--设置副本时间
|
||||
Fuben.setSceneTime(scenHandle, (FubenConfig[fbId].fbTime or 0))
|
||||
end
|
||||
thisdata.scenId = scenId
|
||||
--组队副本
|
||||
elseif fbEnterType == FubenEnterType.Team then
|
||||
--多人副本
|
||||
elseif fbEnterType == FubenEnterType.All then
|
||||
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
--玩家死亡,10秒后才能复活
|
||||
function OnActorDeath(fbId, fbEnterType, pFuben, scenId, pActor)
|
||||
--Actor.setReliveTimeOut(pActor, 10)
|
||||
end
|
||||
|
||||
|
||||
--------------------------------------------------------------------
|
||||
-- 副本 回调注册
|
||||
--------------------------------------------------------------------
|
||||
|
||||
-- 检查玩家进入
|
||||
function OnCheckEnter(fbId, fbEnterType, pActor)
|
||||
local Conf = FubenConfig[fbId]
|
||||
if Conf == nil then
|
||||
return false
|
||||
end
|
||||
|
||||
-- 这个进入条件需要全部满足
|
||||
if Conf.fbEnterLimit then
|
||||
for i,cond in ipairs(Conf.fbEnterLimit) do
|
||||
if cond.type == EnterCheckType.Activity then
|
||||
if Actor.isActivityRunning(pActor, cond.param1) == false then
|
||||
Actor.sendTipmsg(pActor, "活动:"..cond.param1.." 并未开启!", tstUI)
|
||||
return false
|
||||
end
|
||||
elseif cond.type == EnterCheckType.Level then
|
||||
if Actor.checkActorLevel(pActor, cond.param1, (cond.param2 or 0)) == false then
|
||||
Actor.sendTipmsg(pActor, "等级转生不满足:"..cond.param1.."级别"..(cond.param2 or 0).."转!", tstUI)
|
||||
return false
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
-- 这个进入条件满足一条即可
|
||||
if Conf.fbEnterPass then
|
||||
for i,cond in ipairs(Conf.fbEnterPass) do
|
||||
if cond.type == EnterCheckType.Activity then
|
||||
if Actor.isActivityRunning(pActor, cond.param1) then
|
||||
return true
|
||||
end
|
||||
elseif cond.type == EnterCheckType.Level then
|
||||
if Actor.checkActorLevel(pActor, cond.param1, cond.param2) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
-- 副本创建
|
||||
function OnCreate(fbId, fbEnterType, pFuben)
|
||||
local thisdata = FubenDispatcher.GetCacheData(pFuben)
|
||||
|
||||
-- 重置数据
|
||||
thisdata.owner = 0
|
||||
thisdata.wave = 0
|
||||
thisdata.phase = PhaseType.Create
|
||||
thisdata.scenId = 0
|
||||
|
||||
end
|
||||
|
||||
-- 副本内实体进入
|
||||
function OnEnter(fbId, fbEnterType, pFuben, scenId, pEntity)
|
||||
if Actor.getEntityType(pEntity) == enActor then
|
||||
OnActorEnter(fbId, fbEnterType, pFuben, scenId, pEntity)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
-- 副本内实体退出
|
||||
function OnExit(fbId, fbEnterType, pFuben, scenId, pEntity)
|
||||
if Actor.getEntityType(pEntity) == enActor then
|
||||
--OnGetAward(fbId, fbEnterType, pFuben, scenId, pEntity)
|
||||
-- ActivityDispatcher.CheckExitFuben(ActivityType8.ActivityType, pEntity, pFuben)
|
||||
end
|
||||
end
|
||||
|
||||
-- 副本帧更新
|
||||
function OnUpdate(fbId, fbEnterType, pFuben, curTime)
|
||||
local thisdata = FubenDispatcher.GetCacheData(pFuben)
|
||||
local fbHandle = Fuben.getFubenHandle(pFuben)
|
||||
local scenHandle = Fuben.getSceneHandleById(thisdata.scenId,fbHandle)
|
||||
|
||||
end
|
||||
|
||||
-- 副本内实体死亡
|
||||
function OnDeath(fbId, fbEnterType, pFuben, scenId, pEntity)
|
||||
if Actor.getEntityType(pEntity) == enActor then
|
||||
--OnActorDeath(fbId, fbEnterType, pFuben, scenId, pEntity)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
-- 请求获取副本奖励
|
||||
function OnGetAward(fbId, fbEnterType, pFuben, nSceneId, pActor)
|
||||
|
||||
end
|
||||
|
||||
FubenDispatcher.Reg(FubenEvent.OnCheckEnter, FubenType, OnCheckEnter, "FubenType4.lua")
|
||||
FubenDispatcher.Reg(FubenEvent.OnCreate, FubenType, OnCreate, "FubenType4.lua")
|
||||
FubenDispatcher.Reg(FubenEvent.OnEnter, FubenType, OnEnter, "FubenType4.lua")
|
||||
FubenDispatcher.Reg(FubenEvent.OnExit, FubenType, OnExit, "FubenType4.lua")
|
||||
FubenDispatcher.Reg(FubenEvent.OnUpdate, FubenType, OnUpdate, "FubenType4.lua")
|
||||
FubenDispatcher.Reg(FubenEvent.OnDeath, FubenType, OnDeath, "FubenType4.lua")
|
||||
FubenDispatcher.Reg(FubenEvent.OnGetAward, FubenType, OnGetAward, "FubenType4.lua")
|
||||
3
server/s1/LogicServer/data/functions/FuBen/Fubens.txt
Normal file
3
server/s1/LogicServer/data/functions/FuBen/Fubens.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
require("FuBen.FubenType1") --普通刷怪进度副本
|
||||
require("FuBen.FubenType2") --PVP副本
|
||||
require("FuBen.FubenType4") --简单副本,藏经峡谷,独闯天涯
|
||||
Reference in New Issue
Block a user