首先 我们要确定一下新地图区域基本有2种模式无非是world_servers和instance_servers很明显世界服务器类别是所有人都可以共同进入instance_servers服务器是团队副本所以在制作新地图的之前要确定好大类别新资料片为world_servers所以在gs.conf的一开始[General]的world_servers类别内添加a32;a33;
确定完大类别 我们仿照类似的世界副本
[World_is33]世界副本
index=73顺序根据is31推断
tag=133地图ID
根据客户端文件确定
base_path=a33/路径地址
limit=allow-root;限制
grid={160,160,50,-2000.0,-2000.0}
base_region={-1024.0,-1024.0},{1024,1024.0}
local_region={-1024.0,-1024.0},{1024,1024.0}
基本区域 根据客户端的p.sev 确定 只要能覆盖p.sev里所有坐标就行
;player_capacity=8192
;npc_count=20000
;matter_count=163840
;副本里特殊player逻辑,通过制定player逻辑的三个部分的cid来完成
;这几个值得设定非常敏感,不能随意设定,与程序代码耦合性非常强
cid=0,2,13
[Terrain_is33]
szMapPath=map
nAreaWidth=512
nAreaHeight=512
nNumAreas=4地图数量根据客户端map文件确定
nNumCols=2根据客户端确定
nNumRows=2根据客户端确定
★还有一点很重要 nNumeClos*nNumRows=nNumAreas
vGridSize=2.0f
vHeightMin=0.0f
vHeightMax=800.0f
[MsgReceiverTCP_is33]
type=tcp
listen_addr=INSTANCE33:11943根据is31推断
so_sndbuf=16384
so_rcvbuf=16384
tcp_nodelay=0
listen_backlog=10
[MsgReceiverUNIX_is33]
type=unix
listen_addr=/tmp/gssock_is33
so_sndbuf=16384
so_rcvbuf=16384
listen_backlog=10
这时肯定有人要问根据客户端文件究竟是哪些文件不急等我慢慢说来
地图数量请查看客户端map文件比如a33里你会发现一共a33_4.t2bk
最大数量到4那就能确定地图数量为4
我们用pck文件解开config.pck找到一个叫instance.txt的文件
[World_is33]
index=73
tag=133
base_path=a33/
limit=allow-root;
grid={80,80,50,-2000.0,-2000.0}
base_region={-1024.0,-1024.0},{1024,1024.0}
local_region={-1024.0,-1024.0},{1024,1024.0}
;player_capacity=8192
;npc_count=20000
;matter_count=163840
;副本里特殊player逻辑,通过制定player逻辑的三个部分的cid来完成
;这几个值得设定非常敏感,不能随意设定,与程序代码耦合性非常强
cid=0,2,13
[Terrain_is33]
szMapPath=map
nAreaWidth=512
nAreaHeight=512
nNumAreas=4
nNumCols=2
nNumRows=2
vGridSize=2.0f
vHeightMin=0.0f
vHeightMax=800.0f
[MsgReceiverTCP_is33]
type=tcp
listen_addr=INSTANCE33:11943
so_sndbuf=16384
so_rcvbuf=16384
tcp_nodelay=0
listen_backlog=10
[MsgReceiverUNIX_is33]
type=unix
listen_addr=/tmp/gssock_is33
![完美国际新地图制作教程 完美国际外网教程](http://img.aihuau.com/images/31101031/31073242t014c4ea077c55e3cad.jpg)
so_sndbuf=16384
so_rcvbuf=16384
listen_backlog=10
众所周知 gs启动项配好后 就进行测试 看看能不能顺利通过 一般大类别分辨错误的话基本log里会出提示这个不用担心
我们首先来看下地图文件的组成airmapmapmovemapwatermap
npcgen sev文件方法还是一样根据类似副本决定比如a33 我们可以取a26作为模版说句实话对于airmapmovemap我没有过多的研究 只是根据客户端的area的数量决定其文件数量
对于map里的文件我也没有更好的办法唯一的办法就是替换法使用其他副本的.hmap文件替换有人这办法真笨确实但没更好的办法 地图数量需要几个 就复制几个.hmap 按顺序作为1.hmap 2.hmap== .conf文件里的一些宽度啥的配置参照想关副本和gs
之前有人传了个工具给我修改地图高度文件的软件结果我研究时中了彩那东西加壳软件很牛比 感染我所有exe文件后来就放弃研究高度数据了;这时候肯定有人会说了这么简单还用的着你说明?呵呵别忙下定论
下面给你们说个很有趣的测试:
对于地图.hmap文件我做了个很有趣的测试结果不影响正常运行
这个测试就是我任意取一个.hmap文件然后用UE打开了.hmap文件全部删空此时的.hmao文件字节为0然后我把所有0字节的.hmap替换掉原先的.hmap文件结果运行正常进入副本跟原先的.hmap效果一样
额 此时说明了什么?大家自己想
测试二:我后来又做了一个实验
对于服务端东西的研究 我一直主张从客户端着手 所以我研究了下客户端
我在网上搜到一个能打开所有data文件的软件只是基本全是乱码这个我们不再讨论重点在于我用这个软件居然扫不到客户端map/a33文件夹里的一个文件夹的东西你们应该想到了那就是bsdata文件
有个很碰巧的情况那就是地图区域数据有多少这里的data数据就有几份因为身为data文件我用data工具却扫不到这引起了我的注意
我有了个大胆的想法于是我把data文件所有的后缀名全改为了.hmap文件复制到了服务端的map下启动参数额一切正常效果一样