hxp
2019-05-24 f3aabd16f45385129e43fc215f85776dac84b0d4
6805 【后端】【2.0】副本前端化(增加说明)
1个文件已添加
57 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/自定义场景说明.txt 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/×Ô¶¨Ò峡¾°ËµÃ÷.txt
New file
@@ -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 é€šçŸ¥å‰ç«¯