首页 > 分享 > [教学]命令条件语语法 178

[教学]命令条件语语法 178

 

[教学]命令条件语语法


今天有空,将[https://nga.178.com/read.php?tid=2235680&fpage=1 《宏命令指南》]中的条件语语法部分搬运到NGA上,可能还有的地方不够全面,希望大家补充。也希望大家给点其他好的建议。

命令条件语语法命令条件语是按什么规则生效的?恐怕要回答这个问题很容易引起混乱。所以,我专门列出了下面的宏命令结构表,表下面的是些格式的概念,和一些技术性的内容。此页面正在逐步完善当中。首先来让我们看看宏命令有那些构成方式:

命令空格[第1个条件,第2个条件,第n个条件][第n组条件]第一个参数;[第一组条件[第n组条件]第N个参数……
命令空格第一个参数组;第二个参数组;第N个参数组;……
命令空格条件组参数可为空;条件可为空参数
命令空格参数组可为空
命令
:
:

命令 无数量限制,区分上下顺序。按需求后面带上一个或多个参数组,也可以不带参数组。这里按结构分为:可使用条件语的命令和其他命令。以下所介绍的都是可接受命令条件语的命令格式。
空格 命令与参数之间的空格,此空格为必须的,其他空格均可省略不写。命令后面无条件无参数的话此空格才能为空。
参数组条件组和参数构成参数组,置于空格之后。没有数量限制。参数组与参数组之间由分号分隔。条件组和参数都可以为空。条件组每个参数组中的每组条件用中括号组成条件组,置于参数之前。如:

/施放 [mod:ctrl,stance:3]急奔;[mod:ctrl,stance:1]激怒

条件组没有数量限制,由若干个条件成,用中括号表示。条件判断是由左至右执行的,所以条件组区分先后顺序。如:

[harm,nodead][mod]会先判断目标是否是未死亡的敌对目标,如果条件未达成则判断是否按下特殊按键。
[mod][harm,nodead]会先判断是否按下特殊按键,如果条件未达成再判断目标是否是未死亡的敌对目标。

条件就是小写的命令条件语,对大小写敏感。条件没有数量限制,不区分先后顺序,各条件之间由逗号分隔。如:

[target=fouc,harm]和[harm,target=fouc]所表达的意思是相同的。

如果第一组参数组的所有条件组都不成立,那么就开始判断第二组参数组的所有条件组,以此类推。
如果所有条件都不成立,那么这个宏就执行无参数的命令。

/petattack [target=focus,harm];
可以解释为
命令空格条件组空参数;空条件空参数

第一个参数组的参数为空,如果条件成立,则宠物攻击焦点目标。
分号后面的第二个参数组的条件组和参数都为空,表示执行常规的宠物攻击命令(相当于Ctrl+1)。有时我们需要在特定条件下对特定目标施放技能,并在所有条件不成立的情况下按常规施放。为了防止上面的无参数命令执行的情况发生,此法术(参数)的条件组可以为空,用空的中括号[]表示。[]表示此条件始终成立,前面的所有条件都不成立的话就默认执行此参数组的参数,从而达到此法术按常规施放。

/cast [target=mouseover,help][]圣光闪现

上面例子中的宏在执行时会对你鼠标指向的友方单位施放圣光闪现。如果鼠标没有指向任何单位或者指向的目标不是友善的,那么就会按常规对当前目标施放,或者根据设置(如自动自我施法、自我施法功能键)对自己施放。[]作为最后一个参数组的最后一个条件组,放置其他位置无意义。因为某一参数组的条件成立,就执行当前参数组的参数,而不再过问后面的参数组。如:

/施放 [harm,mod:shift]智慧审判;[harm][]圣光审判

位于最后一个参数组中的空条件组[],如果只有这一个条件组的话,可以舍去不写。这也是我们最常见的宏格式。如:

/施放 [harm]愤怒;[]愈合 ==> /施放 [harm]愤怒;愈合
/施放 []智慧审判 ==> /施放 智慧审判

所有命令条件语都可以加入前缀“no”,即把原来的真变为假,假变为真。比如:
[nostance:1/2]表示不在姿态1也不在姿态2中[nomodifier]表示没用按下特殊按键[nocombat]表示不在战斗状态下参数每个参数组中只允许有一个参数,置于条件组之后。参数可以为空,执行无参数的命令。如:

/petattack [target=focus,harm]
可以解释为
命令空格条件组空参数

参数为空,如果条件成立,则宠物攻击焦点目标。参数为空且将参数组前置的话,如果条件达成,可以停止执行后面的参数,比如在[https://nga.178.com/read.php?tid=2235455&fpage=1 某引导法术宏]中的应用。

#showtooltip
/cast [channeling:吸取法力][channeling:吸取灵魂];[mod:alt,nochanneling:吸取法力]吸取法力;[mod:shift,nochanneling:吸取灵魂]吸取灵魂;[nochanneling:吸取生命]吸取生命

红字部分没有参数(这里指技能名称),表示当正在引导吸蓝/魂的时候不施放技能,所以什么都不做,防止打断引导。
注意宏可以同时执行多个命令,从而做出多个动作。宏的执行过程是由上而下、由左至右的逐行执行的。区分命令与命令之间、条件组与条件组之间、参数组与参数组之间的上下前后顺序也是至关重要的。
改动[+0 +1]有严重骗威望嫌疑(Xstubborn)

版主为何如此评价?

Just a joke!?

请给予解答!



最后的吸取灵魂/生命的例子似乎并不是很好 浪费了些空间

那个原帖点进去看了下
发现如果只是为了防止再次按宏时造成引导浪费的话 实际上

#showtooltip
/cast [mod:alt,nochanneling]吸取法力;[mod:ctrl,nochanneling]吸取灵魂;[nochanneling]吸取生命

就OK了……

另外 字体颜色太多了……看起来比较麻烦

和原帖无关的一些东西...
对于吸取的引导类技能来说 1.想要不浪费引导进度 2.能适应多种情况变化 这两点要全包含进一个宏的话是满麻烦的 至少我这么觉得(它们的应用上有些矛盾?)……
就像例子的那个吸取对于吸取生命时改变为吸灵魂/法力就可以很好的打断当前并切换 但是吸法力时则不能很好地切到吸取灵魂(例如吸取时怪快死了)-然后如果为了这个目的去修改前面的内容 却又会导致后面吸取法力和生命的衔接出现问题 结果就越来越复杂了呢...


改动Edit by solonor at 2009-04-06 19:56

级别: 警告等级1

威望: -3

注册: 06-06-24


楼主很不错。。。

很多宏语句,我们经常看到,但是不明白为什么这么写,他们命令的排列,参数的排列,条件的先后,对该语句有什么影响。。

这个文章详细的解释了命令/参数/条件的使用。。。。

恩,反正对我来说是有用的。。收藏先。慢慢看。


徽章:


这个...这个...让我找到了一年前上VB课的感觉...

PS:要不是室友那张面值65分的小纸条,我现在VB课应该还是挂着的



楼主写的不错不过这些貌似只有学习程序员的能看懂 所以 版主就给你那样的评价了

级别: 学徒

威望: 1

注册: 10-07-29

财富: 24
大神啊谢谢

级别: 警告等级1

威望: -1

注册: 18-04-24

财富: 66
求问大神,在没有GCD的情况下,用宏能不能做到A和B技能各打15秒,如此循环呢

相关知识

[教学]命令条件语语法 178
对外汉语教学基础理论笔记要点.doc
《我的世界手游》睡觉指令操作教学 睡觉命令怎么操作
Windows CMD命令大全(快速上手)
免费CAD基础命令教学视频,助您快速掌握设计技能(cad基础命令教学视频免费)
命令
[搬运]《考格威尔(Cogwheel's)宏命令完全指南》 NGA玩家社区
如何区分言语、语言及沟通?
黑马程序员:Java基础语法(二)
宏完全指南

网址: [教学]命令条件语语法 178 https://m.mcbbbk.com/newsview411518.html

所属分类:萌宠日常
上一篇: 仿花雨庭秒人斧指令教学 仅需一个
下一篇: Assa脚本指令