玩过冒险岛的人都知道有一个WZ文件,那么这个WZ文件的内部是怎么样的呢,今天我就带大家一探究竟。
说实在的,我这是第一次接触WZ文件,但是却让我很震撼,为什么很震撼,因为这个居然是用VS2010写的!还是.NET,我TMD居然就是搞.NET程序设计的,
早知道早点问@卧室好人要WZ文件了,哈哈。
言归正传,既然自己是一个编程方面的菜鸟,多多少少还是知道一些的。下面就带大家来研究WZ文件,也希望一些大神能提供一些帮助。
这个系列的只是从WZ的表面研究,并没有深入源代码,待我到时候反编译(或者问本人要到源码PS:能要到是最好的)
开始吧~~~
首先我们打开WZCOMPARER2这个软件,打开UI.WZ文件。
然后我们看到这里有很多.img结尾的文件,不过说句实话,我不太相信WZ里只有这种类型的文件,因为我们得到的仅仅是客户端,
也就是说真正的核心代码在服务端,我们是看不到的,囧~~~这是最烦人的。
我们还是来一点一点解析吧。
- MapLogin.img
这个顾名思义了,就是我们从一个地图到另一个地图的时候所载入的事件,比如我们从出租车那里去其他地图,那么触发的应该就是这个事件了。我们点开看看。
发现了很多东西啊,我们还是来一个一个解析吧,如果遇到类似的我就跳过了,
- Info
- back
- 0~7的数字
- reactor
- foothold
- ladderrope
- minimap
- portal
好吧,我也不说累,再累能比设计WZ的人更累?所以就一个一个来解析吧。
点开INFO我们可以看到:
Version:版本号
Cloud:云端,应该是一个代号,学过计算级的人都知道云技术,我想这应该是一个代号吧。
StreeName:街道名称(街道名称),这里的意思是匿名,也就是说我们并没有选择一副地图,当运行游戏的时候,这里的名字就是地图的具体名字了,比如神木村。
mapName:地图名称
mapdesc:我个人猜测这应该是地图的一些详情信息(MapDescription)
bgm:地图的音乐,BgmUi/Title ,这里说的应该是一个类似形参的东西,用这个来匹配对应的地图。
town:村子,应该是地图最小一级的单元,0为未载入。
returnMap:返回的地图,比如我进入了神木村的地图,那么就返回这个地图的代码?我猜的。
forcedReturn:强制返回,这里应该是和测谎仪机制有关系,当触发了某种事件以后,强制返回到某个地图,当然这里面的算法暂时不讨论。
mobRate:聚集率,我想的是这个应该是和打怪有关的,比如战神的连击的成功率,我只是打个比方而已,其实具体的我不是很了解。
mapMark:大家都知道的,MARK一下,也没什么用,地图的标记。
hideMiniMap:隐藏地图,也是用数字 来表示具体是哪个地图。
fieldLimit,就是指的地图区域的范围限制,因为是2D的地图,所以我觉得应该是长和宽的乘积吧。
swim:这个是一个很有意思的属性,游泳,比如诺特斯特有几幅地图有水。
fly:飞天,这个在御龙魔里有用到,当然了,外挂是不是修改这个东西我就不知道了。
nomapcmd:cmd应该理解为一个入口,这句话就是没有地图入口,有些地方因为是一个单独的地图,比如活动地图,没有出口,只能自动传送回去。
onFirstUserEnter:第一个用户进入,然后XXX办。
onUserEnter:当用户进入的时候,就XXX样。
fieldScript:这个可以理解为网页当中写脚本吧,我反正是这么理解的,游戏当中的一些脚本代码,由服务端传入客户端。
其他的还要慢慢研究下,毕竟才接触WZ不久。今天就写到这里了。