AssaSam  
  
查看: 17776|回复: 0

变量

[复制链接]

22

主题

23

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
26782
发表于 2018-6-28 15:59:28 | 显示全部楼层 |阅读模式
assa的变量必须使用dim来定义

在assa脚本语言里 = 符号说明如下(在
label篇里有举例说明)
前者和后者都是数字(整数型),代表值相同
前者和后者都是字符串,前者字符串 等于或者包含 后者字符串
例: abc=ab


1.dim的使用方式
dim 最多支持5个变量(如需要6个,需要放到另一行的dim执行)
例:

////////
dim @a,@b,@c,@d,@e  
dim @e,@f
////////

2.变量的运算方式
变量与变量之间,可以使用(=|!=|<|>|<=|>=|*|/|+|-或函数)来运算和比较
例:

////////
dim @a,@b
let @a,=,1
let @b,=,2
let @a,+,@b
////////

从最后一步开始 @a的值不再是1,而是3


3.子脚本run的理解

在单独的asc或txt脚本文件里,变量的值不会改变

如果配合 run的命令,外挂执行了另一个子脚本,则变量要重新定义
////////
dim @x
let @x,=,1
run 子脚本.txt
print @x
end
\\\\\\\\
子脚本内容:
dim @x
let @x,=,123
end
\\\\\\\\
在run结束后,执行的print @x,而@x的值还是等于1(原脚本和子脚本的定义不会互相影响)


4.语句格式与变量

之前说到的语句格式必须以逗号分割的形式来完整,逗号与逗号之间的信息,都可以存放变量(或不同变量)

例1:

ifpet 1,=,巴朵兰恩,+2
上面的格式 包含位置,符号,宠物名称,和跳转 4个信息,而这4个信息,都可以用变量取代

////////
dim @a,@b,@c,@d
let @a,=,1
let @b,=,=
let @c,=,巴朵兰恩
let @d,=,+2

////////
ifpet @a,@b,@c,@d 该命令完全和 ifpet 1,=,巴朵兰恩,+2 相同

如果再加一行
let @a,+,1

ifpet @a,@b,@c,@d 得到的结果是 ifpet 2,=,巴朵兰恩,+2


例2:
check 宠物1,攻击,>,10,+2
达成任意宠物,任意值的方法
例:
////////
dim @a,@b,@c
let @a,=,宠物
let @b,=,1  '为第几个宠物
let @c,=,10 '为自定义攻击力的值
let @a,&,@b

////////
check @a,攻击,>,@c,+2 该命令完全和 check 宠物1,攻击,>,10,+2 相同

*需要注意的是在let @a,&,@b的时候,@a的值已经改变,为宠物1

如果你要检测宠物2的时候
let @b,+,1
必须重新定义@a
let @a,=,宠物
let @a,&,@b
check @a,攻击,>,@c,+2 得到的结果是 check 宠物2,攻击,>,10,+2

错误:
如果没有重新定义@a
let @b,+,1
let @a,&,@b
check @a,攻击,>,@c,+2得到的结果则是 check 宠物12,攻击,>,10,+2
@a没有重新定义,值依然为 宠物1
let @a,&,@b
则为 宠物1 & 2 值为 宠物12


5.不能定义的变量

变量 不能和(,|@|空格)这3个符号相等

错误例子:
let @a,=,@

let @a,=,,

let @a,=,  

变量不能定义定量

错误:
@[对话.@a]

6.变量可以等于定量
例:

////////
dim @a
let @a,=,@[日期]
if @a,=,2018-06,+2
////////











回复

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表