12下一页
返回列表 发新帖

小白带你写gg脚本----1,认识lua语言

  [复制链接]

64

主题

743

帖子

3075

积分

大学生

Rank: 5Rank: 5

金币
265
好评
67
贡献
2

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

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

        开头空两格,讲究。
        想必大家都看见过有些大佬用gg修改器来封神的吧!那些大佬的操作那叫一个秀。而且还把陈独秀的棺材板压的死死的。于是我相信每个小白都想和我一样,能玩转gg修改器。并且能够写出脚本,造福大家!

Ps,虽然我现在正在写这个教程,但是我并没有把gg修改器给玩透~那我为什么会来出教程?因为我们论坛没有呗!

其实第一期理应教大家学会使用gg修改器。因为写脚本是在你找到相应数据的基础上的。不过我这是教大家写脚本!!!

不过我像是那么敷衍的人嘛?我之后会专门做一期来教大家的(即使我也没怎么懂....)

好了,话不多说!我们开始吧!
首先,我们得知道啥是lua语言。
我们直接查百度知道这么一大片!不信可以自己点链接去看!链接:lua的简介
这么多,其实重要的就有几句。
1,Lua 是一个小巧的脚本语言。
2,Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。
3,Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用(这个虽然重要,但是对我们现在来说,没有多大用处。)
我们现在只需要知道他是一个小巧的脚本语言就好了。其他的也就不需要怎么知道。当然,这是我的自我认为!

那么接下来我们来学习lua的基本语法吧!注意学习lua最好有点编程基础。没有基础也没办法,只能看你的悟性了
首先我们知道lua是由C语言编写的,那么这个语言应该和C语言有很多相似之处吧!后来学好之后才知道,这估计lua是基因变异了吧!完全不像他爸~

不过这些都不是我们要关心的!我们只需要关系她的基本语法。那么lua的基本语法是啥样的?
在lua语言里面他给一个变量赋值是不需要什么关键词的,直接赋值即可。就像这样,比如我们这里想给一个变量b赋值为2(这里的2为整形)。这里就可以看出lua语言和C语言的不同!

这里lua的赋值相对于C语言少了一个int的代码,在C语言里面每个变量的类型都要提前定义好的,所以当一个变量创建好了,那么他的类型也就定下来了,这就是静态的。而lua语言不同,他只需要程序员们给出一个变量名和相应的数值就可以了。这说明lua语言是动态的!这里我们来看一下一个例子:

我们可以发现C语言一个简单的程序需要写一大堆代码。而看我们的lua语言:

只要这么两段代码就够了。
而且由于C语言是静态的原因,我们可以发现,改变前后b的储存类型是非法的(不符合语法)而我们的lua语言就可以!应为它是动态的原因!我们编译一下我们的lua程序可见

程序没有报错!那么我们这样定义是完全符合代码规范的!那么lua语言经过两次赋值,那么变量b最终的储存的值是什么呢?很简单!我们只需要用一个lua语言自带的方法就可以输出b的值。他就是print(),这个方法括号里面是要传入参数的,毕竟你得告诉这个方法他要输出什么内容呀!那么这个print()可以输出整形,布尔,字符串,浮点型等。那么我们怎么用它来输出我们b的值呢?很简单我们直接把b输入进去就好了!就像这样!

这样我们就可以输出b变量里面所装的东西了!我们编译运行看看!

我们发现程序输出b的值是"nihao"这里,我们就可以证明lua语言是动态的了,第一次赋值使b的类型为整形,里面装了一个整数1,第二次赋值使b的类型编程了字符型,里面装了 "nihao" 这个字符串。这里有些人就会问,明明输出的是  nihao   你为啥要加个“” 呢? 应为在lua语言里面(其实在大多语言里面)给一段符号加上“”就代表这段是字符串!比如“1”这里的1就是属于字符串类型。不能像整形那样直接相加减。怎么证明我说的话是正确的呢?我这里再告诉大家一个方法type()这个方法就是用来判断参数的类型并以string(字符型)来保存!我们把这个方法写入程序里面来验证我说的话吧!

然后运行看看!

我们发现第一个1是属于Number(整形)第二个 "nihao" 属于string(字符型)!至于为什么我要这样写print(type(b)),我们把这段代码从内到外拆开来看,type()的作用是判断传入参数的类型。那么type(b)就是判断b的类型并以字符串类型保存判断出来的结果!print()这个方法是直接可以输出字符型的所以我这样写就用print输出了type(b)所保存的字符串!于是print(type(b))就可以理解为,判断b的类型为Number(就以第一个列子做演示),然后保存Number以字符串的方式存入type(b)中,此时这个type(b)就像一个变量了。然后输出保存在type(b)里所保存的字符串!接下来我来验证一下我说的话(注意,这里我们把type(b)看成一个整体)
首先我们再加一段代码,这段代码用来验证type(b)所保存的内容的类型是否为string。我们运行看看!

我们可以看到,type(b)所储存的类型果然是string型!我们之前说过,print()可以输出字符串类型。而且我们还说过,只要一段字符加上了“”那么他就是字符串类型了。
于是我们可以直接用print()来输出一段话了!比如这样!

输出看看!(注意,最后一段代码后的  “。”不要)

我们可以看见直接输出了字符串!
有些学过Java的同学应该知道,在Java里面。一个输出语句里连接两个字符串输出的用➕。而在我们lua语言里面你要连接两个结果来输出用的是    ..
就是这两个点!首先我给有些不懂得小白介绍一下,这个连接符有什么作用!那么我首先写一个程序给大家看看!

然后我们输出看看!

那么大家研究一下就会发现,这只是把两个变量连起来一起输出!这又有什么用?
我在这里纠正一下,这个连接符不是把变量给连接起来输出,而是把两个数据连接起来输出!(其实理解为把变量连起来输出也差不多,但是变量的作用是啥?只是一个名字!最重要的是装在它里面的数据!)那么既然我这样说,我的意思是,要使用这个连接符号不一定要是两个变量连接起来!
我接下来写个程序给大家看!

输出看看!

我们发现前后两次输出都是一样的!这里有些细心的小伙伴可能就发现了!为啥你上面的print(c..d)和你下面的print("1".."2")中两个参数的类型不同。其中c,d的类型是整形,而“1”,“2”的类型为字符串?
因为连接符连接的是字符串而不是别的!这里的print(c..d)在运行时先把c,d里面所装数据全部字符串化然后再连接起来。而且输出的结果的类型也为字符串。那么我再写段程序给大家看!
对了,先给大家讲一下注释!注释分为单行注释和多行注释!大家看一下就明白了!

然后我们继续前面的过程吧!

我们输出看看!

我们可以看见a..b的类型为string也就是字符串类型!所以证明了a..b连接的是字符串!有人问我为什么不单独给a..b中的a来判断类型?因为就算你判断出来,a也是整形。我说的是一个过程!就是在连接符连接两个变量a,b时,先把a,b中数据化为字符串类型!这是一个过程!!!
那么接下来给大家说一下lua语言里面有哪几种数据类型!

你们慢慢看!数据类型没什么好讲的~
table类型我会在下一节课慢慢讲(虽然我也不是很懂)table可为gg的核心啊!其实在gg脚本里面,你们可以看到什么gg.toast()什么的其实就是一个名为gg的table里面装了不同的方法!算了~还是下节课讲吧!
最后要讲的是输出一段字符串的长度!注意!必须为字符串!
用的只是一个#   大家接下来看我演示!

输出看看!

我们可以看见一个汉字的长度为3,一个数字或者字目长度为1。而且我们可以把#d看为一个整体!然后把值赋给了e。那么这里#d里面所装的数据类型应该为Number型!我们验证看看!


验证成功!那么今天的课程就到这里结束了!
我这里有我之前学习的代码!你们可以看看!

他输出的结果为

那么下期再见!!!有些细节问题还请大家自己探究!比如type(1)输出的类型为啥?对不!




本帖子中包含更多资源

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

x
已有3人评分好评 金币 理由
lcy0429 + 1 很给力!
userr + 1
依然稀好饭 + 1 + 1 赞一个!

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

回复

使用道具 举报

20

主题

1572

帖子

5413

积分

硕士生

我爱学习

Rank: 6Rank: 6

金币
1648
好评
15
贡献
1

考神MT论坛帅哥

发表于 2019-8-16 07:23:24 来自手机  | 显示全部楼层
多谢大佬分享
回复

使用道具 举报

25

主题

1524

帖子

4326

积分

大学生

学渣

Rank: 5Rank: 5

金币
977
好评
7
贡献
0

MT论坛最佳新人考神MT论坛活跃会员

发表于 2019-8-16 07:32:58 来自手机  | 显示全部楼层
学习学习
回复

使用道具 举报

50

主题

1414

帖子

6208

积分

硕士生

流氓头子

Rank: 6Rank: 6

金币
2211
好评
24
贡献
0

考神

发表于 2019-8-16 07:35:40 来自手机  | 显示全部楼层
多谢楼主分享
回复

使用道具 举报

0

主题

249

帖子

767

积分

初中生

Rank: 3Rank: 3

金币
494
好评
0
贡献
0

2019-5.1节快乐MT论坛帅哥考神

发表于 2019-8-16 07:54:48 来自手机  | 显示全部楼层
感谢楼主分享
回复

使用道具 举报

68

主题

872

帖子

2324

积分

大学生

Rank: 5Rank: 5

金币
985
好评
3
贡献
0

考神

发表于 2019-8-16 08:11:58 来自手机  | 显示全部楼层
刚刚发现lua语言居然比Python还要简洁
回复

使用道具 举报

41

主题

1491

帖子

6624

积分

硕士生

Rank: 6Rank: 6

金币
-3
好评
96
贡献
0

MT管理器插件作者MT论坛最佳新人MT论坛帅哥MT论坛灌水老大2019-5.1节快乐考神MT论坛侠客MT论坛活跃会员

QQ
发表于 2019-8-16 08:28:10 | 显示全部楼层
感谢楼主分享
回复

使用道具 举报

5

主题

250

帖子

1224

积分

高中生

Rank: 4

金币
294
好评
0
贡献
0
发表于 2019-8-16 08:38:15 来自手机  | 显示全部楼层
谢谢分享
回复

使用道具 举报

20

主题

4539

帖子

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
3682
好评
33
贡献
0

考神

发表于 2019-8-16 08:40:56 来自手机  | 显示全部楼层
学习一下
回复

使用道具 举报

175

主题

1772

帖子

4737

积分

大学生

Rank: 5Rank: 5

金币
743
好评
25
贡献
0
发表于 2019-8-16 08:43:45 来自手机  | 显示全部楼层
不错。?????。。
回复

使用道具 举报

3

主题

328

帖子

1429

积分

高中生

Rank: 4

金币
638
好评
0
贡献
0
发表于 2019-8-16 09:09:04 来自手机  | 显示全部楼层
你先告诉我们学了lua后,可以做什么骚操作?这样我们的学习欲望会更强一些!
回复

使用道具 举报

64

主题

743

帖子

3075

积分

大学生

Rank: 5Rank: 5

金币
265
好评
67
贡献
2

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

QQ
发表于 2019-8-16 09:11:21 来自手机  | 显示全部楼层
非洲小白脸 发表于 2019-8-16 09:09
你先告诉我们学了lua后,可以做什么骚操作?这样我们的学习欲望会更强一些! ...


可以用来写脚本,嵌入到程序里面等
回复

使用道具 举报

185

主题

2776

帖子

7082

积分

硕士生

No Love No joy

Rank: 6Rank: 6

金币
191
好评
18
贡献
1

2019-5.1节快乐MT论坛帅哥MT论坛最佳新人考神

发表于 2019-8-16 09:55:42 来自手机  | 显示全部楼层
康有为不在,你能Show的起吗
回复

使用道具 举报

0

主题

148

帖子

449

积分

初中生

Rank: 3Rank: 3

金币
261
好评
0
贡献
0
发表于 2019-8-16 10:37:58 来自手机  | 显示全部楼层
感谢大佬分享
回复

使用道具 举报

18

主题

869

帖子

5197

积分

硕士生

Rank: 6Rank: 6

金币
1674
好评
7
贡献
0

考神

发表于 2019-8-16 10:52:21 来自手机  | 显示全部楼层
辛苦了。
回复

使用道具 举报

发表回复

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

本版积分规则

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