0

超级宏论坛

分类导航全部

温馨提示

站内问题请先查看帮助中心
每一位侠士都有过小白经历,希望大家多一点耐心,互相帮助,江湖有你随行,步步惊(喜)心

发帖说明

  1. 求助类问题请在提问前请先搜索已解决方案,并描述清楚问题。
  2. 宏与工具的提问时请在帖子中“@ 用户名”,以便作者收到通知,否则作者可能无法知晓。
关闭生成文章|
rebie 关注 发布时间: 2014-05-31 最后更新: 2014-05-31 5787 2
打印
分享
倒序查看
rebie 14 认证玩家 签约作者 1# 最后更新 2014-05-31
更多 回复(2)
基于超级宏变量赋值和逻辑判断的特性,引申出一些特别不合逻辑但是有效的使用方法
在宏的变量赋值与逻辑中:
1.一切不是false的在逻辑处理时都为true.
/if [1]
        /print [str:helloworld]
/end
此时将会print出helloworld的语句
2.当表达式为true,将会把最后一个量装入保存的变量中.
/var [1<2] v_test
/print [v_test]
此时将会print出2的语句

综上将讲解的语句是下面这一句.
/var [!var,fun1(var);fun2(var)] var

fun2(var) 应有结构为
fun3() (<,>,=,~=) var
前后顺序由保存变量决定
举例1中保存变量为 切换目标
举例2中保存变量为tid

举例1:
/var [!v_切换目标,nowtime+0.5;tnodead,nowtime>v_切换目标] v_切换目标
等效于
if [!v_切换目标]
        /var [nowtime+0.5] v_切换目标
/else
        /var [tnodead,nowtime>v_切换目标] v_切换目标
/end
在宏的逻辑中,当(tnodead,nowtime>v_切换目标)为true,将会把最后一个量装入保存的变量中,
以上表达式等效于
全式拆解为
if [!v_切换目标]
        /var [nowtime+0.5] v_切换目标
/else
        /if [tnodead,nowtime>v_切换目标]
                /var [v_切换目标] v_切换目标
        /else
                /var [false] v_切换目标
        /end
/end
等效处理方案
if [tnodead,nowtime>v_切换目标]
        /var [true] v_切目标
        /var [nowtime+0.5] v_切换目标
/else
        /var [false] v_切目标
/end
举例2:
/var [!v_切换目标,tid;v_切换目标=tid] v_切换目标
此式等效处理方案:
if [v_切换目标=tid]
                /var [true] v_没换目标
        /else
                /var [false] v_没换目标
        /else
/end
/var [tid] v_切换目标

评分

参与人数 2 +60 米币 +24 +1 +14 收起 理由
admin + 60 + 24 + 14 感谢分享!
无色幽明 + 1 很强大的语法

查看全部评分

点击开关回复楼层
永远的言秀 3 认证玩家 签约作者 3# 发布于 2014-05-31
更多 回复
不留沙发在人间。。。。咦,沙发没了
没有更多了
请先登录

试一试@用户名 立即召唤神龙 小伙伴会收到通知喔:)无需加好友即可通知到

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则


您当前使用的浏览器版本过低,网站部分功能可能失效,请更换合适的浏览器。了解更多