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

关于某种情况下 技能添加失败 的问题(已解决)

[复制链接]
发表于 2012-1-7 17:32:28 | 显示全部楼层 |阅读模式
昨天发现的这个问题:我使用触发器命令单位使用某技能,失败了N次之后才发现这个技能没有被添加上。可以检查了很多次之后也没有发现异常,只好设法把问题单位复制到了一个新图上,然后发现问题又复现了,所以发上来求检查。这个演示图中的技能ID、单位ID都是从原图中复制出来的,当然原图的技能类型不全是一致的,但是这个不影响bug的存在。

首先,在编辑器中可以看到该单位有21个技能(从0数起的)
技能列表.jpg

但是在游戏内,仅可以获取到20个...
技能显示列表.jpg

这个演示图中丢失的技能ID是“GJ_Jingu”,我的实际地图中是“GD_gundi2”,而到底丢哪个技能其实是不确定的...
我尝试更改了下技能列表,像里面添加技能,丢失的技能有可能会变化,但是始终是20个技能...

进入地图后,等两秒后就会显示单位的所有技能了,始终缺一个

测试.SC2Map

54 KB, 下载次数: 5

发表于 2012-1-7 22:32:27 | 显示全部楼层
你那个纯粹是继承层数太多,关联的技能数量超出限制了。
既然父单位类型和子单位类型的技能列表相差那么大,那还继承它干嘛呢。
砍掉Marine的一个技能就行了

测试.SC2Map

53 KB, 下载次数: 2

回复

使用道具 举报

发表于 2012-1-8 10:25:21 | 显示全部楼层
继承的、自身的、总共技能不能超过32个~否则后面的就无效了~
回复

使用道具 举报

 楼主| 发表于 2012-1-8 12:49:01 | 显示全部楼层
  居然是这样....

当初xml在我眼中的众多美好属性已经毁了大半了,以后我宁愿会选择复制也不会再用继承了
回复

使用道具 举报

发表于 2012-1-8 13:52:32 | 显示全部楼层
一样的嘛~用编辑器也只能32个而已~xml架构还是需要的
回复

使用道具 举报

发表于 2012-1-8 14:51:37 | 显示全部楼层

回 3楼(cccty1l) 的帖子

cccty1l:  居然是这样....

当初xml在我眼中的众多美好属性已经毁了大半了,以后我宁愿会选择复制也不会再用继承了 (2012-01-08 12:49)
正确做法是把问题儿童和机枪兵使用同一个父模板。

而不是把机枪兵作为祖先模板。明显就面向对象设计理念来说就应该如此的。
回复

使用道具 举报

发表于 2012-1-8 15:32:59 | 显示全部楼层

自己的思路问题不要怪罪到XML上来呀~
回复

使用道具 举报

 楼主| 发表于 2012-1-8 19:01:34 | 显示全部楼层
一开始的时候,我确实是被这个问题给迷惑住了。把它移植出来之后,还尝试过精简一下技能列表让这个它更清晰一些,不过可惜的是最后还是没有发现真正的原因所在。

这里使用的方法是不理想,是我使用编辑器的毛病,因为单位不可能只有技能列表这一点属性,当我把一个单位制作完毕之后,平级的单位自然而然的想到直接继承这个单位,而非将刚制成的单位抽象为一个虚拟类,虽然这只是举手之劳。

但是问题出在,在编辑器中显示正常的技能列表,在游戏中却出现异常。如果这不能算是问题的话,那么一个引申的问题就是,虚拟类单位是否应该添加技能列表。如果“否”的话,虚拟类在简化xml文档上的作用就被弱化了,而“是”的话,就有可能出现顶楼的这个bug。

退一步说,就算这个不是xml的问题,那么也应该是编辑器的问题。而我的问题,就是没有使用最好的方法来展示出这个bug。

如果说要不再使用继承功能的话,那应该是不可能的,但是涉及到存在上限的结构组时,我会优先选择复制的。
回复

使用道具 举报

 楼主| 发表于 2012-1-9 16:18:52 | 显示全部楼层
失礼了,还没谢谢头目和寒心兄的指导。

我仔细想了下,如果问题已知的话,要避免的话还是比较容易的,涉及不到更深层次东西。不过这倒让我对xml的编辑有了更多的理解了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 10:04 , Processed in 0.039525 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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