请选择 进入手机版 | 继续访问电脑版

GA地精研究院

 找回密码
 立即注册
查看: 1735|回复: 9

[教程] 【渣渣系列教程】 第四篇 War3式英雄(上)

[复制链接]
发表于 2013-10-4 13:53:48 | 显示全部楼层 |阅读模式
本帖最后由 娜渃卟Ran 于 2013-10-4 14:02 编辑

修改错别字……
----------

昨天那篇帖子无视就好,纯吐槽。其实想想,我当初写这个所谓的“渣渣系列教程”的初衷,不就是为了让更多对GE感兴趣的同学能够有一个系统的入门教程吗?
对于这个第四篇教程晚来了这么久,说声抱歉。前段时间老师交了一个项目给我,昨天刚刚做完,话说现在的客户要求真多,还不许你提意见,不管能不能做到你都得给我做。学生党真苦逼。现在我们还有一个项目,要求做一个主题购物网站,非要用JSP,我JSP跟渣一样啊。
闲话不多说了,开始我们今天的教程吧。

很多人对War3或者说Dota类游戏情有独钟,因此到处都能看到求助关于自制英雄单位,技能啊,升级之类的帖子。虽然说头目已经在复刻War3了,但是目测距离完工尚有一段时间。所以虽然有头目的珠玉在前,我还是来写点渣渣心得给各位迫切的同学们吧。
说实话,在我看来,一个完美的War3式英雄包括的东西太多了,除了我们平常说的等级啊,属性啊,可升级技能啊,物品栏什么的,还有War3的攻防系统,死亡时间等等,所以这些东西还是等头目的MOD吧,我就教大家简单的完成一部分就好。
虽然是一部分,但是要像前三篇教程那样一步一步截图的话,工程量其实还是蛮大的。再加之我真的是抽不出太多时间,所以干脆把这篇教程分为上下两讲。上篇先实现一个单位能够升级,有属性,属性有加成。下篇再涉及升级时的特效,可升级的主被动以及光环技能,物品栏等等。如果到时候时间还是不充分,也许会拆为三篇。哈哈,不许吐槽。

说了这么多,可能很多同学烦了:“你怎么还不开始啊,磨磨唧唧的!”
好吧,还是和以前一样,我们先想想一个英雄到底有什么特征。
说到英雄,最大的特征肯定是等级啦,这个毋庸置疑。好的,这个我们用老兵行为来做。
属性。War3的三围属性大家都很熟悉,细心的同学可能早就知道行为里面有一个属性,我们就用这个“属性”行为来做。
其他的下次再讨论,今天我们就只学这两个。

打开编辑器,新建一张地图,切换到行为选项卡。我们今天还是用泽拉图做示范,所以新建一个老兵行为,名字就叫泽拉图老兵行为……
1.jpg

我们点开右边,我们要用到的几个字段一般来说就这四个:
2.jpg
其中,前三个字段连起来的意思就是,如果这个单位在获取经验的时候,他身体周围多大的范围内有其他也能够升级,也就是具有老兵行为的并且满足过滤器的单位,那么把他本次获得经验*共享系数给那个单位,如果有多个则把这部分经验平均分配给这多个单位(这句话纯猜测,有兴趣的孩纸自行测试)。
当然还是那句话,这种解释听听则以,不要奉为信条。
然后是第四个字段:老兵等级。顾名思义,这里就是指定我们这个英雄的等级的地方了。事实上,不仅仅是等级,还有每一级的经验,每一级的属性成长或者“变异成长(现编的词语)”等等都是在这里指定的。
我们先不忙做这里,应该有同学猜到了,我们说了在老兵等级这个字段里指定的信息太多,但是War3式的三围属性我们还没有做,干脆先把属性做了再去写刚刚那个字段,免得两头跑。
其实属性这个东西,大家不要把它想得太高深,他其实就是普通的行为。至少在我看来是这样的,你去看他和普通的行为没什么太大的区别。可能有人会说属性不是有属性点么,普通的行为有吗?有!普通的行为是可以叠加层数的,我这样说你应该就懂了。我不记得头目的原话了,但是头目是说过于此相似的话的。大家下来以后可以细细地体会一下。
3.jpg
我们新建上图这样一个属性,去看看它有哪些字段。
4.jpg
说明条里面是描述性语言,大家可以看到有个最大点,最小点,意思就是字面意思,如果你想属性值能够有成千上万的话,请自行改之。
最重要的是修改这个字段,我们要更改的东西都在这里面。
5.jpg
我们可以看到这里面的字段实在太多了,如果哪位孩纸有闲心并且时间充裕的话,可以学当初的我一样,挨个挨个地去试验,看看每一个字段到底对应什么东西。这里我们只更改我们需要的字段。
同理我们还有敏捷和智力属性。
6.jpg
7.jpg
做到这里,我想问问我们的三围属性就做完了吗?
当然没有!细心地同学可能会发现,War3的英雄是有主要属性的。什么力量型英雄啊,敏捷型英雄啊什么的,我们要怎么指定某个属性是主要属性啊?因为每一点主要属性要增加1点攻击的。
对于这个问题,话说当初我记得我是陷入了一个死胡同里面。当时的是脑袋转不过弯的感觉,一味地蛮干。
可能很多同学看到这里也会有这样的疑问:“对啊,我们怎么指定我们刚刚做好的三个属性其中之一为某个英雄的主要属性啊?属性的字段里面根本没有这样一个字段,难道要用触发器了吗?”
其实解决方法很简单。
谁告诉你War3只有3个属性了!!!!!!
这么说吧,每个英雄都是两个普通属性加一个主要属性对不对?那么三个普通属性加三个主要属性一共是几个?
我这么说大家可能瞬间就明白了。
没错,除了我们刚刚做的三个属性之外,我们还要做三个属性,这三个属性就是我们需要的主要属性。
8.jpg
9.jpg
10.jpg
大家可以看到,与开始的普通属性不同的是,我们的主要属性每一个都把伤害制造这个字段改为了1。这样每个主要属性都会增加1点攻击。
这里插一句,对于伤害制造这个字段,他其实有两种:一个是(计算比例加成),另一个是(不计算比例加成)。这两个都是更改攻击力的,但是有什么差别,这里就请大家去自行关键字了,我记得GA是有一篇帖子详细地说了这两者的区别的。只有自己找到的东西才是记忆最牢的。
再插一句,我们打开伤害制造这个字段,发现里面有四种伤害类型,所以说,我们可以更加详细地指定哪种伤害类型接受这个属性的增益。不过GE的伤害类型对于要做类Dota地图或者RPG的同学来说,是有点少,我也希望GE的下次更新能够支持自定义伤害类型,虽然这种可能性微乎其微。但是也不是没有解决办法,用触发器就好,详情请参考头目的相关教程帖。
当这三个主要属性做好以后,我们就应该有6个属性和1个老兵行为。
11.jpg
接下来我们再回到老兵行为,去看看老兵等级里面究竟有些什么东西。
12.jpg
大家可以看到我们这个老兵一共有0-9十个等级,但是事实上呢?我们稍微后面一点再说。
实际上大家最开始编辑这个老兵等级的时候,打开的应该是这样的界面。
13.jpg
当然你打开是不可能如图一样有十个等级的,是空白的,你需要点击右边那个加号来添加,在最小经验里指定这一级需要的经验了。
这里强调一下最小经验这个字段。
大家可以看到,GE默认的等级是从0级开始的。这是什么意思呢?大家大可以去做个试验,把0级的最小经验设为100进游戏测试看看会发生什么?你进入游戏会发现你测试的单位等级为0级。但是我们War3是从1级开始的。怎么解决呢?没错,按照我们这个示例所做的一样,把0级的最小经验设为0就好了。
这里就要说说最小经验是怎么一回事了。
很多人都会说,经验嘛,不过就是经验满了,就升级呗。这么理解也无可厚非,但是建议大家这么理解。你需要在某一等级积累多少经验,然后就会开启下一等级,然后重新累积。这么一来,我们可以很清楚的看到,上图这张不算表的表所表达的意思。你需要在0级积累0点经验开启等级1;你需要在等级1积累100点经验开启等级2;……;你需要在等级9积累900点经验开启等级10。大家会说你这张表里面根本就没有等级10嘛。相信我,你把等级9的经验积累满了,你会升级到等级10的。但是10就是最高等级了,因为你没有设定等级10应该积累多少经验开启下一等级,所以你在等级10是不能获得经验了。(最后这句话有待考量)
这样,你进游戏去测试就会发现,你的英雄已经能够升级了,而且进入游戏是1级,最高是10级。
还没完,我们再去看每一个等级的修正字段。
我们可以看到这里可以更改的东西太多了,比如生命值,生命回复等等,如果你在这里直接更改了这些字段,就是我刚刚编造那个“变异成长”了。为什么这么说呢?因为War3是用属性来控制成长的,按照上面这个思路做下去,你会发现最终单位的生命啊攻击什么的完全和你事先计划的公式是两回事。其实这种成长模式有点类似于LOL那种成长了。这种方式并不是说不好,只是我们题目上写了是War3式英雄,所以我们再这里就不用这种成长方式,所以给它一个变异成长的称呼吧。我们找到属性变化这个字段。
14.jpg
我们可以看到,每一个等级里面都有这些属性,这意味着什么呢?我记得以前有些人抱怨过GE的工作量太大,每一级都要自己来填写,完全没有WE的自动增长好用。其实这正是GE灵活的地方,我也不多说,大家用多了自己就明白了。话说回来,这些都能用XML来写,XML是啥?说白了就是文本文档,你要真嫌麻烦,自己弄个自增长的工具不就完了,多大点事。
这里说一下,我们在0级的属性变化里设定这个单位的初始属性,为什么?因为我们再0级设定的经验是0,我们不需要任何经验就能完成等级0这个阶段,进入等级1的经验积累阶段,那么在等级0所做的任何修改都能第一时间赋值给单位,所以我们用来做初始属性是再好不过了。这也是我把0级的经验设为0的原因之一。
还有一点,比如我设定了0级的力量为10点,我想每一级增加1.8,那么我1级里面是不是应该写11.8呢?
有两点,第一,在老兵行为里,属性点只能为整数,不能为实数。所以最多写成11或者12,不能是11.8。但是触发器里面单位身上的行为数量返回的又是实数,这里我一直没搞明白过,不知道是不是暴雪的疏忽;
第二,我们注意看,属性变化实在那个字段下面的?修正?修正时什么意思?修正就是在原数值的基础之上进行加减,而不是修改!所以我们只用写1.8就好。当然就和第一点,我们只能写1或者2。关于这点,我记得以前在哪看到过一篇帖子,楼主就烦了第二点错误。希望大家好好体会。
看到这里,有同学会问了,那么成长就只能是整数式的了吗?
对于这种同学我想说,孩纸你傻啊?比如你的英雄力量成长是1.8,你不会写成11.8),33.6),55.4),77.2)之类的啊?或者说四舍五入21.8),43.6),55.4),77.2)等等吗(括号内为实际数值)?具体怎么写还不是你自己去安排,当然你说你跟我一样有强迫症,非要较真说这么不好控制平衡性,那么建议用触发器,但是这就不是完全用数据编辑器来实现了,所以不在这篇教程的讲解范围之内,有兴趣的孩纸,还是那句话,请自行关键字。
我们改好每个等级对应的经验以及属性变化,那么我们这个英雄的成长方式就做好了,接下来我们把这个成长方式挂在单位上。
15.jpg
这里提一下,单位的属性里面也要把属性加上去,有人会问初始属性不是在老兵行为里面指定的吗?为什么这里还要指定。我想说的是,你身上一件衣服都没穿,你妈叫你出门买衣服,说外面商场有,已经决定了要给你买哪一套。你会穿衣服吗?例子有点极端,不怎么合适,但是你要告诉系统我这个单位是有这些属性的,只是没有赋值而已。这种解释,额,后面那句我就不说了。
这里为了测试我写了简单的两个触发器,一个F3刷兵,一个F4升级。具体的内容我就不贴出来了,自己看看等下附件里面的就好。话说这两个触发器还真没什么水平,很简单。
我们进游戏测试。
16.jpg
大家可以看到,IMBA的泽拉图诞生了!!!

写到这里,我们这次的教程就写完了,大家可以看到光是一个英雄的成长我们就介绍了这么久,所以说这篇教程后面的部分我也不知道是(下)还是(中)(下),到时候再说吧。
另外说几句题外话,可能有的同学会说是不是每个英雄都要写一个成长方式,这样每个英雄刚才会独一无二啊?
是的。
那工程量不是很大?
不,没你想的那么夸张,忘了还有父级这个东西吗?更何况,记住一句话,XML就是文本文档,复制粘贴多块。
差不多就这些了,对于这部分我实在是找不到说什么了,大概就是这些了。后面我们再来介绍升级的时候播放动画和音效,以及可以升级的主被动光环技能,顺带物品栏、物品,商店等等一系列英雄所要用到的东西。
最后加上示例附件。
War3HeroDemo.SC2Map (40.48 KB, 下载次数: 83)

发表于 2013-10-4 15:29:20 | 显示全部楼层
散花支持~
回复 支持 反对

使用道具 举报

发表于 2013-10-4 19:42:21 | 显示全部楼层
如此有爱的帖子,必须前排支持。好期待楼主的下一篇教程呀。
回复 支持 反对

使用道具 举报

发表于 2013-10-4 20:32:34 | 显示全部楼层
碉堡了!
回复 支持 反对

使用道具 举报

发表于 2013-10-5 00:18:10 | 显示全部楼层
对于一个刚加入星际的魔兽制图者来说,楼主你太强大了
回复 支持 反对

使用道具 举报

发表于 2014-1-15 16:00:41 | 显示全部楼层
LZ你好,我是一个刚加入编辑器行列的新手,按照你的教程,自己制作了一个英雄,但在击杀敌对单位后,经验条不会增加,是为什么呢,还是我忽略了哪个设置

点评

删掉默认的触发器  详情 回复 发表于 2014-1-16 09:06
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-16 09:06:58 来自GA卫星 | 显示全部楼层
kidd2008shja 发表于 2014-1-15 16:00
LZ你好,我是一个刚加入编辑器行列的新手,按照你的教程,自己制作了一个英雄,但在击杀敌对单位后,经验条 ...

删掉默认的触发器

点评

我是加在一个对战地图中的,只有默认的地图初始化的触发器,应该没关系的吧 想问一下,关于老兵的 目标过滤器-- 我想通过击杀敌对玩家单位获取经验,类似于WAR3那种,应该怎么设置呢?  详情 回复 发表于 2014-1-16 09:29
回复 支持 反对

使用道具 举报

发表于 2014-1-16 09:29:48 | 显示全部楼层
本帖最后由 kidd2008shja 于 2014-1-16 09:48 编辑

我是加在一个对战地图中的,只有默认的地图初始化的触发器,应该没关系的吧
想问一下,关于老兵的 目标过滤器-- 我想通过击杀敌对玩家单位获取经验,类似于WAR3那种,应该怎么设置呢?
提问.jpg
现在情况这样 如图:有击杀,但是经验无法获得~

点评

当然有关系~ 因为默认初始化动作里有一条叫做“为玩家应用默认对战设置”(大概是这个名字),,这个动作会为你谁知好默认的对战设置,包括禁用玩家获得经验,所以有三个选择:1,删掉这个触发器(极其不推荐,除非  详情 回复 发表于 2014-1-17 15:53
回复 支持 反对

使用道具 举报

发表于 2014-1-16 15:57:25 | 显示全部楼层
我在触发器地图初始化时候,加上了为玩家禁止关闭经验获得功能,也就解决了,谢谢,LZ
回复 支持 反对

使用道具 举报

发表于 2014-1-17 15:53:53 | 显示全部楼层
kidd2008shja 发表于 2014-1-15 19:29
我是加在一个对战地图中的,只有默认的地图初始化的触发器,应该没关系的吧
想问一下,关于老兵的 目标 ...

当然有关系~
因为默认初始化动作里有一条叫做“为玩家应用默认对战设置”(大概是这个名字),,这个动作会为你谁知好默认的对战设置,包括禁用玩家获得经验,所以有三个选择:1,删掉这个触发器(极其不推荐,除非说你真的确定这个触发器里所有的东西你都不需要);2,删掉这个动作(不推荐,除非你确认你真的不需要这个动作给你设置的其他东西);3,在这个触发器最后添加一个动作:“禁用禁用玩家获得经验”(推荐)
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2019-8-25 13:43 , Processed in 0.074824 second(s), 21 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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