WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 911查看
  • 6回复

主题

好友

1072

积分

金牌会员

发表于 2009-12-26 00:42:42 |显示全部楼层
第五节

这一节我们来介绍交易类型npc
交易类型的npc于普通npc脚本大同小异,但是文件头部需要定义npc的属性。拿土城武器店npc做例子。
开头有个%100的字样,在石墓阵武器店的开头是%200,有什么区别呢?原来这是定义这个npc物价的语句。%200就是普通物价的2倍。那么接下来的+5、+6、+43是什么意思呢?这就定义了这个npc只能和你交易武器,也就是说你在铁匠那里不能卖手镯。具体什么数字的组合代表什么npc,我在先前的《脚本语言之不完全公略》一文中有详解。你要是想要npc万能的话,可以在开头把要+的数字都给它+上好了。
接下来就是脚本正文,和我们前几讲的差不多,但其中用到了一些固定含义的语言,不能当作他用。
@s_repair 特殊修理
@buy 购买东西
@sell 出售东西
@repair 普通修理
@makedrug 制作毒药
@storage 保管物品
@getback 取回物品
@exit 关闭窗口
@upgradenow 升级武器
@getbackupgnow 取回武器
交易型npc的结尾会有[goods]段落,这就是npc库存物品的显示栏,下面的写物品有一定的规则:
;名称 数量 时间
木剑 10 10
八荒 10 10
凝霜 10 10
炼狱 10 10
;屠龙 10 10
还是那句话,不想显示的物品前面你就打上";"号。如果你想让武器店里面卖药,不改上面"+数字"的情况下,强行在[goods]里面加强效金创药 10 10 反正我没有试过,刷不刷的出来你自己试喽...
范例:
;武器店,带特修,带仓库
%100
+5
+6
+43
; -------------(这里必须空一行)
[@main]
#if
#act
hello,<$USERNAME>,欢迎光临52WPE论坛我们将提供给你最优惠的服务。<买/@buy><卖/@sell><修理/@repair><特殊修理/@s_repair><保管/@storage>东西<找回/@getback>东西<关闭/@exit>

[@buy]
您想买些什么武器?\ \ <返 回/@Main>


[@sell]
给我您要卖的武器.\ \ <返 回/@Main>

[@repair]
您要修理武器吗?给我您要修理的武器.\ <返 回/@Main>
;物品修理前的对话框

[~@repair]
看起来修好了,欢迎下次再来.\ <返 回/@Main>
;物品修理后的对话框,注意这里的[~@repair]
;特修不需要添加类似对应段落,只在开头有<特殊修理/@s_repair>就可以,其对应段落写在m2server.exe中。
[@storage]
需要保管什么东西?\ \ <返 回/@Main>

[@getback]
请看目录决定找什么东西。\ \ <返 回/@Main>

[goods]
;名称 数量 时间
炼狱 10 10
银蛇 10 10
魔杖 10 10
无极棍 10 10
井中月 10 10
血饮 10 10
命运之刃 10 10
裁决之杖 10 10
龙纹剑 10 10
骨玉权杖 10 10
赤血魔剑 10 10
嗜魂法杖 10 10
屠龙 10 10
超级银蛇 10 10


第六节

谈到交易类型npc脚本,我们不得不提仓库捆东西的脚本,看了才知道如此简单,就是用到了checkitem、take、give这几个命令。先检查你的包裹里面是否有这类物品,有了就拿取它们,给你一样东西。捆金条和现在很多人自己制作的"武器升级"脚本也是这种原理,我看过一些"武器升级"的脚本,她和盛大的武器升级系统相比简直就是小儿科的玩艺,就是你拿一些东西去换另一种东西的脚本。http://WWW.52WPE.COM我们来看个范例。
范例:
------------------
%100
[@main]
你好,欢迎光临52WPE论坛,我们会竭诚为您服务。您想<捆/@mbind>东西<关 闭/@exit>

[@mbind]
#if
#say
你具体想捆什么东西?目前我能捆的就这些啦,捆一次手工费100块。<捆/@ch_bind1>强效金创药<返 回/@main>
[@ch_bind1]
#if
checkitem 强效金创药 6
#act
goto @ch_bind1_1
#elsesay
你没有带齐东西啊,我没有办法帮你捆。<离 开/@exit>
[@ch_bind1_1]
#if
checkgold 100
checkitem 强效金创药 6
#ACT
take 金币 100
take 强效金创药 6
give 超级金创药 1
#SAY
已经捆好了... 我的技术不错吧.. 还有要捆的就拿给我吧..
<继续捆/@mbind> <离 开/@exit>
#ELSESAY
你都没有钱捆东西,还捆什么? 快走吧.... <离 开/@exit>

[@main]
#if
check [099] 1
#say
<$USERNAME>如果你刚才已经下过线了,\那请到
监狱长那里重新登记吧!\要不你是出不去的!
<好的/@cxsz> 我喜欢<呆在这里/@exit> <我
没有下过线/@exit>
#elseact
goto @cd
[@cd]
<$USERNAME>你是来看望你朋友的吗?你要回去
了?<回土城/@yes> <再等会吧/@exit>
[@cxsz]
#act
set [099] 0
mapmove 0128
break
[@yes]
#act
mapmove 3 320 320
break
监狱长-0128.txt内容如下:
[@main]
#if
check [099] 0
#say
<$USERNAME>你将被重新送往监狱!\时间将重新开
始计算!谁叫你中途下线的呀,活该!
<好的/@cxsz> 我喜欢<呆在这里/@exit>
[@cxsz]
#act
set [099] 1
timerecall 120
mapmove 0162
break
#elseact
goto @cd
[@cd]
<$USERNAME>希望下次不要再见到你了哦<回土城/@bye> 我还想<再呆会儿/@exit>
[@bye]
#act
set [099] 0
mapmove 3 320 320
break
再在Npcs.txt里加入两行:
监狱长 0 0128 3 5 0 8
地牢看管员 0 0162 6 15 0 15
转于:http://hi.baidu.com/priston2/blog/item/e8c8c6453e1da788b2b7dc2f.html

主题

好友

1086

积分

金牌会员

发表于 2009-12-26 00:44:21 |显示全部楼层
这个我还看不懂啊
回复

使用道具 举报

主题

好友

404

积分

中级会员

发表于 2009-12-26 00:46:07 |显示全部楼层
帮我做个元宝刷怪的脚本`你会吗?
回复

使用道具 举报

主题

好友

1072

积分

金牌会员

发表于 2009-12-26 00:46:11 |显示全部楼层
从我转的   脚本写作教程1  开始看就明白了
回复

使用道具 举报

主题

好友

404

积分

中级会员

发表于 2009-12-26 00:48:50 |显示全部楼层
是不是要下个脚本数据啊
回复

使用道具 举报

主题

好友

1072

积分

金牌会员

发表于 2009-12-26 00:52:10 |显示全部楼层
我不会写刷元宝的教程!#¥%……&*
回复

使用道具 举报

主题

好友

1438

积分

荣誉贵宾

发表于 2009-12-26 01:08:36 |显示全部楼层
看不懂路过...顶起!
回复

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-5-8 11:24 , Processed in 0.058411 second(s), 16 queries .

返回顶部