12下一页
返回列表 发新帖

小白带你写gg脚本------2,深入了解lua语言

[复制链接]

65

主题

772

帖子

3213

积分

大学生

Rank: 5Rank: 5

金币
323
好评
73
贡献
2

MT论坛最佳新人MT论坛帅哥考神MT论坛侠客MT论坛活跃会员

QQ
发表于 2019-8-17 09:37:09 来自手机  | 显示全部楼层 | 阅读模式
本帖最后由 呵。 于 2019-8-17 09:37 编辑

        开头空两格,讲究 。
        Hello,大家好。我是呵。没错,我又来了,就像风一样。悄悄的来,悄悄的走。好了,废话不多说!直接开始我们今天的教程!
       在上一期我们已经对lua语言有了基础地了解!那么为了让我们之后脚本写的更好,写得更快!就需要我们对lua语言稍稍深入!这一期我们要讲lua语言的数据类型和table类型(重要)。看来任务还是很重的!

在我们的lua语言里面有着8种数据类型!但是其实我们呢用的也不是全部都要用!了解一些基础的就够了!

那么我们需要了解哪些基本类型呢?其实我们只需要了解其中6种类型就够了!
他们分别是:Number, boolean, nil, string, function, table
table类型这章的后面我们会慢慢讲,所以我们先讲其他的5种类型。
第一种:Number
Number我们去翻译一下,他的意思为:数量

在我们的认识中:1也是数量!1.01也是数量!那么在lua里面整形和浮点型是不是都属于Number呢?这个我们就可以用我们上次学的一个方法----type()这个是用来判断数据类型的!我们去写个程序验证一下吧!

我们运行看看!

我们可以看见输出的结果都是Number!所以在lua语言里面整形和浮点型都属于Number!
那么Number类型的数据有什么用呢?
Number翻译过来是数量!那么他就拥有数量的基本属性:表示和运算
什么是表示?表示就是通过一个数量来表达一个物体属性的大小,幅度,趋势等!
什么是运算?就是数量可以进行我们人为定义的数学运算!
那么说了这么多话,我们写个程序看看吧!
我们先对整形来进行四则运算!

我们输出来看看!

我们可以看见成功的输出了对应结果!(上面那两个Number是上次验证忘记删除的!)
那么我们再来对浮点型的四则运算

我们程序成功的写好了!那么我们来编译运行看看!

我们也可以看到,得到了正确的输出结果!
那么以上就可以验证Number类型是可以运算的!
那么我的言外之意是其他的类型是不可以进行数学运算的!
那么在接下来我们讲其他类型语言时会逐一验证的
那么接下来讲boolean 布尔型!什么是布尔型数据?这是百度的解释:链接地址
布尔数据是用来干啥用的?布尔函数是用来进行逻辑判断的!我们都知道计算机程序核心都是由0(关)和1(开)组成的。没有第三者!也就是说!在计算机里面!要么是死人!要么是活人!没有半死不活的人!
在我们lua语言里面!boolean里面只有两种数据,就像计算机世界只有0和1那样!他们分别是:true和false!
我们先来写段程序看看,true和false是不是属于boolean型吧!对了true和false不能加“” 因为上一章我们说过,加了“”不过你是啥,他都是string类型(字符串类型)。

我们来运行看看!

我们可以清楚的看到,true和false都属于boolean而且true和false可以赋值给变量进行相应运算!
那么true和false可以进行什么运算?逻辑运算!
不过在演示逻辑运算之前我们验证一下是否可以进行四则运算!

运行看看!

我们可以看见是不可以的(其他的运算都验证过了)
接下来我们来玩玩逻辑运算!
首先逻辑运算相关的运算符当然不是加减乘除了!他有自己的一套逻辑运算符。他们是:and(与),or(或),not(非)!
那么我们首先来研究and,写段程序看看!

运行看看!

我们可以分析发现,对于and(与)
只有当and两边都为true(真)时,and后的值才为true。其他的都不行!我们还要证明,and后出来的值是否为boolean!(其余的or和not出来的结果也为boolean)

我们可以发现,他也为boolean型

那么接下来验证一下or(或)

运行看看!

我们可以发现,只要or两边有一个true,那么or出来的值就为true。简单来说,就是只要有true那么他就为true!
那么接下来研究一下not(非)

输出看看!

我们首先可以发现,not并不是两个boolean值相互影响!而是只要一个boolean值就够了!
而且not的作用就是把true(真)变为false(假)把false(假)变为true(真)
好了,接下来研究一下nil(空)
其实nil没什么好研究的!nil即为空。有时又相当于false!表示一个无效值!
不过,我们还是要研究一下

输出看看!

我们发现,只有当逻辑运算为and时,结果都为nil。其余的nil都相当于false。
接下来我们验证一下nil是否能四则运算!

很明显!不能!
接下来研究一下string(字符串型)
记得我们上节课说过,只要一段数据加上“”那么他就为字符串型。我们验证看看!

运行看看!

果然如我所说!只要加“”都为string!
上节课我们讲过了“..”这个连接符,那么这节课就不讲了!字符串型作用就是装一些提示语什么的。

接下来就是function(方法,也可叫为函数)
什么是方法?在程序里面就是对一些数据的特定操作!当然怎么操作还是要让程序员自己写的!比如print()他就是一个function(方法)print()的作用就是对数据的输出!type()也是一种方法!作用是对数据的值进行判断!我们接下来验证一下他们是不是属于方法!

可见他们都是方法!
那么我们怎么定义自己的方法?比如我要做一个比大小的function。
那么我们首先得给我们的比大小function取个名字,就叫他whobig吧!那么我们先把模板写好!

这就是一个最简单的模板!
我们来看看,这个简单框架有哪些元素组成!

那么中间就是我们写具体操作的地方了!
我们来写一下吧!我们的程序是这样运作的,给我们的方法传入两个参数,然后方法输出大的那个!如果相等则返回相等!

我们可以看见,程序是可以很好运行的!那么我们先具体讲一下吧!

简单来说,他就是把一群代码给封装起来了!这个function就像一个酒壶。然后function里面的代码就像酒壶里面的酒,如果想喝酒,就直接拿起酒壶来喝酒!如果,没有function封装,那么就相当于你每次要喝酒都需要自己重新把酒造出来再喝酒!(就像,你每次相用代码,就需要重写一样)function作用相当于容器的作用!
好了,function是可以返回一个值的。我们就改一下之前比大小的代码,让他返回大的值。我之前的那个方法没有返回任何东西,只是输出了大的值。我们并不能对大的值调用。而我们改一下代码就可以!
当我们不改代码时。

我们看到a的值为nil也就是无。而这并不是我们想要的。我们想要的是a的值为传入参数的大值。
那么怎么改呢?很简单!我们其实不过就是想要我们的方法能够返回大值嘛。所以我们要用到一个方法return 翻译也就是返回的意思。接下来看我改代码!

我们只要加一个return 方法就可以返回值了。


然后我们再介绍一下if判断。
if翻译过来就是如果。
if a > b 意思就是如果 a 大于 b

  1. if a > b then
  2. print(“a大于b”)
  3. elseif a < b
  4. print(“a小于b“)
  5. else
  6. print("a和b相等")
  7. end
复制代码

意思就是如果a大于b条件成立,于是(then翻译过来就是于是)就输出a大于b。如果条件不成立,(else翻译过来就是其他的,条件不成立就是其他的情况,elseif就是在其他的情况中如果...)则输出a小于b。如果还不成立(也就是a不大于b也不小于b,那就是其他的中的其他的情况)就输出a和b相等!elseif可以有很多个,但是else和if只能有一个!
最后讲一下table(这里先说表格,等会再说数组)
在学习表格之前我们得知道什么是表格,其实我并不喜欢叫他表格,更喜欢叫他“非诚勿扰”为什么呢?你等下就知道了!
我们先写段程序看看!

这个表格太孤单了,里面什么都没有!我们往里面塞东西,塞点美女进去!要不然非诚勿扰没有美女还搞什么!怎么塞?看我操作!

我们看到了两种塞法,而且把girl1塞了两次(只能能委屈她了)。而且两种塞法输出的结果是完全相同的!
其实我更喜欢第一种塞法!简洁!以后我就用第一种塞法了~
首先我来解释一下为什么把表格看为非诚勿扰更好。因为,这个表格就像非诚勿扰!因为非常勿扰里面有很多女嘉宾!就像表格里面的各种元素!女嘉宾都有自己的名字。就像表格里面,各种元素有各自的名字那样。每个女嘉宾都有自己的性格等,就像表格里面各种元素有自己的功能属性一样!所以我说表格为非诚勿扰!
在上面我说了两个关键点:
1,名字
2,功用
我们就拿塞元素来说吧!刚才我们用了:a.girl1 = "Hello!"这个语句来塞元素,这里面就包含了这两个元素。其中a表示表格,girl1代表元素名称,“hello”就代表了元素的属性。所以我们找元素时,就和找女嘉宾一样,找她的名字!至于那个“hello”就像女嘉宾个人属性。当我们找到女嘉宾时可以看到她的属性。元素也是如此!
当然!每个女嘉宾都有每个女嘉宾的属性,每个元素都有每个元素的属性。所以元素的属性不一定都是字符串,它可以是Number,Boolean,nil甚至是Function和另一个非诚勿扰(表格)。
请代码!

其实gg脚本里面什么gg.toast()什么gg.xxx()都是一个叫gg的非诚勿扰里面的女嘉宾。
所以你们也可以创建自己的非诚勿扰,塞进自己中意的女嘉宾。哦,我突然觉得叫表格叫后宫更贴切
有时候啊,我们要查看自己后宫全部的宫女怎么办?
这里我教大家写一段代码就可以全部输出了,输出她们的名字和属性!如果你的宫女对应的是字符串那么属性就是她们对应的字符串!如果是table他会告诉你类型,至于后面那串数据是啥意思我就不知道了!

这段一览宫女的代码就是这样:

  1. for key,var in pairs(你的后宫的名称) do
  2. print(key,var)
  3. end
复制代码


接下来,我们讲数组!其实数组跟我们关系不大!但是本着以教育为本的态度。还是要告诉你们滴!
那么数组是怎么定义的呢?

有些同学就会问了,这不是建后宫用的嘛!你别骗我!
可事实就是这样!我也没得办法!
那么我们往数组里面塞点东西,

然后我告诉大家,数组里面,1为最先的位置。不信我们输出看看!

看到没有!
那么数组里面可不可以放table?试试不就知道了!

放是可以放的,但是无法调用就很蛋疼!!!
好了,本节课程就到这里了!下一章,开始学习gg脚本了!
这是今天课程的用的代码!
网址: http://xcamyi118.bt1.b08z.cn/gg教学/第二课.lua

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
已有1人评分好评 金币 理由
雨落惊鸿, + 1 + 1

查看全部评分 总评分:好评 +1  金币 +1 

回复

使用道具 举报

64

主题

1921

帖子

6245

积分

硕士生

Rank: 6Rank: 6

金币
2058
好评
25
贡献
19

MT论坛最佳新人MT论坛帅哥考神

QQ
发表于 2019-8-17 09:37:59 来自手机  | 显示全部楼层
感谢分享
回复

使用道具 举报

213

主题

4674

帖子

1万

积分

博士生

大水怪在此![#滑稽]

Rank: 7Rank: 7Rank: 7

金币
2498
好评
66
贡献
1

MT论坛活跃会员MT论坛侠客MT论坛美女懒考神

QQ
发表于 2019-8-17 09:38:31 来自手机  | 显示全部楼层
椅子
回复

使用道具 举报

29

主题

5402

帖子

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
4011
好评
38
贡献
0

考神

发表于 2019-8-17 09:45:36 来自手机  | 显示全部楼层
学习一下
回复

使用道具 举报

1

主题

222

帖子

613

积分

初中生

Rank: 3Rank: 3

金币
383
好评
0
贡献
0
发表于 2019-8-17 09:47:42 来自手机  | 显示全部楼层
谢谢老板
回复

使用道具 举报

213

主题

4674

帖子

1万

积分

博士生

大水怪在此![#滑稽]

Rank: 7Rank: 7Rank: 7

金币
2498
好评
66
贡献
1

MT论坛活跃会员MT论坛侠客MT论坛美女懒考神

QQ
发表于 2019-8-17 10:09:24 来自手机  | 显示全部楼层
其实写GG脚本很简单的,用几个函数就行了gg.searchNumber
gg.getResults
gg.editAll
你的print教程可能会把小白p懵
回复

使用道具 举报

65

主题

772

帖子

3213

积分

大学生

Rank: 5Rank: 5

金币
323
好评
73
贡献
2

MT论坛最佳新人MT论坛帅哥考神MT论坛侠客MT论坛活跃会员

QQ
发表于 2019-8-17 10:36:58 来自手机  | 显示全部楼层
萌❤心(尼斯湖超级水怪) 发表于 2019-8-17 10:09
其实写GG脚本很简单的,用几个函数就行了gg.searchNumber
gg.getResults
gg.editAll

嗯嗯!知道了大佬!我只是想给小白讲讲lua语法!虽然我也是小白,但是我不能让小白们什么都不懂,直接去写脚本吧!不过还是谢谢大佬提醒!!!
回复

使用道具 举报

2

主题

243

帖子

792

积分

初中生

Rank: 3Rank: 3

金币
531
好评
0
贡献
0
发表于 2019-8-17 13:23:40 来自手机  | 显示全部楼层
楼主辛苦了
回复

使用道具 举报

0

主题

413

帖子

704

积分

初中生

Rank: 3Rank: 3

金币
-27
好评
0
贡献
0
发表于 2019-8-17 14:34:56 来自手机  | 显示全部楼层
辛苦了,看看
回复

使用道具 举报

3

主题

399

帖子

1054

积分

高中生

Rank: 4

金币
582
好评
0
贡献
0
发表于 2019-8-17 20:40:05 来自手机  | 显示全部楼层
一脸茫然离开
回复

使用道具 举报

0

主题

44

帖子

129

积分

小学生

Rank: 2

金币
64
好评
0
贡献
0
发表于 2019-8-18 14:38:15 来自手机  | 显示全部楼层
大佬加油
回复

使用道具 举报

0

主题

44

帖子

129

积分

小学生

Rank: 2

金币
64
好评
0
贡献
0
发表于 2019-8-18 14:39:09 来自手机  | 显示全部楼层
学习靠前
回复

使用道具 举报

0

主题

329

帖子

1298

积分

高中生

Rank: 4

金币
270
好评
0
贡献
0
发表于 2019-8-18 15:55:50 来自手机  | 显示全部楼层
谢谢教程
回复

使用道具 举报

17

主题

373

帖子

1440

积分

高中生

Rank: 4

金币
73
好评
9
贡献
1
发表于 2019-8-18 16:11:08 来自手机  | 显示全部楼层
看看看看
回复

使用道具 举报

17

主题

373

帖子

1440

积分

高中生

Rank: 4

金币
73
好评
9
贡献
1
发表于 2019-8-18 16:14:03 来自手机  | 显示全部楼层
看看看看
http://vip.d6cc.com
回复

使用道具 举报

发表回复

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

本版积分规则

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