[技术文章] 传奇客户端地图补丁Objects.wil与map文件的关系

[复制链接]
查看6927 | 回复0 | 2019-1-17 10:52:54 | 显示全部楼层 |阅读模式
              想添加传奇地图。map文件分别放入了服务端和客户端,并且把小地图、地图的属性和刷怪都设置好了,但是还有个Objects.wil文件,这个文件既不能覆盖客户端的文件,也不能随便导入到客户端里的同一名称文件。要怎么加入幽灵船地图的地砖图片,使得不影响其他地图文件
先说明 地砖是地砖,标准素材是标准素材,连这基础都不知道还回答的,全部是小白。

Tiles.wil 和 Objects.wil 是完全不同性质的。
当然幽灵船地图我没看过,不知道会不会利用到Tiles.wil里面的地砖,但说真的,现在的技术好象对地砖来做图没什么兴趣,人人都是喜欢找张大图,然后切片,导入,拼装
这就是为什么现在都喜欢用Objects的原因,而且会导致有的时候人物半透明现象,甚至全透明,图切大了,懒惰人的做法。。

你只要确定新地图只有利用了OBJ的话 那其实很简单了。。导出数据,再导入新的OBJ里,然后拿地图编辑器去自己贴图。。。别忘了做封边。。。这个办法相对简单,但往往太累。。
我之前做过一张4000多*2000多的图,切了几千张小图自己拼。。花了我半天时间,蛋疼得很。

其实还有其他方法的。。拼地图的方法应该都那样,都会小图拼成大的标准数据吧。。就利用这个标准数据的代码。。。找下有幽灵船的客户端。。。找到里面的*.set文件,一般地图编辑器自动读取的是mir2.set ,先用地图编辑器打开 确定有标准数据的时候(这里用之前有幽灵船的OBJ) 确定有的话,记事本打开mir2.set 这里就出现一个dingwei问题了。。

这就必须要靠计算了。我这边因为所有工具都是自己写的,所以我的地图编辑器一点标准数据,序列就出来了。。但一般的地图编辑器没这功能 只有靠自己去算。
算法也简单,一个OBJ是65535(这个数值不陌生吧)所以你先用资源编辑器去打开那个OBJ
找到一张幽灵船的图。。假设是2505。。那么OBJ数值是多少呢? 假设是OBJ13吧
那么65535*13+2505 那数值就是854460

然后你就用记事本搜索功能 搜索854460 找到地方后,往上拖 找到一个带数值的大括号
比如 [2500] 这样的,然后把整段代码复制下来。。。这里其实已经包括封边了 ,其他代码是什么意思你有兴趣可以去分析的 。。一直复制到 [2501]前面 。。数值都是打比方的,你到时候自己判断就行。。

这代码复制出来是有用的。。。然后你可以把所有素材导入到自己新编辑的OBJ里。。比如是OBJ14 假设你自己的 MIR2.SET里有3000个标准数据

那么你打开自己的SET文件,添加一个 [3001]把刚才的代码全部复制过来(当然[2500]就不用了,到你这就是3001了) 接下来就是改具体的图的数值了,因为从OBJ13转到了OBJ14 图就要重新计算下,然后针对每张图来修改。。再次假设下 你现在是从 OBJ14 的第100张开始的。
那么之前的 854460 图的数值要改成 14*65535+100 所有带有数值的都重新对应修改一次就好了。

这样一来所有的标准数据,带封边的 都全部抄袭过来了,再次打开地图编辑器,去贴下图,就搞定了。。。这部分地图的标准数据就看地图大小 ,作者做了几个标准数据了。
有几个你就要复制几个过来。以后要任何的其他标准数据 全部可以用这方法搞定的。
添加map后  服务端上也需要同步到map文件Objects存放在客户端就可以了

回复

使用道具 举报

本版积分规则