教你给服务器添加一个比武活动的脚本
-
由于点错了地方上面的不能用了请用这里的!
我是菜鸟一个,做得不是很好请大家原谅下!我做的脚本只有一处毛病,就是不能让在比武场死去的角色复活在大地图上去!一直郁闷啊!由于不懂怎么上传所以把做法写出来!如果觉得好就帮我顶一下吧!对了,如果你的大地图是用跳点传送而不是用传送员传送的话,那就不必看了,因为你如果没有用传送员的话把下面的修改到你的服务端就会出错!
修改前先备份!!!!
下面我就讲讲如何做这个活动的脚本:
我把我做的复制下来给你们讲解
打开INIT/MAP.SDB
2,server2.smp,server2.map,bsmaptil.til,bsmapobj.obj,bsmaprof.obj,1001,,大战场,TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,TRUE,TRUE,,TRUE,TRUE,,,,,,,,,,,1,698,689,,,,,1,698,689,,,,,,,,,,,,,,,,,,,,,,,
这个是用来个人对战的活动场地,我所修改的地方是:不能开镜子进入,不能带属性装备,但是可以吃任何药,没有武功限制!因为如果可以吃药的话,活动的时间就会延长,你不会希望一开活动不一会就结束了吧!我的服务器是删除了大药的所以这里只能吃生药!
6,fmbat.smp,fmbat.map,southtil.til,southobj.obj,southrof.obj,1001,,门派大战场,TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,FALSE,TRUE,TRUE,,TRUE,TRUE,,,,,,,,,,,1,662,63,,,,,1,662,63,,,,,,,,,,,,,,,,,,,,,,,
这里是给门派对战的场地,修改和上面一样!
由于我在中央设置了一个传送员所以在大地图上不能设置跳点了,如果你的服务器也有传送员可以象我下面这样修改
97,1munh.smp,1munh.map,southtil.til,southobj.obj,southrof.obj,1001,,比武入口,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,TRUE,,TRUE,,,TRUE,,,,,,,,,,,,,,,,,,,,,TRUE,109,,,,,,,,,,,,,,,,,,,,,
这个比武入口 我是用的婚礼宴堂这个地图,前面97是地图代码你必须根据你自己服务器里的地图代码修改,地图的属性基本没有什么改变,直接复制就行了!
打开INIT/ITEM把下面的复制进去
武林诏书,武林诏书,5,进入大战场所用得此物品可以参加单人比武大会,,,,,,,TRUE,FALSE,530,0,0,,0,0,1,,0,,50000,100,,,,,4429,4828,,,,,,,,,,,,,,,,,,,,,,,FALSE,,FALSE,,,,,,,,FALSE,FALSE,,TRUE,,,,,,2,
武林帖,武林帖,5,进入门派大战场所用,,,,,,,TRUE,FALSE,530,0,0,,0,0,1,,0,,50000,100,,,,,4429,4828,,,,,,,,,,,,,,,,,,,,,,FALSE,,,FALSE,,,,,,,,FALSE,FALSE,,TRUE,,,,,,2,记住你的客服端必须有黄泉物品的补丁,上面的物品才会显示出来,要不你就修改它们的物品代码和图片代码!
然后打开Setting/CreateGate.sdb把下面的复制进去
159,朝大战场,朝大战场,0,TRUE,69,45,61,44,42,50,59,97,2,1,,,1,,,,100,武林帖:1,武林帖:1,,,,,,,需要武林帖才能进入,,,,,,,,
160,朝门派对战场,朝门派对战场,0,TRUE,69,39,55,49,45,50,59,97,6,1,,,1,,,,100,武林诏书:1,武林诏书:1,,,,,,,需要武林诏书才能进入,,,,,,,,在这里就是跳点文件了,这里我修改的是,不能开镜进入,不能带属性装备。
下面就要修改你的传送员了打开SCRIPT自己找你的传送员在哪里
下面这里是做为对照不必复制
if aStr = 'goroom13' then begin
print ('mapregen 44');
print ('getsenderitem 钱币:10000');
Name := callfunc ('getsendername');
Str := 'movespace ' + Name;
Str := Str + ' user 1 303 383';
print (Str);
print (Str);
exit;
end;上面不要复制
把下面的复制到你的传送员.TXT里
这里注意↓你看看上面的数字是13,这里才能添14。
if aStr = 'goroom14' then begin
print ('mapregen 45');←这个45也是一样要对照你上面的如果是44.就添45
print ('getsenderitem 钱币:10000');←这里是进入时需要10000钱币,看看你的传送员传送是多少钱自己改
Name := callfunc ('getsendername');
Str := 'movespace ' + Name;
Str := Str + ' user 97 44 56';
print (Str); ↑这个97必须改,对照你的INIT/MAP。SDB地图文件的比武入口的代码修改!后面的44 56不要改
print (Str);
exit;
end;然后打开HELP找你的传送员.TXT修改下面由于我这里是不叫传送员,叫马车商人,所以你要把名字改改!
<trade>
<title>马车商人</title>
<image name=z81 value=235>
<text>
拿10000块钱来我可以雇给你马车到任何地方
要去参加武林盟主争霸赛吗?你找对人了!
什么你要和别人单条啊?有武林诏书吗?
</text>
<command send='close'>关闭</command>
<body>
<a send="goroom1">犀牛林 这些传送地方的名字不要修改了
<a send="goroom2">帝王陵
<a send="goroom3">太极剑门
<a send="goroom4">帝王石谷
<a send="goroom5">狐狸洞
<a send="goroom6">极乐洞
<a send="goroom7">双花店
<a send="goroom8">太极老人
<a send="goroom9">黄金沙漠
<a send="goroom10">极乐寺
<a send="goroom11">黄龙峡谷入口
<a send="goroom12">破天城入口
<a send="goroom13">书生村
<a send="goroom14">比武入口 ←修改这里看见那个14没有,对照你自己上面的13">书生村修改就行了!</body>
</trade>