科百科
当前位置: 首页 范文大全

守望先锋地图工坊零基础入门教程(守望先锋地图工坊怎么做)

时间:2023-08-29 作者: 小编 阅读量: 4 栏目名: 范文大全

规则由三个部分组成:事件,条件和动作。通过翻阅事件列表,我们发现有一个事件刚好合适:玩家受到伤害。顾名思义,“事件玩家”指的是触发事件的玩家。过程是给玩家治疗。状态是“冻结”。持续事件和其他的事件都不太一样。之后玩家又阵亡了,游戏又会继续等。从上面的描述不难看出,我们应该选择“玩家受到伤害”事件。条件是受伤的玩家没有火,而攻击方有火。

守望先锋地图工坊是令人讶异的,它为我们带来了实现自己的想法的机会,但是,要自己编写一个先玩法需要一定的基础,下面为大家带来的就是玩家“泷涯”编写的地图工坊零基础新手教程,一起来看看吧。

守望先锋地图工坊零基础入门教程

本文的目的是从0开始到入门。如果你已经理解了地图工坊是怎么回事了,那么本文可能对你帮助并不大。

我们先用几个问题来“揭开”地图工坊神秘的“面纱”:

地图工坊是什么?它是一个功能更多的自定义模式。

地图工坊能做什么?现阶段,它可以做一些很有意思的玩法,相信你已经体验过地图工坊的作品了。

地图工坊不能做什么?它不能脱离游戏的基本框架,例如OW限制了只能有12个玩家,地图工坊并不能让你的房间能塞更多人。现阶段它也不能替换模型,不能改变地形。

地图工坊在哪里?它不难找,新建一个自定义房间,打开设置,你就会发现一个大大的“地图工坊”按钮。地图工坊所有的设置就在这里面了。

什么是规则

地图工坊是由很多条“规则”组成的。规则是什么?你可以把它看做是一条一条的“条例”。当“规则”该被运行的时候,它就会被运行。举个例子:在生活中,如果你上班迟到了,那么老板就会扣你工资。当你早上闹铃响了,那么你就应该起床了。这些都是生活中的“规则”。

规则由三个部分组成:事件,条件和动作。还是上面的例子,当你上班迟到,并且今天不是休息日的话,那么老板就会扣你工资。这条“规则”中,“上班迟到”是事件,“今天不是休息日”是条件,“扣工资”则是动作。

那在游戏里怎么体现呢?例如,我们知道,DVA的核爆会对一定范围内的敌人造成伤害,那么,“机甲爆炸”是事件,“玩家在爆炸范围内,且玩家和DVA是敌对关系”是条件,“造成伤害”则是动作。(PS:这里只是用“机甲爆炸”举例子,让你明白事件、条件、动作之间的关系)

总而言之,规则即是:当某件事(事件)发生,且条件满足时,就做一些动作。

编写规则

相信你已经知道“规则”是什么了,那么,接下来,我们就通过“规则”做一件简单的事:让玩家每次受伤时,回复10生命值。

过程其实很简单:玩家受伤→回血。那么相应的规则应该是什么样?

通过翻阅事件列表,我们发现有一个事件刚好合适:玩家受到伤害。那么我们就用它作为事件了。

我们并没有什么特别的要求,所以不需要“条件”。

动作是给玩家回血。我们应该用什么动作?通过翻阅文档,我们发现了一个“治疗”的动作。它需要选择几个东西:玩家,治疗者,治疗量。

“玩家”就是这个动作的目标,即给谁治疗。我们怎么让游戏知道,治疗的目标是受伤的玩家呢?我们可以使用“事件玩家”。顾名思义,“事件玩家”指的是触发事件的玩家。我们在上面使用了“玩家受到伤害”事件,那么,在这里“事件玩家”指的就是受到伤害的那个玩家。类似的,如果我们使用“玩家阵亡”作为事件,那么就可以用“事件玩家”来代指阵亡的那个玩家。

在本例中,治疗者是谁并不重要,所以我们选择“无”就行了。

最后,我们设定的治疗量是10点,所以我们选择“数字”,然后输入10。

变量

没接触过编程的朋友可能会觉得这个东西有一些难以理解。但它并没有想象中那么难。我们可以用数学来理解它。

例如我们有一个等式:y=x+1。在数学上,我们把x叫做自变量:当我们放入不同的x时,y就不一样。我们的“方程”只是定义了一个从x到y的过程。

在我们上面的例子中,我们有一条动作:给事件玩家治疗10点生命值。这里面,“事件玩家”是一个变量——因为触发事件的玩家可以有很多个。过程是给玩家治疗。而10我们一般把它叫做“常量”——因为它不会变,无论是哪个玩家受伤了,治疗量都是10。

当然了,这只是变量最基本的概念。其实变量就像一个“盒子”,我们可以把东西放进去,也可以把里面的东西拿出来。

在OW中,变量和常量统称叫“值”。

实现“冰冻弹”

现在我们来写一点更复杂的规则。我们希望让麦克雷的子弹变成“冰冻弹”——被麦克雷打中的玩家,就会被冰冻住1秒。

同样的,我们先想一想过程:玩家被麦克雷打中→把玩家冻住。

我们发现“事件”并没有“被麦克雷打中”的事件。怎么办?这时候就该让“条件”出马了。被麦克雷打是受到伤害的一种,所以“事件”我们可以继续用“玩家受到伤害”。但是我们有一个附加条件:伤害的来源应该是一名麦克雷玩家。

我们翻阅文档,找到“攻击方”可以代指伤害来源。但我们应该直接拿它来做比较吗?仔细想想,“玩家使用的是麦克雷”比较的应该是英雄,而不是玩家。因此,我们继续找找怎么知道玩家用的什么英雄。最后,我们找到了“英雄”这个选项。条件便是:英雄(攻击方) == 英雄(麦克雷)

注意:等号的左右两边一定要是相同类型的,即类似事件玩家 == 英雄(麦克雷)是不正确的,因为左边是玩家,右边是英雄。正确的写法是英雄(事件玩家) == 英雄(麦克雷)

动作应该是什么?“冰冻”是官方提供的状态之一,我们可以直接使用“设置状态”:玩家,助攻者,状态,持续时间。

“玩家”和上面一样,使用“事件玩家”即可。助攻者即为“攻击方”。状态是“冻结”。“持续时间”输入“1”。

两个“特殊”的事件

通过上面的内容,我们已经知道了规则是什么,以及基本都规则编写。但你发现,“事件”只有非常少的几项。如果我们要做一些其他功能,例如,我们想让玩家重生后马上将他移到某个位置,无论是受到、造成伤害事件,还是阵亡事件,都不能满足要求。这时候,就需要用到持续事件+条件了。

持续事件和其他的事件都不太一样。其他事件都是“当这件事发生时”,而持续事件则是“我会一直等着,直到条件满足”。

例如,我们可以用“存活”来判断玩家阵亡与否。而结合我们上面所说的持续事件,我们可以写出这样的规则:

事件:持续 - 每名玩家

条件:存活(事件玩家) == 真

这是什么意思呢?根据上面的介绍,我们把它“翻译”过来,就是:一直等,直到玩家活着的时候,就做下面的动作。

官方文档中有这样的解释:“当首次检查就满足条件时,则会执行行动。当未满足条件列表,但之后又满足时,则会尝试再次执行行动”。

因此,我们上面的规则,实际上就是:当玩家阵亡的时候,游戏就会等——等到玩家复活,然后做相应的动作。之后玩家又阵亡了,游戏又会继续等。不断重复上述的过程。

类似的,我们现在要编写一个规则,能响应不在地板上的玩家按互动键(F),那么我们就可以这样写

事件:持续 - 每名玩家

条件:

在地面上(事件玩家) == 假

按钮被按下(事件玩家, 互动) == 真

动手做一个模式。

通过上面的文章,我们已经知道了如何编写规则。但相信你还不知道如何编写一个简单的玩法。不知道大家是否玩过有“守望传火”之称的“烫手山芋”模式?这里,我们就以此模式为例子。

注意:因为本文是一篇教程文章,所以不会完整覆盖整个游戏模式。

传火

我们想想这个模式是怎么玩的?带着“火”的玩家通过攻击别的玩家(不论是何种方式),就可以把“火”传给别人。

那么,这个过程用规则怎么描述?我们可以这样说:当一名玩家受到伤害,并且他自己没有火,但是攻击他的玩家有火的时候,就把火传给这名玩家。

从上面的描述不难看出,我们应该选择“玩家受到伤害”事件。但是,我们如何知道玩家有没有“火”呢?不知道大家是否记得艾什的“延时雷管”——我们可以用点燃状态来表示火。通过翻阅手册,我们可以找到“具有状态”和“设置状态”、“清除状态”几个东西。这样,我们就可以把条件组合出来。

条件是受伤的玩家没有火,而攻击方有火。因为我们使用了“玩家受到伤害”事件,因此,我们使用“事件玩家”表示前者,“攻击方”表示后者。条件便是:

具有状态(事件玩家, 点燃) == 假

具有状态(攻击方, 点燃) == 真

动作是把火“传给”另一名玩家。“传”的过程,又分为一名玩家“失去”火,和一名玩家“得到”火。因此,规则有两条:

设置状态(事件玩家, 无, 点燃, 9999)

清除状态(攻击方, 点燃)

另外,“点燃”只是效果——能看不能用,所以,我们还得再加上一个“伤害”的动作:

开始持续伤害(事件玩家, 无, 9999, 50)

设置玩家变量(事件玩家, A, 上一个持续伤害效果ID)

停止持续伤害(玩家变量(攻击方, A))

这里我们用到了变量。大家可以结合上面的变量小节,想一想为什么要这样做。(PS:你可以把变量想象成一个“盒子”,设置就是往“盒子”里放东西)

最终的规则如图所示:

加分

俗话说“万事开头难”。既然我们已经把最基本的东西做出来了,那么我们就可以做下一个东西了:胜利判断。我们的逻辑是:剩下一名玩家的时候,就给这名玩家加一分。

我们不知道什么时候会剩下一名玩家——可能是某位玩家死亡后,但也可能是某位玩家退出游戏后。我们没办法确定到底是什么时候,但我们条件非常清楚:只剩下一名活着的玩家。因此,我们使用持续事件+条件来做这件事。我们翻阅手册,可以找到一个叫做“存活玩家数量”的值。我们直接使用它:

事件:持续 - 全局

条件:存活玩家数量(所有队伍) == 1

而我们要做的,就是给他加一分。我们在手册中找到一个叫“所有存活玩家”的内容,但注意:它是一个数组。因为游戏中可能有很多玩家存活,也可能一个都没有。游戏没有那么智能,它并不知道我们的规则一定只有一个玩家。因此,我们需要使用“数组中的值”:

修改玩家分数(数组中的值(所有存活玩家(所有队伍), 0), 1)

接下来,我们要复活所有玩家,开始一局新的比赛:

重生(所有玩家(所有队伍))

最终的规则如图所示:

随机传火

现在大体框架已经有了,但是,我们还没处理一些特别的情况:例如,当玩家死亡时,或者玩家退出游戏,导致“火”不见了的时候,我们需要将“火”随机给一名玩家。和上面一样,我们使用持续事件+条件。

我们的条件应该是,当所有玩家都没有火的时候。换句话说,就是有火的玩家数量=0的时候。游戏并不能直接获取到有火的玩家,但我们可以利用“已过滤的数组”来做到这一点:我们从所有存活玩家里,筛选出有火的玩家,不就可以了?

换成条件,就应该这样写:数量(已过滤的数组(所有存活玩家, 具有状态(当前数组元素, 被点燃))) == 0。(如果这条规则你不太看得懂,请尝试把括号拆开,从里到外,结合手册,一点一点看)

动作则是从存活玩家里面,随机选择一个玩家,让他有“火”。同样的,我们又要用到“数组”了:

设置全局变量(A, 数组随机取值(所有存活玩家(所有队伍)))

设置状态(全局变量(A), 点燃)

开始持续伤害(全局变量(A), 无, 9999, 50)

设置玩家变量(全局变量(A), A, 上一个持续伤害效果ID)

最终规则如下:

修复问题:死亡掉火

现在邀请几个好友,或者多开账号进入游戏。开始一局游戏。你们愉快的传火中,有一名玩家阵亡了。但是,你们发现,“火”并没有传给下一个人。房主打开“地图工坊查看器”一看,哎?随机传火的规则怎么没有运行呢?

原来,死亡是不会自动掉火的,我们还需要手动处理它:

事件:玩家阵亡

具有状态(事件玩家, 点燃) == 真

“掉火”其实就是把状态去掉,所以动作也很简单,基本上就是上面的规则复制粘贴:

清除状态(事件玩家, 点燃)

停止持续伤害(玩家变量(事件玩家, A))

最终规则如下:

总结

通过几条规则,我们就写出了一个简单的“烫手山芋”模式。相信你也发现了,这并不是什么难事。你需要的,只是把一件事变成一件件小事,然后用规则来完成它。

    推荐阅读
  • 潜逃29年命案主犯终落网(湖南一命案嫌犯落网)

    1月17日,永州警方前往海南琼海市一带将尹某生成功抓获,至此尘封36年的命案成功告破。永州警方强调,违法犯罪不要抱有侥幸心理,公安机关不会因为犯罪嫌疑人脱逃已久而放弃追捕。根据永州道县公安局刑事侦查大队副大队长何园介绍,第一批追查此案件的民警有的已经去世,但案件传承仍在继续。而在当地,该命案已经成为白马渡派出所领导班子换届必强调的事宜。36年追捕终于画上句号,目前永州警方正在对该案件进行进一步调查。

  • cad写字的快捷键是什么 cad快捷键命令大全写字

    更多CAD快捷键:1、Ctrl+1打开特性对话框。5、Ctrl+C将选择的对象复制到剪切板上。

  • 水牌是什么东西(水牌是什么)

    下面内容希望能帮助到你,我们来一起看看吧!水牌是什么东西水牌的释义:临时记事用的漆成白色或黑色的木牌或薄铁牌,因用后以水洗去字迹可以再写,故称。明无名氏《破风诗》第三折:“你将这三门闭上,怕有宾客至,你记在水牌上,等我回来看。”赵树理《小经理》:“﹝三喜﹞起先只是认字和了解帐理,后来又慢慢学着写--把帐本上的字写到水牌上,写满了就擦,擦了又写”。

  • 冯小刚李易峰(历史上的今天回顾爱的代价MV暖心来袭)

    15年12月22日由冯小刚、李易峰合唱的电影《老炮儿》宣传曲MV在音悦台正式上线,音源也在QQ音乐上发布!老炮儿小炮儿父子冯小刚和李易峰温情献唱《爱的代价》,歌声像一股暖流,让寒冷的冬天不再寒冷!“走吧走吧,人总要学着自己长大;走吧走吧,人生难免经历苦痛挣扎”是父子情深,是一生牵挂!父母永远是最亲我们的人。

  • 卤味怎么保存(存放卤味的方法)

    卤菜可以放在冰箱的冷藏室保存需要注意的是,冰箱因长期存放食品又不经常清洗,会滋生出许多细菌冰箱里的食物虽然外表看起来还新鲜,但是实际上已经变质对于熟肉类食物在冰箱中的储存时间不应该超过4天,下面我们就来聊聊关于卤味怎么保存?卤味怎么保存卤菜可以放在冰箱的冷藏室保存。对于熟肉类食物在冰箱中的储存时间不应该超过4天。冰箱里的食品也不要存放过多,这样会让食物的外部温度低而内部温度高导致变质。

  • 真正爱你的人经典语录(恋情的终结经典语录)

    真正爱你的人经典语录爱你的人如果没有按你所希望的方式来爱你,那并不代表他们没有全心全意地爱你。不喜欢玩具小毛熊,却一直把你送他的小熊放在床头。如果不能经常见到你,他会让自己忙碌起来,为了不去想你,因为他知道一想你将会一发不可收拾。他的一个字就能让你欢喜,他勾勾小手,你就屁颠屁颠的跑过去,见到他就想笑,他不回信息就紧张,碰到他就犯傻。一定要明白,真正爱你的人,会督促你变得优秀,而不是蹉跎你的青春。

  • 六安皖西大裂谷一日游(安徽六安大别山风情谷)

    夏季到安徽旅游,如果想找个小众而出众的目的地,不妨来六安市的大别山风情谷景区一游,这里也是自驾800公里大别山风景道必打卡的一处景点。在风光秀美的安徽,虽然六安市的旅游资源不是最突出的,但境内的大别山以及周边景区却为其留下了不俗的风光。大别山风情谷被誉为安徽“九寨沟”,足见其景色的秀丽。炎炎七月,除了wifi、空调、西瓜,不妨迈开脚步,来安徽六安市大别山风情谷寻找一个25℃的夏天。

  • win7改时间提示没有权限(Win7修改电脑时间提示无法继续)

    如下图所示:2.在本地组策略编辑器窗口,展开Windows设置-安全设置-本地策略。如下图所示:4.在打开的更改系统时间属性窗口,我们点击:添加用户或组。如下图所示:6.我们在对象类型窗口的对象类型栏内,左键点击“组”,在组前面的小方框打上勾,再点击:确定。如下图所示:7.回到选择用户或组窗口,点击:确定。

  • 怎样钓青尾鲷(如何快速钓青尾)

    怎样钓青尾鲷钓青尾,我们不需要用太大的钩子,但也不可太小了,因为鱼不大,但力量很足,如果太小,很容易脱钩。所以,一般用五号钩比较适合。因为它本身是喜欢吃小鱼是的。最好不用搓饵,而是要用拉饵才好,因为饵料在水中雾化后才可以引来鱼儿。而且钓的时候,要抛杆频率提高,这样才能很快形成窝子,才能引诱更多的鱼来。位置的选择上,如果有入水口,那是最好不过了,因为那里小鱼虾多,所以也是青尾聚集的地方。

  • 感冒喝什么茶(感冒喝的茶有什么)

    感冒喝什么茶感冒期间可以喝一些菊花茶,菊花具有清火、利咽、排浊、解毒、安神的功效,能缓解感冒引起的咽干、咽喉肿痛等不良症状。也可以喝一些绿茶、普洱茶,但要注意不能喝过浓的茶,以免影响病情恢复。感冒期间会出现鼻塞、流鼻涕、咳嗽、咳痰、咽喉肿痛、发热、头痛等不良症状。感冒治疗期间要注意休息,加强营养,多吃富含蛋白质的食物,减少油腻刺激性食物。