LUACN论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
热搜: YJWOW MagicStone BoL
查看: 35179|回复: 52

【教程】泰坦入门基础教程的基础教程,脚本基础第一部分

 关闭 [复制链接]
发表于 2016-8-19 01:13:55 | 显示全部楼层 |阅读模式
本帖最后由 德国球迷 于 2016-8-19 10:03 编辑

说实话这个教程十分简单,不过没有基础的人我建议还是可以仔细看一下。

---------------------------以下是废话但是还是要写

距离上一个泰坦结构介绍的帖子过了大概有二十天了。看了一下大家的投票结果,想看基础教程的比例将近60%,当然这个比例有水分!因为我看见居然有大神也假装想看基础!



那么既然这么多人都想看基础,那么咱们就来说一说编程基础。

---------------------------以上是废话但是还是要写


首先从脚本作者的角度来说,我觉得有三点是必须要掌握的,掌握了这三点,就算是能凑合写点东西自己玩了,这三点我会用通俗的话做分别介绍。这个帖子介绍第一点。


第一点:逻辑判断


逻辑判断,最常用的也就是"如果。。。那么。。。否则。。。"、"与"、"或"、"非"、大于、小于、等于、不等于、这八种,当然还有其它的,但是在这里我捡主要的说。原则上这些方法可以解决90%以上的问题。



"如果。。。那么。。。否则。。。":即 if+条件 then 执行逻辑 else 执行逻辑 ,用伪代码举个栗子




if (条件) then

(条件为真是执行逻辑)   

else (条件为假时执行逻辑) end

这里的end作为结束标识符,表示这一层的“如果。。”判断结束。


拿伪代码再写一遍


if 老血盯上你 then

   你被基

else 你没被基 end

在这里也许你并不知道老血盯没盯上你,但是系统是知道的,所以系统会根据你写的条件进行判断。


当然上面的例子你也可以转换为游戏中的例子,比如

if Boss血量 < 35% then

开启嗜血和爆发技能

else 继续平稳输出 end

这里你会看到一个符号“<”即小于号,翻译过来,也就是说先判断Boss血量是不是小于35%,如果是小于35%那么开启嗜血和爆发技能,否则继续平稳输出。

同理还有其它的判断符号,比如>(大于)、==(等于)、~=(不等于),这里切记判断是否相等时,用两个等号而不是一个,因为一个等号在编程语言里有其他作用(赋值)。

那么逻辑判断部分还剩下与、或、非,这三个东西。

与,即and,用于有多个条件时的判断,当and两端的条件同时成立,则进入真逻辑,否则进入假逻辑,举栗子第二次

if Boss血量 < 35% and 我可以开嗜血吗 then   -------------判断条件

开启嗜血和爆发技能   --------------------为真逻辑

else 继续平稳输出 end   -----------------------------为假逻辑

当Boss血量小于35%,并且我可以开嗜血时,那么开启嗜血和爆发技能,否则继续平稳输出。

这里如果细心看你会发现点问题,就是我不一定可以开嗜血,我不一定是萨满,法师或是猎人。这时候这个条件就不会成立,那么我就会傻子一样的一直执行继续平稳输出,知道BOSS死掉,然后我DPS就垫底了。这也是and判断的局限性。不过即使这样and还是能解决许多问题。

下面你会问,是不是用“或”就能解决这个问题呢?那么我们来讲讲。

或,即or,同样用于有多个条件时的判断,当or两端的条件至少有一个成立,则进入真逻辑,若两端都为假时,则进入假逻辑,那么我们把之前举了两次的栗子再举一下。

if Boss血量 < 35% or 我可以开嗜血吗 then   ----------判断条件

开启嗜血和爆发技能   -----------------为真逻辑

else 继续平稳输出 end   -------------------为假逻辑

这里可以看到我用的是or而不是之前的and。当BOSS血量小于35%,或者我可以开嗜血,那么开启嗜血和爆发技能,否则继续平稳输出。乍一看是不是似乎没问题了?但是其实仔细一想还是有问题,因为嗜血施放有时机问题,假如我是萨满可以开嗜血,但是Boss还满血呢,那么这条语句就会认真的在满血时候开嗜血了,因为“我可以开嗜血吗”这个判断为真,然后你就能听见YY里有人喊“这是谁啊?怎么把嗜血开了?”过一会你就会看到一行黄字“您已被移除出团队”。所以or也不能解决我们的问题。

那么我们只剩下“非”了。非,即not,用于取反。来我们第四次举这个栗子。

if not (Boss血量 < 35%) and 我可以开嗜血吗 then  ----------判断条件

开启嗜血和爆发技能     -------------为真逻辑

else 继续平稳输出 end     ----------------------为假逻辑

这里我们设定一个比较尴尬的情景,假设我是萨满,恰巧我又比较爱死,爱死以至于开场我就直接躺了。但是当Boss打到了还剩30%的时候,团长发现团队DPS不够了,于是决定把我战复起来打BOSS,这时候我被战复起来了。

如果此时我执行上面的语句,那么很不幸,DPS不够,1%灭团了,我又让团长飞了。为什么?我想都不用说你们也知道了,因为我用了not取反,原本要判断35%以下开嗜血,变成了35%和35%以上开嗜血了,可是我起来打的时候Boss只有30%血了,于是我平稳输出导致灭团。

讲到这里似乎我们的设想永远无法实现了。但是显然不是,这里我们提高一下,提出一个新想法,一个if判断不可以,那么用两个呢?这里引入一个新概念,嵌套。我决定把举了四次的栗子换个包装再举一次。  

if Boss血量 < 35% then  ------------第一层条件

             if 我可以开嗜血吗 then     ---------------第二层条件

                              开启嗜血和爆发技能    ---------------第二层真逻辑

                                   else 开爆发技能并喊队友开嗜血 end   ----------第二层假逻辑

else 平稳输出 end  --------------第一层假逻辑

看起来栗子变了样了不是么?但是其实栗子还是那个栗子。

下面来解读一下:

       当Boss血量小于35%时进入第一层真逻辑,这时候恰巧第一层真逻辑本身也是一个判断,判断我可以开嗜血吗?如果可以开,那么进入第二层真逻辑,即开启嗜血和爆发技能。如果不可以开,那么自己开启爆发技能并喊队友开嗜血。

       当Boss血量不小于35%时,直接进入第一层假逻辑,保持平稳输出。

这下,我们的问题解决了,于是我又可以愉快地进入混本状态了


以上内容 可能会有疏漏 如果你真的觉得我写错了 那可能就是我写错了 另外不要吐槽我的排版



单选投票, 共有 40 人参与投票 查看投票参与人

投票已经结束

72.50% (29)
2.50% (1)
25.00% (10)
您所在的用户组没有投票权限
回复

使用道具 举报

发表于 2016-8-19 01:25:48 | 显示全部楼层

回帖奖励 +5 伸手费

教学贴很不错,顶一发
回复

使用道具 举报

发表于 2016-8-19 01:28:35 | 显示全部楼层
哎呦  思路不错哦  支持下
回复

使用道具 举报

发表于 2016-8-19 01:28:55 | 显示全部楼层
入门基础教程的基础教程,脚本基础第一部
回复

使用道具 举报

发表于 2016-8-19 01:33:58 | 显示全部楼层
入门教学贴。不错。期待TT
回复

使用道具 举报

发表于 2016-8-19 01:35:29 | 显示全部楼层
很基础的代码教程,很棒!
回复

使用道具 举报

发表于 2016-8-19 09:03:06 | 显示全部楼层
真是不错,支持
回复

使用道具 举报

netlaoer 该用户已被删除
发表于 2016-8-19 09:03:36 来自手机 | 显示全部楼层

回帖奖励 +5 伸手费

提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2016-8-19 09:04:17 | 显示全部楼层

回帖奖励 +5 伸手费

我喜欢这个教程,楼主加油
回复

使用道具 举报

发表于 2016-8-19 09:08:31 | 显示全部楼层
写得不错,相信认真看的人都会有收获。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|Archiver|LUACN论坛

GMT+8, 2024-4-25 09:58 PM , Processed in 0.086277 second(s), 35 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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