|
这里以39FB幽冥居为例子,目的是在保留经典的39FB基础上做一个“凤鸣谷版”的幽冥居,并且可以同时开启正版幽冥居和“凤鸣谷”版幽冥居。
首先,修改服务端,服务端的修改除了复制a09以外其它均用winscp打开服务端镜像文件并且修改(打开文本的格式好看些)。
找到路径pwserver/gamed/config
打开gs.conf,找到 instance_servers ,再最后面按照格式添加一个 is99; (这里方便将副本编号定为99),
再查找 Instance_is09 ,把[Instance_is09] 到 [MsgReceiverUNIX_is09] 这4段复制到文本的最底部,中间汉子去掉吧。
再将这4段里面的09全部换成99,红字是替换了之后的数字如下(括号里面的字是说明,重要)。另外此段代码不直接用吧,不同服务端gs略有差别,还有复制过去格式可能要出问题,自己改试试吧,会了山寨其他的副本也就容易了。
[Instance_is99]
index = 91 (索引,这个数字不重要)
tag = 199 (任务数据里面的worldtag编号,一般isXX的地图是XX前加1)
base_path = a99/ (服务端副本文件夹编号)
limit = allow-root; (这里我是把很多限制去掉了,以备和原fb对比)
grid = {80,80,25,-1000.0,-1000.0}
base_region = {-512.0,-512.0} , {512,512.0}
local_region = {-512.0,-512.0} , {512,512.0}
instance_capacity = 200
save_point = 109,446.279,332.745,177.541
player_per_instance = 6
player_capacity = 3000
npc_count = 65536
matter_count = 131072
pool_threshold_low = 10
pool_threshold_high = 20
cid = 0,2,13
[Terrain_is99]
szMapPath = map
nAreaWidth = 512
nAreaHeight = 512
nNumAreas = 1
nNumCols = 1
nNumRows = 1
vGridSize = 2.0f
vHeightMin = 0.0f
vHeightMax = 800.0f
[MsgReceiverTCP_is99]
type = tcp
listen_addr = INSTANCE99:11009(这里的11009是99+10910来的)
so_sndbuf = 16384
so_rcvbuf = 16384
tcp_nodelay = 1
listen_backlog = 10
[MsgReceiverUNIX_is99]
type = unix
listen_addr = /tmp/gssock_is99
so_sndbuf = 16384
so_rcvbuf = 16384
listen_backlog = 10
之后打开 gsalias.conf 找到 instance_servers ,再最后面按照格式添加一个 is;99 ,再在文本最后添加一行INSTANCE99=game2
将pwserver/gamed/config里面的a09复制一个,重命名为a99。
为了方便开fb,打开advindex.jsp,地址大概是在usr/local/tomat/iweb/manage,找到类似{"0", "is40", "神渎之间"},的地方,弄一个格式一样的is99上去,名字就叫测试副本吧,这样就可以在后台的高级服务管理界面里面启动“测试副本了”,服务端就改完了。
下面开始修改客户端,有2种方法,首先下个pck工具,解压 客户端elements文件夹里面的configs.pck,打开里面的instance.txt,复制里面的
//////////////////////////////////////////////////////////////
"幽冥居"
{
109 // ID
"a09" // path
1, 1 // row, column
}
复制到的位置在
//////////////////////////////////////////////////////////////
// b 类副本
这一段的上面,前面2个参数改成199 a09就ok了,这就是第一种修改客户端的方法,最简单了。
测试方法:首先单独启动gs is99,看看会不会一直出现gamed(91)XXXXXX的东西(这里的91就是之前的索引数字,不是太重要,但最好不要和其他fb的数字一样吧),出现了说明服务端配置正确。再同时开幽冥居和测试副本,先选个角色进幽冥居,小退,后台进去查找worldtag,把后面那个109改成199,进去测试就ok了。
当然,要是想把客户端的a09也独立也行,下面说第二种方法,今天我试了一会试出来的:
instance.txt里面那2个参数也弄成199,a99
之后要注意的是,客户端还要如下修改:
复制客户端maps里面的a09,名字改为a99,再将a99里面的文件含有09的文件09全部换为99,再将a09里面的文件全部复制到a99之中去。(总之是里面既要有含有09的文件也要有99的,不然进不去游戏或者地图要掉)
再用pck工具解包litmodels.pck,将里面的a09提取出来,名字改为a99,弄进去,再解包surfaces.pck,对surfaces\ingame\里面的a09dds也做同样的操作。
目前有个小问题,那就是如山寨版的图片所示,右上角没有地图的名字,还有就是出不去,回不了城等,这些以后再说吧。。。
最后就是刷怪了,应该都会吧,稍微认真点将“凤鸣谷”版幽冥居做得比官方那些2B策划做得应该好得多。可以如下去刷:
npcgen就以原来的a09里面的为模版,把每个怪物的id,数量,移动范围都改了,再把其刷新时间(单位是秒)也改了,这样一个带有自动刷新的“凤鸣谷”版幽冥居就出来了。
至于进入fb的方法,就改任务吧,参照神秘使徒那里进入神无谷的任务奖励(132),添加一个幻境之石任务吧,任务奖励里面地图编号弄成199,xyz坐标就填39fb里面门口那几个石碑的坐标吧。
东西写得有点乱,持续优化,有问题的提出来吧,最后附2张图,山寨版的幽冥居和正版的幽冥居。
|
|