守望先锋地图工坊在哪里(守望先锋地图工坊使用教程)
mxj 发布:2023-12-15 21:41:11 83
作者:NGA-龙亚
本文的目的是从0开始入门。如果你已经明白了地图工作坊是怎么回事,那么这篇文章可能对你帮助不大。
我们先用几个问题“揭开”地图工坊神秘的“面纱”:
地图工作室是由许多“规则”组成的。规则是什么?你可以把它想象成一个个“规定”。当“规则”应该运行时,它就会运行。
举个例子:生活中,如果你上班迟到,那么老板会扣你的工资。当你的闹钟在早上响起时,你应该起床。这些都是生活中的“规矩”。
规则由三部分组成:事件、条件和动作。还是上面的例子,当你上班迟到,今天又不是休息日,那么老板会扣你的工资。在这个规则中,“上班迟到”是事件,“今天不是休息日”是条件,“扣工资”是动作。
这在游戏中是如何体现的?比如我们知道DVA的核爆会对一定范围内的敌人造成伤害,那么“机甲爆炸”就是一个事件,“玩家在爆炸范围内,玩家对DVA有敌意”就是一个条件,“造成伤害”就是一个动作。(PS:这里只是举一个“机甲爆炸”的例子,让你理解事件、条件、动作之间的关系)
一句话,规律就是:当某件事(事件)发生,条件满足时,做一些动作。
写作规则
相信你已经知道“规则”是什么了。那么接下来我们就通过“规则”做一件简单的事情:让玩家每受伤一次就恢复10点生命值。
过程其实很简单:玩家受伤→回血。那么相应的规则应该是什么样的呢?
通过翻看事件列表,我们发现有一个事件恰到好处:玩家受伤了。那我们就把它当做一个事件。
我们没有什么特殊要求,所以不需要“条件”。
动作是给玩家回血。我们应该使用什么动作?通过查看文档,我们发现了一个“治疗”动作。它需要选择几样东西:
在这种情况下,治疗者是谁并不重要,所以我们只需选择“无”。
最后,我们设置的治疗量是10分,所以我们选择“数字”,然后输入10。
可变的
没接触过编程的朋友可能会觉得这个东西有点难懂。但是没我想的那么难。我们可以用数学来理解它。
比如我们有一个等式:y=x+1。在数学中,我们称X为独立变量:当我们放入不同的X时,Y是不同的。我们的“方程”只是定义了一个从x到y的过程。
在上面的例子中,我们有一个动作:给事件玩家10点生命值。在这里,“事件玩家”是一个变量——因为可以有许多玩家触发事件。这个过程就是对待玩家。而10我们通常称之为“不变”——因为它不会变,无论哪个球员受伤,治疗量都是10。
当然,这只是变量最基本的概念。其实变量就像一个“盒子”。我们可以把东西放进去或者拿出来。
在OW中,变量和常量统称为“值”。
实现“冷冻炸弹”
现在让我们写一些更复杂的规则。我们想把麦克雷的子弹变成“冰冻炸弹”——被麦克雷击中的玩家会被冰冻一秒。
同样,我们先来思考一下过程:玩家被麦克雷击中→冻结玩家。
我们发现没有发生“被麦克雷打”的事件。我们做什么呢这时候就该让“条件”出来了。被麦克雷击中是一种伤害,可以继续用“球员受伤”作为“事件”。但是我们有一个附加条件:损伤源应该是一个麦克雷玩家。
我们查阅了文件,发现“攻击者”可能指的是受伤的来源。但是要直接比较吗?想起来《玩家用麦克雷》应该是英雄,而不是玩家。所以,让我们继续了解如何知道玩家用的是什么英雄。最后,我们找到了“英雄”选项。条件是:英雄(攻击者) ==英雄(麦克雷)
注意:等号的左右两边必须是同一类型,也就是类似事件中玩家= =英雄(McRae)是不正确的,因为玩家在左边,英雄在右边。正确的拼写是Hero(事件玩家)= = Hero(麦克雷)
应该采取什么行动?“冻结”是官方状态之一,我们可以直接用“设置状态”。
两个“特殊”事件
从上面我们已经知道规则是什么,怎么写了。但是你发现只有几个“事件”。如果我们想做一些其他的功能,比如想让玩家重生后立刻移动到某个位置,无论是受伤还是死亡的事件,都无法满足要求。这时候就需要用到持久事件+条件了。
持续事件不同于其他事件。其他事件是“当这种情况发生时”,而连续事件是“我会等到条件满足”。
比如我们可以用“生存”来判断一个玩家是否被杀。并且结合我们上面提到的连续事件,我们可以写出这样一个规则:
公文中有这样的解释:“第一次检查满足条件,就采取行动。当不满足条件列表,但稍后满足时,将再次尝试该操作。
所以我们上面的规则其实是:玩家被杀,游戏会等待——等到玩家复活,再做相应的动作。然后玩家被杀,游戏继续等待。重复上述过程。
同样,我们现在要写一个规则,可以响应不在地板上的玩家按下交互键(F),所以可以这样写。
事件:
*进行中-每个玩家
条件:
*在地面上(事件玩家)= = False
*按钮已按下(事件播放器,交互式)= =真
用手做一个图案。
通过上面的文章,我们已经知道如何写规则了。但是我相信你还是不知道怎么写一个简单的游戏。不知道大家有没有玩过号称“看火”的“烫手山芋”模式?这里,我们以这个模型为例。(如果之前没玩过,可以在这里体验一下。)
注意:因为本文是教程文章,不会完全覆盖整个游戏模式。
传递火焰
我们来思考一下这种模式是如何运作的。拥有“火”的玩家可以通过攻击其他玩家(任何方式)将“火”传给其他人。
那么,这个过程是如何被规则描述的呢?我们可以这样说:当一个玩家受伤了,他没有火,但是攻击他的玩家有火,把火传给这个玩家。
从上面的描述中,不难看出,我们应该选择“球员受伤”事件。但是,我们怎么知道玩家有没有“火”呢?不知道大家还记不记得Ash的“延时雷管”——我们可以用点火状态来代表火。通过翻阅手册,我们可以找到“有状态”和“设置状态”和“清除状态”。这样就可以结合条件了。
条件是受伤队员没有火力,进攻队员有火力。因为我们用“玩家受伤”事件,所以用“事件玩家”代表前者,用“攻击者”代表后者。条件是:
*设置状态(事件播放器、无、亮起、9999)
*清除状态(攻击者,点亮)
另外,“打光”只是一个效果——看得见但用不上,所以我们还要加一个“伤”的动作:
*开始连续伤害(事件玩家,无,9999,50)
*设置玩家变量(事件玩家,A,持续伤害效果ID)
*停止持续伤害(玩家变量(攻击者,A))
我们在这里使用变量。你可以结合上面的变量部分,想想为什么要这么做。(PS:你可以把变量想象成一个“盒子”,设置就是把东西放在“盒子”里)
最终的规则如图所示:
奖励奖励积分
俗话说“万事开头难。”现在我们已经做好了最基础的东西,接下来就可以做下一件事了:胜利判断。我们的逻辑是:剩下一个球员的时候,我们就给这个球员一分。
我们不知道什么时候会剩下一个玩家——可能是某个玩家死亡之后,也可能是某个玩家退出游戏之后。我们不能确定会是什么时候,但是我们的条件很明确:只有一个玩家活着。所以我们用持久事件+条件来做到这一点。翻阅手册,可以找到一个叫“存活玩家数”的数值。我们直接使用它:
随机火灾传播
现在我们有了大致的框架,但是还没有处理一些特殊情况:比如玩家死亡,或者玩家退出游戏,以至于“火”消失,我们需要随机把“火”给一个玩家。如上,我们使用持久事件+条件。
我们的条件应该是所有玩家都没有火的时候。换句话说,当带火玩家数量=0时。游戏不能直接得到带火的玩家,但是我们可以通过使用“过滤阵列”来做到这一点:我们可以从所有幸存的玩家中过滤掉带火的玩家,不是吗?
如果是条件,应该这样写:number(过滤后的数组(所有幸存玩家,带状态(当前数组元素,lit)) == 0。(如果你不太明白这个规则,请试着打开括号,跟着手册从里到外一点一点的读。)
动作是从幸存的玩家中随机选择一个玩家,让他拥有“火”。同样,我们需要再次使用“数组”:
解决问题:死亡和火
现在邀请几个好友,或者多开几个账号进入游戏。开始游戏。一名玩家在你的快乐之火中丧生。但是,你发现“火”没有传给下一个人。主人打开“地图工坊查看器”看了一眼,嗯?为什么乱火关的规则没有运行?
事实证明,死亡不会自动发生,我们仍然需要手动处理它:
*事件:玩家被杀。
*状态(事件播放器,点亮)= =真。
“关火”其实就是去掉状态,所以动作也很简单,基本就是复制粘贴上面的规则:
*清除状态(事件播放器、灯)
*停止连续伤害(玩家变量(事件玩家,A))
最终规则如下:
摘要
通过几条规则,我们编写了一个简单的“烫手山芋”模型。我相信你也发现了,这并不难。你需要的只是把一件事变成小事,然后用规则去完成它。
版权说明:如非注明,本站文章均为 零度游戏网 原创,转载请注明出处和附带本文链接;
相关推荐
- 10-27三角洲行动曼德尔砖破译后没到仓库怎么回事-曼德尔砖破译后没到仓库原因介绍
- 11-04镇魂街破晓怎么开启省电模式-开启省电模式方法
- 11-04光遇魔法工坊在哪里-魔法工坊位置
- 11-04破雪刃怎么转职-转职攻略
- 10-27蛋仔派对艾比在哪抓-艾比捕捉分布图一览
- 09-24dnf罗莉安的花戒绝版了吗(罗莉安的花戒属性怎么样)
- 11-04鸣潮椿声骸怎么选择-椿声骸词条选择攻略
- 11-04寂静岭2重制版结局是什么-结局大全
- 11-04龙族卡塞尔之门怎么更换队伍-更换队伍方法
- 09-28tbc燃烧王座副本怎么过(燃烧王座boss流程详解)
- 推荐资讯
-
- 04-11王者荣耀刘禅和安琪拉在房间(刘禅和安琪拉在房间玩耍)
- 10-11网络同居游戏推荐(《与女大生的同居生活》游戏评测)
- 06-12我的世界斗罗大陆指令大全:斗罗大陆死神武魂指令代码汇总[多图]
- 04-10王者荣耀镜的欢迎会禁慢天堂(王者荣耀镜欢迎会网址)
- 10-022020年gta5炒股赚钱攻略详细(免费教你快速赚钱的方法)
- 07-31泰坦之旅职业搭配攻略(36个职业怎么搭配)
- 06-21暗黑2弓箭亚马逊开荒神符之语推荐(武器:弓&弩可以制作的符文之语)
- 07-31怪物猎人世界全自由任务解锁(自由任务通关技巧)
- 09-06王者荣耀免费领永久皮肤(皮肤免费领取的11个方法)
- 08-20gta5代码怎么输入(作弊代码指令玩法攻略)
- 最近发表
- 热门文章
- 标签列表
- 随机文章