一、文件功能概览
1、main.js 入口,封装网络IO、GS配置、后台监控接口等
2、worldserver.js GS(一条线),维护玩家、NPC、怪物、道具、物品、地图、刷怪区、主城等,
需要玩家间交互的逻辑,以此处作为交互的接口
3、Map.js 维护整张地图数据,其中包括zone尺度、刷怪区、障碍点、常规实体、坐标与grid索引相互转换等
4、checkpoint.js 刷新点
5、Area.js 某块地图区域
6、chestarea 和平区
7、mobarea 刷怪区
8、chest 宝箱
9、mob 怪物
10、entity 基本实体
11、character 可以交互的对象(HP、攻击等)
12、item 一般道具
13、npc
14、player 一个玩家
15、properties 怪物数值
16、WS 网络抽象
17、format.js 验证消息参数是否有效
18、formulas 属性计算公式,当前只有伤害值
19、message 消息定义
20、metrics 配置、监控、查询
二、基本约定
mob 怪物
zone 一个map子区域
group 玩家分组对应一个zone,
tile 一个坐标单位
三、地图数据结构
map.doors zone连通关系, 实例 {"x":152,"y":202,"p":0,"tcx":120,"tcy":205,"to":"d","tx":123,"ty":208} x y源坐标、tx ty 目的坐标 tcx tcy 目的中心
map.checkpoints 刷新点(可以作为出生点)例子 {"id":1,"x":14,"y":210,"w":9,"h":2,"s":1} s表示是否是出生点
map.collisions 障碍点
map.roamingAreas 刷怪区 例子 {"id":0,"x":10,"y":206,"width":13,"height":7,"type":"rat","nb":3} nb number:个数,type 怪物类型
map.chestAreas 主城 {"x":123,"y":113,"w":8,"h":5,"i":[23],"tx":127,"ty":115} i:items道具 tx,ty箱子的位置
staticChests :[{"x":157,"y":141,"i":[61]}, // 位置,
"staticEntities": 静态环境 {"1305":"spectre","1585":"spectre", // tile索引(一维)对应的怪物
四、继承关系:
entity
item
npc
character----player
mob
area---chestarea
mobarea
五、消息处理 玩家的所有的消息处理函数位置 player.js :line 27
1、main.js 入口,封装网络IO、GS配置、后台监控接口等
2、worldserver.js GS(一条线),维护玩家、NPC、怪物、道具、物品、地图、刷怪区、主城等,
需要玩家间交互的逻辑,以此处作为交互的接口
3、Map.js 维护整张地图数据,其中包括zone尺度、刷怪区、障碍点、常规实体、坐标与grid索引相互转换等
4、checkpoint.js 刷新点
5、Area.js 某块地图区域
6、chestarea 和平区
7、mobarea 刷怪区
8、chest 宝箱
9、mob 怪物
10、entity 基本实体
11、character 可以交互的对象(HP、攻击等)
12、item 一般道具
13、npc
14、player 一个玩家
15、properties 怪物数值
16、WS 网络抽象
17、format.js 验证消息参数是否有效
18、formulas 属性计算公式,当前只有伤害值
19、message 消息定义
20、metrics 配置、监控、查询
二、基本约定
mob 怪物
zone 一个map子区域
group 玩家分组对应一个zone,
tile 一个坐标单位
三、地图数据结构
map.doors zone连通关系, 实例 {"x":152,"y":202,"p":0,"tcx":120,"tcy":205,"to":"d","tx":123,"ty":208} x y源坐标、tx ty 目的坐标 tcx tcy 目的中心
map.checkpoints 刷新点(可以作为出生点)例子 {"id":1,"x":14,"y":210,"w":9,"h":2,"s":1} s表示是否是出生点
map.collisions 障碍点
map.roamingAreas 刷怪区 例子 {"id":0,"x":10,"y":206,"width":13,"height":7,"type":"rat","nb":3} nb number:个数,type 怪物类型
map.chestAreas 主城 {"x":123,"y":113,"w":8,"h":5,"i":[23],"tx":127,"ty":115} i:items道具 tx,ty箱子的位置
staticChests :[{"x":157,"y":141,"i":[61]}, // 位置,
"staticEntities": 静态环境 {"1305":"spectre","1585":"spectre", // tile索引(一维)对应的怪物
四、继承关系:
entity
item
npc
character----player
mob
area---chestarea
mobarea
五、消息处理 玩家的所有的消息处理函数位置 player.js :line 27