开始
这是一段简单易懂的 ToolDelta-ZBasic 示例脚本代码。纯中文编写的哦!
插件数据文件/ZBasic中文脚本语言/示例的代码/启动.txt
设置 a 为 1
循环执行直到 a > 5
设置 a 为 a+1
聊天栏显示 "@a"; "输出: " + a
结束循环2
3
4
5
作用:在聊天栏依次输出 2~5 四个数字。 这段代码是如何运行的?为什么这么编写?按照教程一步一步走,你也能成为 C语言 ZBasic高手。
第一份代码
插件数据文件/ZBasic中文脚本语言/Hello_World/启动.txt
输出 "Hello, World!"运行代码
在 ToolDelta-ZBasic 中,不能直接运行脚本代码。只有特定命名的脚本文件会在特殊的时候被执行:
脚本文件/
示例脚本/
启动.txt <- 在系统连接上游戏的时候被执行 (无可导入变量)
玩家进入.txt <- 有玩家进入游戏时被执行 (可导入变量: <玩家名:字符串>)
玩家退出.txt <- 有玩家退出游戏时执行 (可导入变量: <玩家名:字符串>)
玩家发言.txt <- 有玩家在聊天栏发言时执行 (可导入变量: <玩家名:字符串>, <消息:字符串>)
玩家死亡.txt <- 有玩家死亡时执行 (可导入变量: <玩家名:字符串>)
abcdefg.txt <- 不会被执行
玩家加入.txt <- 不会被执行
玩家进服.txt <- 不会被执行2
3
4
5
6
7
8
9
10
代码格式
示例代码里的代码缩进是不必要的,ZBasic会无视所有的缩进。因此你也可以将上面的示范代码写成这样的形式:
循环执行直到 a > 5
设置 a 为 a+1
聊天栏显示 "@a"; "输出: " + a
结束循环2
3
4
代码缩进只是为了更美观,更容易看清代码层次。
注释
以井号 # 开头的代码都为注释。 和 Python 等语言不同,ZBasic不能在代码语句之后加 # 作为代码后的注释。 (其实纯纯是因为开发者懒) 示例:
# 这是一行合法的注释
# 这也是一行合法的注释,只不过多了个缩进
设置 玩家名 为 "Steve" # 这不是一行合法的注释!!!2
3
向代码提供参数值
如果只是提供单个参数,直接将表达式写在指令后即可。如:
# 输出 <消息:任意类型>...
输出 "Hello, World!"2
有很多时候需要向指令提供多个参数。你可以以英文分号 ; 来分隔多个参数,如:
# 聊天栏显示 <目标:字符串>; <内容:字符串>
聊天栏显示 "@a"; "输出: " + a
# 输出 ...<内容:任意>
输出 a; b; c; d; "Hello"; "World"2
3
4
5
表达式
在 ZBasic 中,有一套相当完善的表达式解析系统。表达式可以内嵌进任何一个代码语句中。
运算符
ZBasic语言中,数学运算的表达式与你在计算器上输入的基本一致,运算符的优先级和 Python 基本一样。
由于开发者还没做适配,因此运算符目前仅支持单个符号,因此小于等于<=、大于等于>=等还未能实现。 ZBasic中判等运算符是 = 而不是 ==,这也与Python的不一样!
数学符号运算优先级:和普通数学计算一样, 幂运算^ > 乘除运算*/ > 加减运算+- 逻辑符号运算优先级:否运算符非(这实际上是一个函数)> 比较运算符大于小于等于><= > 和运算符和 > 或运算符或 优先级: 函数传参 > 数学运算 > 逻辑运算 有括号,先算括号里面的
函数的参数提供
向函数传入参数:以英文逗号 , 分隔多个参数,如:
设置 随机一个数 为 随机整数 1, (2 + 3 ^ 4)
# 向 随机整数 这个函数传入了 1 和 (2+3^4) 这两个参数2
🤔 为什么要用括号括起 2+3^4 而不是直接写成 随机整数 1, 2+3^4? 因为运算优先级是 函数传参 > 数学运算,所以在不加括号的时候实际的识别顺序是:(随机整数 1, 2) + 3^4,先后顺序完全不一样了。
将表达式内嵌进代码中
所有需要参数值的指令或者代码都可以接受表达式。 示例:
设置 a 为 随机整数 1, 10
如果 a+1=11 那么
输出 "幸运数字是: " + a; " 是特等奖!"
又或者 a+3>7 那么
输出 "幸运数字是: " + a; " 是头等奖!"
又或者 a+2>5 那么
输出 "幸运数字是: " + a; " 是二等奖!"
否则
输出 "幸运数字是: " + a; " 是三等奖.."
结束如果2
3
4
5
6
7
8
9
10