找回密码
 点一下
查看: 1711|回复: 8

数据单位及技能入门篇(二)

[复制链接]
发表于 2012-7-22 20:00:22 | 显示全部楼层 |阅读模式
假如你有认真看过上一期,你应该会对sc2的技能构成有一定程度的了解(没看过的快去看)
http://bbs.islga.org/read-htm-tid-1037147.html

这一期将会解说技能逻辑的制作,游戏逻辑层会接触到的是游戏数据的模板类别:
技能 (Abilities)
行为 (Behaviors)
效果 (Effects)
占用区域 (Footprints)
移动器 (Movers)
需求 (Requirements)
单位 (Units)
升级 (Upgrades)
验证器 (Validators)
武器 (Weapons)



技能发动方式 - Abil Type
技能的模板类别决定了技能的发动方式
常见的有:
效果 - 即时 (Effect - Instant)
点击后立刻发动技能,例如哨兵的护盾、兴奋剂

效果 - 目标 (Effect - Target)
点击后需要选定目标单位或者目标点的技能,例如凤凰反引力光束(目标单位)、圣堂心灵风暴(目标点)
也能用来放置单位,例如渡鸦-自动机炮

建造 (Build)
就是建筑用的技能

队列 (Queue)
训练单位或者研究用的技能

详情看
http://wiki.islga.org/index.php/ ... :%E6%8A%80%E8%83%BD


 

技能消耗
包括施法消耗的魔力、血量(兴奋剂)、护盾、晶矿、气体
这些都是在技能模板设定的东西
一般的技能都是在Cost那一栏设定的,不过也有一些例外

研发类就是在Info里面分别设置每个升级需要的消耗,因为每个研发类技能都可以有好几个可研发的升级
例如科技实验室技能里面有盾牌、兴奋剂、震撼弹三个升级,要到Info里面逐个设置他们的升级消耗

建造和训练类的就有点特别,建造和训练都是创建一个单位,而单位是可以设置Cost的
最终技能的消耗将会是相加后的数值(技能设置消耗+单位设置的消耗)
例如现在有训练技能A,训练技能B,训练技能C,单位U
A、B、C都可以训练U
U设置了50晶矿消耗
A设置了0晶矿消耗
B设置了20晶矿消耗
C设置了-20晶矿消耗

A技能训练U需要50晶矿
B技能训练U需要70晶矿
C技能训练U需要30晶矿

注意触发器返回的单位训练消耗是只计算单位设置的消耗

 

技能需求(科技限制)
科技限制是升级(Upgrade)和需求(Requirement)两个结合起来完成的
科技限制的用途不少,例如:
兴奋剂需要研发才能使用,研发前机枪兵的技能是灰色不可用状态
兵种攻击和防御升级的科技,研发1阶后出现2阶研发按钮,3阶研发后按钮消失
。。。
要做到上述的功能,就需要把升级和需求结合起来
需求可以根据一些条件判断,然后操控按钮的显示、隐藏和灰色不可用状态
科技可以改变一部分的模版数据,例如某类型单位的血量、起始魔法量等等
也可以做一个不修改模版数据的科技,作用是一个状态机,用来辅佐需求的条件判断

把技能连接到需求,方法是在技能项的Commands -> Requirements选择适当的需求





技能冷却
冷却有关的项一共有四个,都在技能的Cost分页里面
Link:这个字串起到了识别id的作用,可以用来做不同技能共cd等的效果
Location:这里决定了冷却是在哪个域里面进行计算,例如填global所有单位就共cd,填unit就每个单位独立cd
Time Start:单位创建后多少秒才能用这个技能,然后下次的cd就根据Time Use数据(war3对战商店那种)
Time Use:冷却时间

利用link可以做出共用冷却的技能,例如现在单位有技能A、B
A、B的Link是同一个字串,他们的Location都是unit
A、B的冷却时间可以不同(必须>0),然后单位使用其中一个技能的时候就会令两个技能同时cd,cd时间是根据使用的技能来决定




使用计数
例如布雷车的布雷技能计数限制,项都在技能的Cost分页里面
Link、Location:同上
CountMax:最高技能计数
CountStart:一开始的技能计数
CountUse:每次使用技能后,扣减的技能计数
Time Start:每隔多少秒增加一点技能计数
Time Use:每次使用技能后,把Time Start增加Time Use的数值




自动施法
例如医疗艇的治疗就是自动施法
做法很简单,有些技能模板类型有Auto Cast旗标的就代表可以做出自动施法技能
旗标里面有个
Auto Cast:决定这是不是一个可以自动施法的技能(技能图片可以左点)
Auto Cast Initially On:是不是一开始就开启自动施法状态

在技能项里面有几个相关项
auto cast range:搜索这个范围里面,符合过滤列表的单位作为自动施法的目标
auto cast filters:过滤适合的单位作为自动施法目标




目标过滤
技能拥有一个过滤列表(filter),可以过滤目标类型
例如凤凰的反引力光束不能对巨型单位使用,鬼子的狙击技能只能对生物单位使用

过滤列表的设定的方式是:每种类型逐个设定容许(allow)、必须(require)、不容许(Exclude)
举个例子:
建筑-容许的   这个技能可以对建筑物使用
建筑-必须的   这个技能必须对建筑物使用
建筑-不容许的  这个技能不能对建筑物使用
 楼主| 发表于 2012-8-18 18:00:49 | 显示全部楼层
没动力中。。。留到下一篇继续写。。
回复

使用道具 举报

发表于 2012-8-18 19:14:06 | 显示全部楼层
加油啊星星~~
回复

使用道具 举报

发表于 2012-8-18 19:39:34 | 显示全部楼层
支持支持,加油写出第三篇吧!
回复

使用道具 举报

发表于 2012-8-19 11:56:56 | 显示全部楼层
提个建议,感觉还是“实例+简单讲解”的模式会更好一些,
因为我想很少有人会有耐心来看纯理论的教程的,
如果我使用编辑器是为了制作地图,我会更倾向于去寻找一些能够直接使用的技术或更加简单直接的演示地图;
如果我使用编辑器是为了研究编辑器中的技术,或许我会选择从更基础的层面,比如XML和数据构架图表,来了解编辑器中的数据;
而且这样的教程自己写起来也很枯燥不是么?

点评

0.0我怎么觉得这样先看一遍了解下大概再去学习一个一个的小技巧要轻松很多啊~  详情 回复 发表于 2012-12-30 23:51
回复

使用道具 举报

发表于 2012-8-19 13:24:55 | 显示全部楼层
星星加油~~~~
回复

使用道具 举报

发表于 2012-8-22 10:54:56 | 显示全部楼层
出第二篇了嘛
回复

使用道具 举报

发表于 2012-12-30 23:51:01 | 显示全部楼层
逸名 发表于 2012-8-19 11:56
提个建议,感觉还是“实例+简单讲解”的模式会更好一些,
因为我想很少有人会有耐心来看纯理论的教程的,
如 ...

0.0我怎么觉得这样先看一遍了解下大概再去学习一个一个的小技巧要轻松很多啊~
回复

使用道具 举报

发表于 2013-6-7 08:46:58 | 显示全部楼层
看了你的两篇文章收益很大,非常感谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

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

GMT+8, 2024-11-24 17:28 , Processed in 0.072833 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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