【教程】 唯的小白Lua教学 第二期:Lua脚本的语法基础,常用语法

各位好,这里是唯。

这是Lua脚本的第二期,我依旧会谈一些理论,不过不要心急,只要你能够认真学习,离编写Lua脚本就不远了。

反之,基础不牢,地动山摇。好的,话不多说,我们开始第二期。


一、Lua脚本的创建方式

创建一个记事本,名字改为你想取的脚本名字,后缀改为.lua。

恭喜你,lua脚本创建成功


二、Lua脚本的编写方式

1、无编程基础,懒:直接用记事本编写。

2、有编程基础,有强迫症:用一些代码编写软件,比如VSCode(全称:Visual Studio Code),等等。

注:我本人主要是写代码的,因此我使用VSCode来编写代码,所以教程截图看起来五颜六色的,实际上效果和你们用记事本编写是一致的,之后不再解释。


三、Lua脚本的基础概念

很多人学习Lua只是为了快速上手,并不想深入了解,我也如此。那么,我们就怎么快怎么来,什么必须掌握就只讲什么(挑重点,笑)

1、变量:变量的概念源于数学,是用于存储值的抽象概念。

变量有两部分组成:变量名,变量值,此外还有一个变量的属性,Lua脚本编写通常使用局部变量。Lua的数据类型不是很重要,变量不需要声明数据类型,这里暂且略过。给变量赋予值的过程称为赋值

示例:

(1)创建一个局部变量a,赋值为字符串 Hello World,创建一个字符串变量b,赋值为字符串 你好:



(2)创建一个局部变量a,赋值为5:


2、函数:函数的概念也源于数学,我们可以简单的把函数看成一个装东西的小盒子。这个小盒子内部能实现一些功能。

函数体示例:


3、算术运算符:Lua常用的算术运算符有:

加:+ 减:- 乘:* 除:/

大于:> 小于:< 等于:==

不等于:~= 大于等于:>= 小于等于:<=

赋值:=


4、逻辑运算符:Lua常用的逻辑运算符有:

与,二者都是的意思:and

或,二选一的意思:or

非,不是的意思:not


5、逻辑判断:Lua常用的逻辑判断有:

示例:


5、循环:当一件事要 重复做n次的时候,我们使用for循环

示例:


Lua的基本语法就到这里了。到此为止,你已经懂了Lua脚本的一些基本语法规范和含义,那么,我们现在可以打开第一期的Lua控制台脚本看看它是什么意思了。

我们来读一读:

首先,LuaScript.dll要识别脚本,需要脚本有个函数。所以我们创建了一个叫run的函数,这个小盒子里我们想要实现调出Lua控制台。

本来呼出控制台的话,我们只要调用LuaScript里的

System_DeBug_OpenDeBugConsole()

函数就可以了,但是只要游戏开着,脚本是循环一直在跑的。为了让控制台只被调出1次,就不再卡bug,像愚公移山一样,子子孙孙无穷尽的不断跑出来,我们需要一个判断让操作只做一次,怎么办呢?需要一个逻辑判断

Lua_Variable_ReadIntVariable('init') 是LuaScript里的一个函数,用来读取一个整型变量的值这里读取了一个名叫init的整型变量的值。第一次读取的时候它是没有值的,默认初始值是0,所以我们开启了Lua控制台。开启完毕之后,我们使用LuaScript里的另一个函数 Lua_Variable_SaveIntVariable('init', 1)

有读取就有存入,init变量的初始值是0,第一次开启控制台之后,我们不想再开第二次,就把init变量的值改为1,那么下一次脚本跑的时候,因为判断里

if Lua_Variable_ReadIntVariable('init') == 0 的判断不成立,现在init的值是1了,就不会重复打开控制台。

是不是很有趣呢?


https://docs.alcedogroup.com/

这是LuaScript函数库的函数介绍网页,你可以看到各式各样的函数,这些就是我们写MHWI的Lua脚本所依赖的工具,就好像流水线组装,把小部件一个个拼凑起来拼成高达一样。

那么,留一个小作业

这个网页里,游戏系统→信息发送里有一个可以向游戏里聊天窗口发消息的函数,它叫 System_Message_ShowMessage(Message)

试着参照Lua控制台的写法,写一个Lua脚本,向游戏里发送一条:

Hello World 吧!

(注:只发一条,不许发多条。括号里的Message是个变量,变量名字不一定要是Message,什么都可以)


好的,那我们下期见。


by 爱尔斯蒂亚 更新于 2022-01-22
若有附件,打赏后可直接下载 赠人玫瑰 手留余香
默认
最新
1