首先在 X:\mirserver\Mir200\Castle\ 文件夹中新建一个文件夹。文件夹名字随便。我是用数字的。其他我不知道可不可以。
新建完文件夹后在 X:\mirserver\Mir200\Castle\List.txt 这个文件中加一行你刚才新建的文件夹名字(一个城一行)
然后把现有的城堡文件全复到你刚才“新建的文件夹”中
在把“新建的文件夹”中 “SabukW.txt”这个文件的内容修改一个,主要的有以下几个 [Setup] CastleName= “这个为城堡名” OwnGuild= “这个为行会名” [Defense] CastleMapList= “这个为商店之类的地图” CastleMap= “这个是城堡所在的地图” CastleHomeMap= “这个是城堡所在的地图” CastleHomeX= “这个是城堡所在的座标X” CastleHomeY= “这个是城堡所在的座标Y” CastlePlaceMap= “这个为站领城堡的皇宫地图” CastleSecretMap= “这个为皇宫秘密通道地图” CastlePalaceDoorX= “这个为皇宫秘密通道座标X” CastlePalaceDoorY= “这个为皇宫秘密通道座标X”
列如; [Setup] CastleName=第二城 OwnGuild=公安 [Defense] CastleMapList=01510,01520,01530,01540,01550,01560, CastleMap=30 CastleHomeMap=30 CastleHomeX=644 CastleHomeY=290 CastlePlaceMap=01500 CastleSecretMap=D7010 CastlePalaceDoorX=631 CastlePalaceDoorY=274
然后把 X:\mirserver\Mir200\Envir 里的“MapInfo.txt”文件加入新地图的入口座标 可全抄盟重同沙巴克的内,修改地图号就行了,列如;
[D7010 秘密通道1] FIGHT ;第二城 ;地图 地图名称 [30 第二城] INCGAMEPOINT(120/1) [01500 第二城皇宫] NORECALL NODEARRECALL NOGUILDRECALL NOMasterRECALL NORANDOMMOVE [01510 武器店] FIGHT [01520 仓库] FIGHT [01530 药品店] FIGHT [01540 饰品店] FIGHT [01550 服装店] FIGHT [01560 监狱] FIGHT
;皇宫正门 ;地图 座标X 座标Y ;地图 座标X 座标Y 30 630 274 -> 01500 15 19 30 631 273 -> 01500 16 18 01500 15 20 -> 30 631 275 01500 16 19 -> 30 632 274 ;皇宫侧门 30 624 278 -> 01500 6 21 30 627 278 -> 01500 11 22 30 634 271 -> 01500 19 14 ;皇宫二楼 01500 8 23 -> 30 624 271 30 624 270 -> 01500 9 23
30 626,320 -> 01510 6,22 30 634,312 -> 01510 17,10 01510 7,23 -> 30 627,321 01510 18,11-> 30 635,313 01510 6,23 -> 30 627,321
30 637,242 -> 01520 10,15 01520 10,16-> 30 638,243
30 637,333 -> 01530 6,21 30 645,325 -> 01530 17,9 01530 6,22 -> 30 638,334 01530 18,10-> 30 646,326
30 676,293 -> 01540 5,21 30 683,285 -> 01540 16,10 30 676,292 -> 01540 5,21 30 683,286 -> 01540 16,10 01540 6,22 -> 30 677,294 01540 17,11-> 30 684,286
30 664,282 -> 01550 5,21 30 672,274 -> 01550 17,9 01550 6,22 -> 30 665,283 01550 18,10-> 30 673,275
30 600,282 -> 01560 9,15 01560 10,16-> 30 601,283
把 X:\mirserver\Mir200\Envir 里的“MiniMap.txt”文件加入新地图,列如; ;地图 不知 30107
把 X:\mirserver\Mir200\Envir 里的“Npcs.txt”文件加入城堡“管理人员”,列如;
;名称 代码 地图 x y 范围 图标 管理人员 2 01500 7 16 0 8
把 X:\mirserver\Mir200\Envir 里的“StartPoint.txt”文件加入“安全区/复活点”,列如; ;地图 座标X 座标Y 30 330 330
把 X:\mirserver\Mir200\Envir\Npc_def 里新建一个NPC文件,列如;
管理人员_01500.txt “NPC名称_地图”
注:以上所说的地图要确保服务端同客户端的“MAP”文件夹中有相应的地图文件, 列如; [30 第二城] 30是地图,第二城是地图名称,那“MAP”文件夹中要有“30.MAP” 地图文件。
寂寞的骄傲 补充:
怎样实现多城堡分别攻城
1、首先假设提交攻城的NPC只有比奇国王一个NPC,修改Envir\Npc_def\国王-0122.txt [@main] 我是比奇皇宫管理人,掌管着许多事物。希望我能对你有帮助。\ \ <请求创建行会/@@buildguildnow>\ <申请行会战争/@guildwar>\ <如何建立行会/@buildguildexp>\ <有关行会战争/@guildwarexp>\ <申请攻城战争/@requestcastlewar>
.........省略
[@requestcastlewar] 请求攻城作战你应该有<祖玛头像>,你有它吗?战争将会在\ 申请日期的第 二 天内开始。请选择您要攻打的城市:\ <$REQUESTCASTLELIST> <返回/@main> [~@request_ok] 你的请求被许可, <$CASTLEWARDATE> 战争将会发生在这个值得回忆\ 的日子......剩下的时间不多了,祝你好运!\ \ <关闭/@exit>
可以发现在这里使用了 $REQUESTCASTLELIST 这个变量,这个变量会按脚本命令的格式,将你所有的城堡名都列出来,并且还会加上很标准的换行符,选择后,相应的城堡目录中的AttackSabukWall.txt也会正常的添加进攻城行会的名字和日期,并且各城堡之间的攻城战争互不干扰,这个变量不知道翎风为什么没有公布,你问我从哪得来的?....这个....今天的天气....啊哈哈哈哈^_^......
2、如果使用国战功能,那你当然很希望分别去提交攻城请求,那怎么实现呢? 首先你要分别做出各个国家的有攻城功能的NPC.....具体方法请参考各个NPC脚本......
例如: 现在有三个国家,宋国,沙城目录为0;辽国,沙城目录为1;另外还有金国,沙城目录为2,宋国管理攻城的NPC脚本可以这样写
[@main] 我是您忠实的大臣,您希望:\ \ <攻打辽国/@requestcastlewar1>\ <攻打金国/@requestcastlewar2>\
.........省略
[@requestcastlewar1] 攻打辽国必须使用无忧祖玛头像,您是否已经有此物品?\ 如果申请被批准,攻城战将在2天后开始。\ \ <申请/@requestcastlewarnow1>\ <返回/@main>
[@requestcastlewar2] 攻打金国必须使用祖玛头像,您是否已经有此物品?\ 如果申请被批准,攻城战将在2天后开始。\ \ <申请/@requestcastlewarnow2>\ <返回/@main>
[~@request_ok1] 攻打辽国的申请已被批准,攻城战将在<$CASTLEWARDATE>这个好日子进行。\ <返回/@main>
[~@request_ok2] 攻打金国的申请已被批准,攻城战将在<$CASTLEWARDATE>这个好日子进行。\ <返回/@main>
可以发现,这里多了两个脚本命令 @requestcastlewarnow 后面加上数字几,就是攻打第几个城市
现在实现国战的不足,个人认为,还缺乏对于沙行会和沙老大是隶属于哪个沙城的脚本检测命令,及当一个行会占有2个以上城堡时的检测命令等等,当然这个可以通过复杂的脚本加变量的设置来模拟出来,但毕竟太麻烦,所以翎风M2的城堡管理部分到现在还是“(未完成)”
|