您的位置:游戏秘籍网 网络游戏攻略 魔兽世界 正文
原作者:游戏秘籍网 添加时间:2007-08-27 原文发表:2007-08-27 人气:43 来源:[标签:出处]


关键字:宏

宏命令中级进阶教程(中)――在宏里运用函数写程序




从这一章开始,我开始为大家介绍函数和用函数写一些简单的程序(什么是函数?你不需要了解,知道怎么用就成),灵活的运用函数可以做到让很多人羡慕的效果。这需要大家略微了解写程序的知识,我会在讲解中进行介绍,但也需要你去消化、去琢磨。我写教程是为了让更多的人会运用宏而不是准备开个写宏的专门店。


提示:即便使用函数和程序语言也很难实现2个或2个以上的动作连用(何时可以使用2个技能请参照我的教程第五章)。更多的时候是一种智能判断,如战士在切换防御姿态前先换成单手武器+盾,切换狂暴姿态时换成双武器等,希望不要再遇到让我写个机器人程序的人:(


考虑到所有立志于学习宏的玩家,我是怎么麻烦怎么来!



例子(一):牧师上盾并随机说话


/script a=”%t,给你个有限无敌圈!”; b=”%t,把你变上帝!”;c=random(5)


/script if c==1 then SendChatMe age(a) else if c==2 then SendChatMe age(b) else end;end


/script Cast ellByName("真言术:盾(等级 9)")



第一句:/script a=“%t,给你个有限无敌圈!”; b=” %t,把你变上帝!”;c=random(5)



/script:告诉系统下面这段文字是用宏语言写的,如果玩家想使用函数必须在每行的开始加上这一句;



a=”%t,给你个有限无敌圈!” =”%t,把你变上帝!:这是一个赋值语句(注意用引号把文字括起来。这是必须的,否则系统会认为是个变量而造成错误),让后面的所写的语句中‘a’代表“给你个有限无敌圈!”这几个字;‘b’代表“把你变上帝!”这几个字。无论任何时候输入%t都会转化为所选目标的名称。在这里的‘=’可以理解为‘代表’的意思而不是“等于”(什么是等于?看下文……正规的解释可不是这样的,希望我这么说能让没学过程序的人理解),宏命令中只能写入255个字符,字字如金啊!再说每次说话是输入a方便还是打一大串字方便?



c=random(5)random(5)表示在15中间取一个随机数字。那么这句话的意思就是‘让c代表一个15之间的随机数字’,这个数字数字是你每点击一次宏就自动生成一次。



我们整体来看看第一句的意思:“让a代表给你个有限无敌圈!b代表把你变上帝!c代表一个15之间的随机数字”。大家理解了吗?



再看第二句:/script if c==1 the SendChatMe age(a) else if c==2 then SendChatMe age(b) else end;end


/script:我就不解释了,看上文


if…..then……else if……then……else……end;end:这是一个判断句,咱们用中文来说就是“如果…….执行……否则如果……执行……结束;结束”,(我特意把每个关键字后面的空格多加了一个,希望大家看清楚并了解“if c==1”和“ifc==1”不是同一个意思。系统会认为第二个是错误的)


注:‘如果’后面要跟一个判断条件,成立就直接执行下一句的内容,不成立就跳转执行否则的内容;有几个‘如果’最后就要跟几个‘结束’。如果你有5个条件,每个条件都要跟不同的结果,那你可以通过不断的‘否则如果’来完成


SendChatMe age(a):这句的意思是把“a”所代表的内容以普通说话的方式表达出来,在本例的效果如同“/s %t,给你个有限无敌圈!”


SendChatMe age(b):意义同上


c==1:这是一个判断语句,判断c是否等于1(,一个等号是赋值,两个等号才是判断,切记切记),你可以用其他判断方式“==”等于、“>”大于、“<”小于、“>=”大于等于、“<=”小于等于和“~=”不等于。


第二句程序的意思:如果c等于‘1’,用普通对话说:“<目标名称>,给你个有限无敌圈!”,否则,如果c等于2,用普通话说:“<目标名称>,把你变上帝”,否则结束此程序。


第三句:/script Cast ellByName("真言术:盾(等级 9)")


这句的意思是施放9级盾,相当于之前讲过的“/施放 真言术:盾(等级 9)”这条命令,不同的是“/施放”需要单起一行,并只能执行这一条命令。“Cast ellByName法术名称)”可以插入到程序的任何地方从而实现根据不同的情况使用不同的技能。



最后:请注意你的字母大小写,注意逗号,括号,冒号,引号,分号等都要用英文,ifthenelse等词语后面都要加空格或者分号,在出现问题后先检查自己所写的宏里面有没有这些错误。


这个宏效果是用同一技能说不同的话,总听同一句话多烦啊!20%几率说第一句,20%几率说第二句,60%几率不说话――我们之前初级教程的升级版!希望大家喜欢


附加讲解内容:


(一) 关于SendChatMe age()这个函数的深入了解――


使用格式:SendChatMe age("说话内容","说话方式","语言","频道")


作用:说话


我在例子中用这个函数用的非常简单,可以如果我们想大喊出来怎么办?想在行会中说话怎么办?在这里我就对“SendChatMe age()”多讲些内容,毕竟在我看来这个可能是用的最频繁的函数了


例:/script SendChatMe age(“主动给钱或是由我抢劫二选一”,” say”,”通用语”,” YELL”)


作用:大喊“主动给钱或是由我抢劫二选一”和在宏里面输入“/y主动给钱或是由我抢劫二选一”效果相同。


[1] [2] 下一页


本页地址
相关文章

猎人RAID最高的伤害输出
开门后塞纳里奥议会声望的非套装奖励
希利苏斯召唤BO 经验总结转
关于命中和暴击的研究
魔兽世界宏命令最强教程【五】
1.9兽王猎人全分析
联盟盗贼开锁全程攻略
奥特兰克联盟士兵阅读手册
职业观之一统山河(PVP
1.93后的哈卡职业要求以及配置
个人总结完整BL杀哈卡经验
安其拉废墟战斗经验
WOW公会辨析指导教学(序言)
任何职业都会“无敌”
我的魔兽经验
付魔配方大全是付魔师的请进
驳我是一个小D(1)
工程学大全(转贴 总结)
法师不用钥匙,单人完成MC传送门任务
FS和贼的故事(5到6章)

相关评论


本文章所属分类:首页 网络游戏攻略 魔兽世界