From f3aabd16f45385129e43fc215f85776dac84b0d4 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 24 五月 2019 16:56:07 +0800 Subject: [PATCH] 6805 【后端】【2.0】副本前端化(增加说明) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/自定义场景说明.txt | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 57 insertions(+), 0 deletions(-) diff --git "a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/\350\207\252\345\256\232\344\271\211\345\234\272\346\231\257\350\257\264\346\230\216.txt" "b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/\350\207\252\345\256\232\344\271\211\345\234\272\346\231\257\350\257\264\346\230\216.txt" new file mode 100644 index 0000000..4c3eb9c --- /dev/null +++ "b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/\350\207\252\345\256\232\344\271\211\345\234\272\346\231\257\350\257\264\346\230\216.txt" @@ -0,0 +1,57 @@ +目前已开发的自定义前端本 +--------------------------------- +场景名 MapID FuncLineID +创角后动画 0 0 +孙小美法宝认主 4000 0 +缥缈奇遇 0 0 +缥缈宝藏 31190 0 +缥缈妖王 22030 对应功能线路ID +缥缈灵草园 32040 0 +缥缈仙草园 32050 0 +VIPBoss 31240 对应功能线路ID +跨服PVP前期 0 0 +--------------------------------- + +【开发说明】 +一、大概流程说明 +1. 前端发送封包请求进入自定义场景 A2 31 前端开始自定义场景 #tagCMClientStartCustomScene +2. 后端根据具体情况判断是否允许进入,回包 B2 16 开始自定义场景结果 #tagMCStartCustomSceneResult +3. 不允许进入则结束,允许进入的话则前端加载目标场景 +4. 前端自定义场景流程,前端自己控制 +5. 结束时机由后端判断处理,如击杀目标怪、采集目标怪或者其他时机触发 +6. 后端结束还是通知 FBOver +7. 前端发包退出自定义场景 A2 33 前端退出自定义场景 #tagCMClientExitCustomScene + +二、后端开发说明 +总体上和正常的副本开发一致,只是触发的一些函数名不同 +*********************************************************************************************************** +【注意注意注意】 +使用前端自定义地图开发,由于后端不关心副本流程,也没有进行验证,所以结算时机必须由后端进行判断,并且要注意不要重复给奖励 +*********************************************************************************************************** + +自定义场景地图信息 +GetCustomMapID 可能为0 +GetCustomLineID +SetCustomMap 进入自定场景MapID有值时会设置,【注意:需要在副本结算给奖励的时候重置为0】 + 前端断线重连如果该值有值,则会重连请求进入自定义场景,所以需要注意一定要有时机重置 + +GetCustomMapStep 自定义地图当前状态步骤,可通过此状态判断是否可以给奖励,防止重复给奖励 +SetCustomMapStep 自定义地图当前状态步骤,根据功能需要自定义,目前通用定义 0-没有或已结束,1-进行中 + +如何判断是否自定义场景中 +不能用自定义场景地图ID判断,应为可能为0,取以下值判断 +curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene) + +流程 +1. 是否可进入判断,与正常副本开发判断一样, OnEnterFBEvent 通用 +2. 进入自定义场景,如果有自定义地图ID,则会记录 SetCustomMap,注意在结算的时候需要重置为0; + 进入触发 OnEnterCustomScene,与 DoEnter 类似 + 可以根据需要设置值 SetCustomMapStep + +3. 召唤木桩,根据功能需求召唤,如果有需要判断召唤条件,可通过函数 OnCanSummonPriWoodPile 判断 +4. 击杀怪物,触发 DoCustomScene_Player_KillNPC,与 DoFB_Player_KillNPC 类似 +5. 采集成功,触发 OnCustomSceneCollectOK, 与 OnCollectOK 类似 +6 根据某个时机判断是否结算副本,需用 GetCustomMapStep 判断可否给奖励,防止重复给奖励,缥缈相关的由于有事件状态了,所以可不用 + 结算重置状态,并使用 FBOver 通知前端 + + -- Gitblit v1.8.0