无色幽明 发表于 2014-03-26

《超级宏官方教程》第三章·第3节:变量与自定义变量(var) —— 主稿:龙蔡、YYL

第三章·第3节:变量与自定义变量(var)

主稿:龙蔡、YYL



变量与自定义变量变量的基本含义例句1:
/Skill 无相诀变量的含义即是:每次运行都可能是不同的值。
变量一般都是写在方括号内进行逻辑运算,从而影响到一行语句的运行结果。
例句中,每次运行,life的值都可能是不同的值,从而影响到无相诀的施放,那么这里 life就是一个变量。
广泛一点,整个方括号内的也都可以看作一个变量。
变量的类型目前插件的变量类型,有布尔型、数字型、字符串型。
布尔型,即 “真”<true> ,假<false> 两种结果
/Skill 战八方
如的判断结果只有两种,<true><false>
变量值为<true>的时候,判断为真,执行技能[战八方]
数字型,如life、mana、sun、moon 这类,是个数字
一般用来进行大小比较
例如:
/Skill 赤日轮
字符串型,很少用到。暂不讲解!为了了解变量的类型,可以查阅说明文档中相关部分。
同时,插件提供了打印功能,可以打印出变量的运行结果
/print
/print
用这处理方式,就可以在聊天栏的黄字中看到输出的结果,便于宏的调试关于“真”与“假”/cast [...] 技能
类似这样的语句,中括号当中的判断结果,
如果是为<false>,那么就称之为“假”,就不会执行释放技能!
除<false>之外的所有值,都会被判断为真,而执行释放技能!
自定义变量简析如例句1中,<life>这个变量是属于插件本身提供的判断。
而自定义变量,就是我们通过命令赋值,需要的时候再调用运算。所有的自定义变量名都是以“v_”开头,
/var定义或者修改变量的值,使用时如同插件本身的判断一样处理即可。例句2:
/var v_life
/Skill 无相诀上例句中,第一行通过/var 命令将life的值赋值给 自定义变量 v_life
第二行,直接引用变量进行判断,如同使用life一样
宏头部自定义开关变量以“#”开头的宏头部命令中,#varbool、#varnum定义的开关,本质上也是一个自定义变量例句3:(一篇结构完整的简短的宏)
#name 自定义变量
#varbool v_a
#varnum v_b,2
/Skill 后撤
/Skill 扶摇直上上面的宏内容定义了两个开关,
一个是#varbool定义的开关,变量名为v_a,他的值在<true><false>之间切换,默认值为<true>
另外一个#varnum 定义的开关,变量名为v_b,他的值在<1><2>之间切换,默认值为<1>
后面两句/Skill的执行,完全依赖于这两个自定义变量的值自定义变量的生命周期#varbool、#varnum定义的变量,会在加载时设置默认值,会一直存在
未进行任何赋值操作的变量,默认返回值为<false>。
仅通过/var 命令赋值的变量,在游戏小退、修改宏之后会重置为<false>。

一般来说,超级宏里面有四种自定义变量1. varbool2. varbox3. varnum4. v_变量
varnum是写法比较高明的varbox,故只剩下三种变种(其实严格来说还有一种,但是为了使教程通俗易懂,故不在此教程里面)

首先说下varbool和varnum,varbool和varnum是用在头部的变量,可以改变宏的界面,让用户可以通过界面选择他要的功能,达到与用户沟通的目的,是超级宏的特点功能之一。当初的主流宏的功能还是很简单的时候,宏写手们都是冲着这个功能而纷纷改用超级宏,为剑三PVE宏打开了全新的一页,新手请务必马上熟练这个功能。
varbool指的就是布尔(bool)的方式来定义一个变量,简单的说法就是,只有开和关。
写法是:#varboolv_变量的名字,tip:变量的作用,tip_1:开启状态,tip_2:关闭状态,Icon:1234分析:#varbool告诉插件你正在定义一个varbool变量v_变量的名字:就是在这里定义变量,必须以v_开头,超级宏所有的变量都是以v_开头,其次是变量名字非常重要,确保对宏写手来说易于辨认,因为需要在宏里面引用,写法不可以错

tip这里就是告诉用户这个这个变量是做什么的,你要写什么都可以,迟些在宏里面不会引用到,因为只是给用户看的,建议写得直观点,让用户可以马上明白tip_1:如前面所说varbool有两个状态,开或者关(真或者假),所以tip_1就是解释第一个也就是默认的状态—-开。你写什么都可以,不过一般上都是写模式开启中之类的,同样的这个也不会引用在宏里面。还有不要把tip_1和tip搞乱,tip是向用户解释整体功能,tip_1是针对开关的状态解释。tip_2如果你已经明白tip_1那么tip_2也是同样的道理,只是tip_2是解释第二个开关,也就是关闭状态。

icon
icon:1234选择你要的图标,游戏里的图标都可以通过ctrl来查找iconID,如果不设置这点的话,将会使用默认太极图图标。那么要怎样在码里面引用这个varbool呢?很简单:/skill 技能因为【v_变量的名字】非假即真,直接使用就可以例子#varboolv_自动扶摇,tip:扶摇模式,tip_1:开启状态,tip_2:关闭状态,Icon:1485http://121.199.25.18/wp-content/uploads/2013/12/QQ%E6%88%AA%E5%9B%BE20131218094756-80x40.jpg http://121.199.25.18/wp-content/uploads/2013/12/QQ%E6%88%AA%E5%9B%BE20131218094835-80x44.jpg/skill 扶摇直上

varnum理解了varbool那么varnum就很好理解了,varnum其实是更加弹性的varbool,varbool只能有两种状态,而varnum却可以拥有一个直到N状态,也就是说varbool能做到的varnum都能做到,varnum能做到的varbool未必能做到,写法是:#varnumv_变量名字 ,3 ,tip:变量的作用, tip_1:开关1的作用, tip_2:开关2的作用, tip_3:开关3的作用, Icon_1:1111, Icon_2:2222, Icon_3:3333varnum的解释和varbool一样,所以这里就只解释当中的差别3,这个代表的是有3个状态,可以设置1~n个状态,不过1是没有意义,所以实用上是2~n个状态tip_n的数量就看你有多少个状态了,icon也是不过varbool虽然有两个状态但是icon只有一个,那是因为varbool是非假即真,图标只是亮着(真)和不亮(假),一个图标就可以代表两个状态。例子#varnumv_日月模式 ,3 ,tip:明教技能模式, tip_1:自动模式, tip_2:主日模式, tip_3:主月模式, Icon_1:3869, Icon_2:3868, Icon_3:3808http://121.199.25.18/wp-content/uploads/2013/12/QQ%E6%88%AA%E5%9B%BE20131218101319-80x36.jpg http://121.199.25.18/wp-content/uploads/2013/12/QQ%E6%88%AA%E5%9B%BE20131218101337-80x37.jpghttp://121.199.25.18/wp-content/uploads/2013/12/QQ%E6%88%AA%E5%9B%BE20131218101350-80x37.jpg在宏里面引用的话:/skill 自动模式的循环/skill 主日模式的循环/skill 主月模式的循环
与varbool不同,必须使用=n来决定当前状态
v_变量这可谓是超级宏的精髓了,这个非头部的可自定义变量,你可以用也可以完全不用,因为其功能是让你的宏的结构更高明,变化更弹性,主要是用来改善宏的写法,但是在比较高级的用法会无可避免的需要用到这自定义变量不过不在这教程的讨论范围之内。
使用v_变量的方法就是赋值,赋值何解?赋值就是,代数字上来说,如果我们要定义a为1的话,写法就是a=1,这就是赋值v_变量可以存很多种类的数值,当中包括–数字12345–真假true false–字符串每一种方式都可以用直接与非直接方式赋值接下来我们就看看如何为v_变量进行各种赋值,如果要检查的话,可以用print来检查结果
尝试以下数字赋值:直接方式:/var v_数字/print 打印12345间接方式/var v_数字/print 打印你现在公共cd的时间
尝试以下真假赋值:直接方式:/var v_真假/print 打印true间接方式:/var v_战斗/print 如果在战斗中会打印true反之会打印false
尝试以下的字符串赋值:直接方式/var v_string
/print 就会打印xxx间接方式/var v_string/print 就会打印目标的名字以上的功能都非常强大,请务必尽快掌握


页: [1]
查看完整版本: 《超级宏官方教程》第三章·第3节:变量与自定义变量(var) —— 主稿:龙蔡、YYL