ra3地图吧 关注:2,704贴子:38,136

【教程】地编中级使用教程

只看楼主收藏回复

本贴多为有关计数器的教程。涉及的脚本逻辑可能比较高级,当然其实也很简单啦。有脚本基础一下子就懂了。
如果觉得看不懂 请先看下这个教程
http://tieba.baidu.com/p/4340293028


目录
2楼 献给观玲 神奈 渚
3楼 献给梦美 艾菈 篝
4楼 献给大河 朱莉 小夕
5楼 ra3塔防吧及群的外交
6楼 计数器的基本介绍
7楼 拥有计数器 的简单应用以及计数器内容的编
8楼 计数器在占领多个建筑的简单应
9楼 杀敌计数器应用1(杀一定敌人获得奖励)
10楼 杀敌计数器应用2(当杀死一个单位获得一定量的钱)
11楼 间谍卫星系统 持续脚本和瞬间脚本区别
12楼 建造限制系统(用一种类型限制另一种单位的建造)
13楼 出兵加钱系统
14楼 随机计数器1(基本介绍动作和触发类型)
15楼 随机计数器二(基本应用 区间型的随机部队)
16楼 随机计数器三(随机抽钱系统)
17楼 随机计数器四(随机刷野怪系统)
18楼 购买协议系统
19楼 协议花费系统
20楼 多等级系统(经验计数器的应用)
21楼 魔法值系
22楼 END
2 3 4 5层会发布一些有关的修改和补充。请注意下

感谢RMA各位大触的指导


IP属地:广东本楼含有高级字体1楼2017-01-29 03:16回复
    2l献给观玲 神奈 渚




    IP属地:广东2楼2017-01-29 03:16
    回复
      2025-07-30 11:21:45
      广告
      不感兴趣
      开通SVIP免广告
      3l献给梦美 艾菈 篝






      IP属地:广东3楼2017-01-29 03:17
      回复
        4l献给大河 朱莉 小汐








        IP属地:广东4楼2017-01-29 03:17
        回复
          塔防吧链接 http://tieba.baidu.com/f?kw=ra3%CB%FE%B7%C0%D7%A8&fr=home
          以及塔防群 RDA-ra3塔防联盟 515877779
          玩厌了pvp?虐烦了AI 还是给AI虐跪了?来体验下ra3塔防的快感吧。欢迎来到ra3塔防群。 欢迎大家聊关于塔防的话题。不过也不反对pvp等其他娱乐,玩塔防的一般对战打的都不是很好,所以pvp约尽量少些,聊塔防尽量多些。
          此群也是ra3塔防专吧的吧群 喜欢的就关注下我们吧。玩塔防在ra3里占的比例也不多。吧人数也有点少。
          建议打塔防首先还是要了解各种兵种的克制关系等基本知识。在这里可以秀配置,讨论游戏,塔防套路,塔防难图的解法。 当然这里面也有不少塔防mapper。如果有很喜欢塔防的话,也可以与他们一起讨论塔防的做法,以及创新型塔防思路。有兴趣做塔防的,也可以at大佬,探讨脚本做法。 塔防吧里也有不少塔防地图制作教程哦。
          祝大家玩得愉快


          IP属地:广东5楼2017-01-29 03:18
          回复
            计数器的基本介绍
            计数器嘛,按字面意思来理解就是个计数的东西。 没错,他的作用就是计数,把你所需要的数据记录下来,然后你就能读取这些数据进行使用。脚本类型可以和计时器相类比。不过,计数器可比计时器的功能强大多了。用的好的话可以做出许多有趣的地图。
            例如浩方里常见的竞技场地图。。。
            那我们就先来看看有哪些关于计数器的脚本吧
            第一模块
            有关计数器的动作脚本
            a 以下是计数器的创建类型的脚本(大体可以分为 生命计数 击杀计数 拥有(单位)计数 经验计数 随机计数 对计数器数值做出改变
            东西有点多 后面会慢慢讲到

            b
            以下是计数器的显示的隐藏脚本
            188 为显示
            189 为隐藏


            第二模块是 有关计数器的触发脚本
            1 计数器?(等于 大于 小于。。。。)一个值
            81 计数器a(等于 大于 小于。。。。)另一个计数器


            脚本类型基本上和计时器差不多,不过还是有一点区别。
            具体用法我会以实例给出。。
            计数器本身不过是一个很简单的东西 通过与其他动作脚本和条件脚本并用,也就能做出各种各样意想不到的效果


            IP属地:广东本楼含有高级字体6楼2017-01-29 03:20
            收起回复
              拥有计数器 简单的应用以及计数器内容的编辑
              还记得盟军第一关么,让你造5个ifv 然后显示出来。然后触发任务剧情,尽管区域拥有单位脚本可以做到,不过要显示出来拥有多少还是得靠计数器。
              首先让我们来创建一个计数器吧(就叫玩家1拥有ifv计数器吧) 记得后面数字填0。

              接着 我们需要吧玩家1拥有的ifv录入计数器 第一个空填玩家拥有的单位 第二个填单位所属的玩家
              第三个填刚刚设置的那个计数器。

              不过这个计数器只能录入一次,怎么办呢。当然是循环喽。循环设置嘛就选每一帧吧

              这样这个拥有计数器就创建出来了。
              然后我们需要把它显示出来
              看到188号脚本 第一个填被显示的计数器 第二个显示 显示出来前面注释的内容。
              当然 这是个作用持续脚本,就不用循环喽。(我吧动作脚本分为持续脚本和瞬间脚本 以后关于间谍卫星系统会进行说明

              接着当ifv达到5个的时候会触发某些任务剧情。条件脚本如下 看到1号脚本 (不循环。以后没有特别说明就是不需要循环的)

              其实也很简单啦 。就和计时器应用。第一个空填计数器的ID 第二个填大于等于(数值关系) 第三个填 你需要的数值 。 条件脚本就完成啦。接着你需要什么动作脚本就加什么吧
              最后讲下计数器显示内容的编辑。其实也就是和计时器差不多。
              首先创建个文本改成map.str
              打开 按这种格式输入,行数不能错。 要是有多个的话。下一个记得空一行
              SCRIPT:
              ""
              END

              保存后,刷新下地图就能看见了。

              这样就完成啦。


              IP属地:广东本楼含有高级字体7楼2017-01-29 03:22
              回复
                计数器在占领多个建筑的应用
                比如这个地图上有8个石油,当占领完所有石油的话触发任务完成。
                不过盟友玩家有4个。用own脚本的话那将会是8的4次方种可能性。显而易见 这是不可能做得到的。
                用其他方法也是可以做到的不过 用计数器的话最简单方便

                这时我们就需要用到计数器。
                先说下思路吧
                我们需要的是占领全部石油后触发。也就是当8个石油被占领的时候会发生触发。
                因此我们需要创建一个计数器,当占领一个,就会自动加上1,当这个计数器的数值等于8的时候,就会完成触发。
                做法
                首先一样 先设置一个计数器

                接着给所有的石油命名

                接着就是要开始加数了。
                基本逻辑是当这4个玩家其中的一个获得这个石油,计数器就会加1。
                条件脚本如下(这里需要用到逻辑) 前面填你的队友,后面填其中的一个石油(占领建筑)。

                接着是动作脚本

                这个就不用我说了吧。。。。增加1到占领计数器里。
                这样,占领一个石油+1的脚本就完成了。

                复制出8个 吧改修改的修改了。这样每占领一个就加1的脚本就完成了
                接着就是当全部占领的触发了。

                看到1号条件脚本 第一个填那个占领计数器 第二个填等于 第3个填8.(当数值等于8的时候,也就是全部占领了)

                这样 占领8石油触发事件的脚本系统就完成了。。
                这个触发的动作要加什么,根据自己需要吧。
                好哒。这样 占领多个建筑的触发系统就完成啦


                IP属地:广东本楼含有高级字体8楼2017-01-29 03:24
                回复
                  2025-07-30 11:15:45
                  广告
                  不感兴趣
                  开通SVIP免广告
                  杀敌计数器应用1(杀多少个单位触发)
                  1首先创建一个计数器 (虽然有时候是没必要的 但是个人感觉有这一步好些 脚本容易查)我知道我很啰嗦。。以后这个步骤直接用文字表达吧

                  然后我们需要吧玩家1的杀敌录入到计数器里
                  看到315号脚本 第一个空填杀死单位的玩家
                  第二个填杀死什么单位
                  第3个填刚刚创建的计数器(改脚本需要循环


                  在这里 obj lists指的是所以单位(当然 你也可以填其他单位)

                  这样 当这个玩家杀死了多少单位,都会被记录下来。
                  当达到一定数量发生触发 同样的使用2号条件脚本。

                  动作根据自己的需要填
                  好了,看起来很神奇的东西就这么容易。


                  IP属地:广东本楼含有高级字体9楼2017-01-29 03:24
                  回复
                    杀敌计数器应用2(当杀死一个单位获得一定量的钱)
                    例子嘛 就暂且设定为杀死一个瓶子得到200吧
                    这次脚本逻辑相对会比较高级些,需要用到计数器的对比
                    1首先创建2个计数器。一个杀敌基础计数器 一个杀敌作用计数器(字面意思)。先照着做吧。解释我也不太会。做完了自己体会体会。

                    2把player1的杀敌录入计数器 同理
                    看到315号脚本 第一个空填杀死单位的玩家
                    第二个填杀死什么单位(这里是瓶子)
                    第3个填杀敌基础计数器(该脚本需要循环)

                    这样子,杀敌基础计数器就会随着玩家的杀敌增加而增加。
                    接着我们要让这2个计数器产生一种杀死一个就会的到200的效果(也就是杀死一次就会触发一次)
                    当然 这需要循环。

                    先举个例子理清思路吧。
                    比如你杀了1个瓶子,这时候基础计数器是1 作用计数器是0.。
                    给玩家1 200元的同时, 给作用计数器加上1。就会导致基础计数器是1 作用计数器是1
                    接着如果你再杀死一个 就会导致基础计数器是2
                    给玩家1 200元的同时, 给作用计数器加上1。就会导致基础计数器是2 作用计数器是2.
                    接着如果你再杀死一个 就会导致基础计数器是3
                    给玩家1 200元的同时, 给作用计数器加上1。就会导致基础计数器是3 作用计数器是3.
                    这样的加加钱就会一直循环下去
                    。。。。。。
                    不难看出 基础计数器在这里作为自变量,作用计数器作为因变量。
                    基础计数器的增加 就会导致作用计数器的增加并给玩家钱(带动其他动作)
                    因此 所需要的条件是作用计数器<基础计数器
                    3因此我们要怼这2个计数器进行比较
                    这里用的到条件脚本是81号。把2个计数器进行比较大小。

                    当作用计数器小于基础计数器的时候就会完成一次触发


                    接着编辑动作脚本
                    给作用计数器增加1 和给玩家1 200


                    这样 一个杀敌奖励系统就完成了。
                    基本做法是 1创建计数器 2计数器录入数据 3将计数器进行比较(触发动作)
                    是不是很简单丫~~


                    IP属地:广东本楼含有高级字体10楼2017-01-29 03:27
                    回复
                      间谍卫星系统 持续脚本和瞬间脚本
                      这个无关计数器。。不过用计数器做还是可以的。为了方便,还是直接用区域拥有脚本做吧。
                      先说下 持续脚本和瞬间脚本吧
                      我把动作脚本分类为 瞬间脚本 和 持续脚本。
                      可以按字面意思理解
                      持续脚本的效果会因为这个脚本的活跃一直存在。但是如果触发后禁用,就会失去这个效果。(例如 显示全地图的脚本 显示计数器 或者计时器
                      瞬间脚本的效果 触发一次后,就会用永远的效果存在,除非你用他的反脚本,否则这效果一旦触发就无法改变。(例如科技限制 等等)
                      2者最大的区别就是,能否用脚本非活跃(禁用能否解除其效果)
                      禁用也就是9号脚本

                      持续脚本发生循环会发生很可怕的事。例如 失去视野。会导致整个地图都是黑的。

                      间谍卫星系统。
                      额 我们这里的间谍卫星 有点特别。他需要2个观测站以上才能正常运作。
                      由于获得视野和失去视野是持续脚本,所以按原来的方法进行循环会发生一定的bug。
                      因此我们要在这个界面没有循环的状态下,做出循环效果。
                      还记得8号和9号脚本么。
                      激活脚本和禁用脚本
                      激活一个已经触发过的脚本,这个被激活的及脚本也就现当与一个全新的脚本。我们可以用几个脚本联系起来相互激活 做出循环的效果。
                      首先,创建2个脚本,一个是获得视野,一个相应的是失去

                      获得视野的脚本如下
                      条件(区域拥有脚本不会自己去看前面的基础教程)

                      动作 一个是获得视野 另一个是激活下面的失去视野的脚本。

                      接着开始编辑失去视野的脚本
                      条件 少于2个雷达站 动作 失去视野和激活视野获得脚本


                      这样,他们就能相互激活,构成一个循环。
                      我吧2个脚本的内容完整的发出来吧。第一个获得视野脚本。第二个是失去(非活跃脚本)


                      好哒。间谍卫星系统就这样完成啦。也就循环方式有点奇怪罢了。


                      IP属地:广东本楼含有高级字体11楼2017-01-29 03:29
                      回复
                        建造限制系统(用一种类型限制另一种单位的建造)
                        比如 你有一个蛋蛋车 你能建造2个兵营。
                        当你有2个的时候,你能建造3个。
                        差不多就是这意思 兵营=蛋蛋车+1
                        这需要用到计数器的对比
                        一 建立2个计数器
                        1个是玩家拥有蛋蛋车 第二个是玩家拥有兵营的
                        二 把玩家拥有的蛋车和兵营的数量录入计数器(要循环)


                        3将他们进行比较(条件当兵营小于等于蛋蛋车数量时,触发科技限制)

                        当条件为真时就会触发限制 为假时就会触发解锁。


                        IP属地:广东本楼含有高级字体12楼2017-01-29 03:30
                        回复
                          出兵加钱系统
                          这个用计数器可以做到,不过做起来会存在一些bug。
                          基本思路是
                          1创建计数器
                          2录入计数器(循环)
                          3计数器比较(加钱)

                          1创建计数器

                          2录入计数器

                          3计数器比较

                          不过这样做会有一个很大的bug。
                          问题出在394号脚本,虽然有包括死亡,不过他有个特点(EA的锅)。。比如你出了10个单位然后被杀了了5个单位,计数器这时候显示的是10,你再出5个单位,显示的还是10→_→。。。这里倒是有个办法能吧钱数的最终结果搞成一样的。。。不过也有个很大的bug是当对面杀死你一个单位时这个钱会提前给。。。所以这个还是算了吧。
                          这个系统 感觉还是用mod做比较容易。这里说下思路
                          找到这个单位的obj数据 在behavior加上spawn一个单位。
                          然后吧那个单位加上石油的behavior,和lifetime 并吧他的模型什么都删了。这样就做出了这种效果
                          →_→


                          IP属地:广东本楼含有高级字体13楼2017-01-29 03:30
                          回复
                            随机计数器 (基本介绍动作和触发)
                            随机计数器的作用就是产生一个随机数。然后你可以用这个数字来触发某些事件,从而达到随机的效果。

                            一般用的是这个脚本
                            第一个空填计数器的名字 后面2个的意思是在???和???之间产生随机数 也就是在区间【x,y】之间产生一个随机数。
                            不过只能产生一次。想要多次的话必须循环,或者用脚本激活。
                            这时候有人也许会问。产生数字有毛用?==
                            触发啊。你可以吧一个数字当成一个事件的触发来用嘛。
                            这里就说下几种类型的触发吧。
                            1最基本的 一元数型

                            就是当个数字触发一个事件。。每个事件的概率都是一样的。不是很有奇效。不过应该也是用的比较多的。
                            第二种 区间型
                            可以看出这时候归属这个(3,6)区间时就会触发事件

                            第3种 多元数型

                            比如这个 地图上有10个路近点,有4种类型的兵(磁暴 ifv 双刃 天启)。一个计数器决定位置,一个决定玩家,一个决定了单位的类型。
                            也就是吧数字决定成具体的sqawn吧。
                            大概能想到的就这些了。。。


                            IP属地:广东本楼含有高级字体14楼2017-01-29 03:32
                            回复
                              2025-07-30 11:09:45
                              广告
                              不感兴趣
                              开通SVIP免广告
                              随机计数器三(随机抽钱系统)
                              这个嘛 听起来很神奇。。其实也没什么
                              就是建立的随机计数器(这时相当于一个基础计数器)和已经作用计数器,然后进行比较增加作用计数器和加钱而已
                              1建立计数器

                              2进行比较(加钱和加数给作用计数器)需要循环

                              可以看出,当作用计数器小于随机计数器的值时就会一直加上10以及给玩家10块。
                              当然这里增加的量可以改变。不过量越大和随机计数器的值的误差就越大,不过相对的加钱的速度也就越快。红警了是30帧每秒也就是说1s这个脚本只能作用30次。具体情况随你自己喽 要追求速度还是精确


                              IP属地:广东本楼含有高级字体16楼2017-01-29 03:34
                              回复