找回密码
 点一下
查看: 3233|回复: 26

又有新一輪的問題. (能力值分配, 根據目標不同 actor, etc)

[复制链接]
发表于 2010-8-24 13:05:22 | 显示全部楼层 |阅读模式
又要麻煩大家一下:

1) 我想造個類似 diablo 2 能力值分配的系統, 即是每次升級有一些點數, 玩家可自由選擇把點數分配給力量, 敏捷之類的能力值. 試過用 ability + research, 失敗. 另外想到個笨方法就是每個技能的每個等級都造一個 behavior 和 ability, 但這樣 level 10 的英雄就要做幾十個了..... 有誰知道應該怎做?

2) 我給之前提過的 cleave 技能加了個令目標濺血的 actor. 打 zerg 時效果不錯, 但打 terran 的機械單位也一樣濺血就比較怪. 如果要技能分辦目標的屬性要顯示/不顯示特效, 應該怎做?
已解決

3) 之前提過我用了三個 progress bar 弄了 shield, life, energy bar. 效果不錯. 但是 progression bar 的顏色可以改嗎? 如果用 trigger 改 dialog item change color, 只會改progression bar外框的顏色.

4) 如何弄走右上角的資源/人口顯示? 已解決

5) odin 生命值到零會自動變成 odin wreakage. 因此 unit dies 偵測不到. trigger 應該怎樣偵測才好? (前題是不用砍掉 odin 的不死技能.....) 已解決

好像還有一些問題一時想不起, 之後後補.....

[edit] 新加問題 6) 地形問題: 怎樣令兩種不同的懸崖相連呢? 因為例如造了一些自然的懸崖, 如果想在上面加人功的懸崖, 或在旁邊加人功的懸崖, editor 會自動把原來的自然的懸崖刪除後才放上新的人功的懸崖. 但我看到官方地圖郤可以兩種懸崖放在一起..... 已解決
发表于 2010-8-24 13:13:13 | 显示全部楼层
嘿嘿。。直接用Ability和Behavior还有Effect就行了。。我也试过Research,但是不行
回复

使用道具 举报

 楼主| 发表于 2010-8-24 13:18:09 | 显示全部楼层
能詳細些少嗎? effect 要怎用?
回复

使用道具 举报

发表于 2010-8-24 13:26:44 | 显示全部楼层
Behavior 里面有增加Attribute的项,在那个很长的Modification里面。

Effect里面有Apply Behavior的选项

然后甚至不需要Ability,你直接在单位身上添加了那些Behavior之后弄个Command Card的Submenu,里面放上按钮和对应的增加属性的Behavior就行了。不过可能跟技能点不挂钩。。需要用资源来提升。
回复

使用道具 举报

 楼主| 发表于 2010-8-24 13:35:15 | 显示全部楼层
按鈕可以直接對應 behavior? 這個沒試過..... 今晚回家研究一下. 不過如果不能和技能點直接挂鈎, 視覺上就不太好.....
回复

使用道具 举报

发表于 2010-8-24 13:44:48 | 显示全部楼层
我帮你想个方法,比如用脚本。我就说一下逻辑。。。比如
捕捉每次点击学习技能-增加敏捷 这个命令为事件。用个全局变量 i 把学习了多少次记录下来。其实就是i=i+1;   -,-
然后再做另一个触发器或函数,因为事件不需要。动作大概是
j=0 ;
while(j<i)
{ j=j+1;&#160;&#160;套用敏捷BUFF给X单位 }
然后,只需要在英雄复活的时候或点击学习命令的时候,运行一下这个函数或触发器就好了。
当然前提是这个BUFF能够叠加。。。
&#160;&#160;
回复

使用道具 举报

 楼主| 发表于 2010-8-24 13:55:33 | 显示全部楼层
一個單位可以有的 buff 有沒有上限? 如果英雄只做十個等級每個等級一點技能, 那只是10 個 buff, 還可以. 但如果英雄有 20 級, 每級給 5 點, 那就是 100 個 buffs 了......

另外, 加了問題 5).
回复

使用道具 举报

发表于 2010-8-24 14:04:11 | 显示全部楼层
有没有上限这个得试。。。。
就算有上限解决办法也好弄啊。。比如你以前是一个BUFF加2敏捷,再做一个BUFF加6敏捷或者12敏捷。然后改下函数就是了。。
就好像时钟,如果觉得61秒多了,可以换成1分钟加1秒。。。
回复

使用道具 举报

发表于 2010-8-25 15:33:42 | 显示全部楼层
我给点意见
1、可以用你用不到的资源来模拟,比如人口,顺便解决你4号问题
2、这个应该是可以设置目标限制的吧?生物体发动,机械体无效
3、这个不懂
4、见一
5、这个我看过,是一个行为效果,貌似是切换了单位,不过我没试过用触发侦测,不是死亡事件,是单位变身
回复

使用道具 举报

发表于 2010-8-25 15:37:09 | 显示全部楼层
引用楼主wakeman于2010-08-24 13:05发表的 又有新一輪的問題. (能力值分配, 根據目標不同 actor, etc) :
1) 我想造個類似 diablo 2 能力值分配的系統, 即是每次升級有一些點數, 玩家可自由選擇把點數分配給力量, 敏捷之類的能力值. 試過用 ability + research, 失敗. 另外想到個笨方法就是每個技能的每個等級都造一個 behavior 和 ability, 但這樣 level 10 的英雄就要做幾十個了..... 有誰知道應該怎做?

用多层的BehaviorBuff就能实现了。
2) 我給之前提過的 cleave 技能加了個令目標濺血的 actor. 打 zerg 時效果不錯, 但打 terran 的機械單位也一樣濺血就比較怪. 如果要技能分辦目標的屬性要顯示/不顯示特效, 應該怎做?
Actor是可以加入判断条件的。即可以用Validator做条件判断。如果没有记错的话~Validator是可以判断种族的。BLZ有实例。
3) 之前提過我用了三個 progress bar 弄了 shield, life, energy bar. 效果不錯. 但是 progression bar 的顏色可以改嗎? 如果用 trigger 改 dialog item change color, 只會改progression bar外框的顏色.
用触发器或者Actor来做,Actor中是可以修正的shield, life, energy bar的渐变色的,当然它也可以修正progress bar 的颜色了~
参照如下:
    <StatusColors index="Life" BackgroundColor="255,0,0,0" EmptyColor="255,80,80,80">
            <ColorArray value="255,208,34,0"/>
            <ColorArray value="255,229,129,0"/>
            <ColorArray value="255,229,221,0"/>
            <ColorArray value="255,22,229,0"/>
        </StatusColors>
4) 如何弄走右上角的資源/人口顯示?
触发器中关于UI的函数可以有不让它显示的办法吗?看看先
另外,这个玩意可以通过修改Layout的办法修改掉...但并不通用~正式版之后再没尝试过这样的修改方式。
5) odin 生命值到零會自動變成 odin wreakage. 因此 unit dies 偵測不到. trigger 應該怎樣偵測才好? (前題是不用砍掉 odin 的不死技能.....)
啥东西完全没看懂~生命值的当前值可以用验证器判断,我想触发器也必然有判断办法的说~
回复

使用道具 举报

 楼主| 发表于 2010-8-25 15:54:20 | 显示全部楼层
thanks!

昨天試了用 behavior buff 的方法, 算是做到按一下加一點 strength 的效果, 只是沒辦法和技能點挂鈎.....

其他的今晚再試!
回复

使用道具 举报

发表于 2010-8-25 16:04:24 | 显示全部楼层
引用第9楼chilled于2010-08-25 15:37发表的  :

啥东西完全没看懂~生命值的当前值可以用验证器判断,我想触发器也必然有判断办法的说~

他是说奥丁,奥丁生命值为0后不会死亡,而是变为一个废铁块,可以花钱再复活起来,战役里所有雷神都有这个技能,官方做法是生命值为0时更换单位废铁,花钱后把废铁更换为新的奥丁,大概是这样吧

其实官方战役有很多类似的行为,比如深入虎穴中的雷诺众,生命值为0后不会死亡,而是开启一个复活读条,触发器是侦测不到死亡事件的
回复

使用道具 举报

 楼主| 发表于 2010-8-25 16:11:11 | 显示全部楼层
引用第9楼chilled于2010-08-25 15:37发表的&#160;&#160;:

&#160;&#160;&#160;&#160;<StatusColors index="Life" BackgroundColor="255,0,0,0" EmptyColor="255,80,80,80">
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ColorArray value="255,208,34,0"/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ColorArray value="255,229,129,0"/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ColorArray value="255,229,221,0"/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ColorArray value="255,22,229,0"/>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</StatusColors>


這個可以用 custom script 加入 trigger 嗎? 因為我沒有正式研究過 galaxy language...


另外, 加了問題 6). 已解決
回复

使用道具 举报

发表于 2010-8-26 04:49:26 | 显示全部楼层
有的Buff 是可以叠加的,算作一个Buff
回复

使用道具 举报

发表于 2010-8-26 08:10:13 | 显示全部楼层
引用第12楼wakeman于2010-08-25 16:11发表的  :



這個可以用 custom script 加入 trigger 嗎? 因為我沒有正式研究過 galaxy language...

.......
这个不是触发器,而是xml。是叫你这样改actor。
回复

使用道具 举报

发表于 2010-8-26 08:27:49 | 显示全部楼层
看起来你的问题都解决了。

那么我来收尾最后2个。


隐藏资源界面用UI - Show/Hide UI Frame动作
[trigger]
Odin not die
    Events
        Unit - Any Unit uses  Build Odin at Generic3 - Execute stage (Ignore shared abilities)
    Local Variables
    Conditions
    Actions
        Debug - Display "Odin Dies" as debug output using Type 1, and Do display it in the game window

[/trigger]


另外奥丁死后化为废铁的原理是其身上的行为在侦测到致命伤害后使用隐藏着的变身技能。所以你用单位技能事件就行了。

[trigger]
Odin Dont Die
    Events
        Unit - Any Unit uses  Build Odin at Generic3 - Execute stage (Ignore shared abilities)
    Local Variables
    Conditions
    Actions
        Debug - Display "Odin Dies" as debug output using Type 1, and Do display it in the game window
[/trigger]


但是你用触发器来检测致命伤害事件是检测不出来的,因为它事先已经被Odin身上的Behavior给Handle掉了。
Screenshot2010-08-26 08_19_32.jpg

Odin Dont Die.SC2Map

15 KB, 下载次数: 20

回复

使用道具 举报

发表于 2010-8-26 09:48:33 | 显示全部楼层
隐藏资源界面用UI - Show/Hide UI Frame动作
果然有这样的函数哦~只是那个...问题好像只想隐藏人口部分,这个有些难度~
用Renee提供的方法全部隐藏,然后自定义UI来做资源吧~
另外奥丁死后化为废铁的原理是其身上的行为在侦测到致命伤害后使用隐藏着的变身技能。
本来想早上来回答这个问题呢~Renee已经回答了呢~我详细解释一下这个技能的原理吧

首先奥丁身上有一个名为OdinDontDie的BehaviorBuff,
其作用为侦测伤害反映DamageResponse,如果受到的为致命伤害Fatal,则100%几率触发名为OdinWreckage的效果Effect。

OdinWreckage的效果是用CEffectIssueOrder类做成的,CEffectIssueOrder的作用是执行某一个技能Abil。OdinWreckage则是执行了名为OdinWreckage的技能。

OdinWreckage的技能呢?则是CAbilMorph类的一个技能,作用是变形为另一个单位→OdinWreckage。
对了,OdinWreckage的技能中,在释放结束后会调用一个PostMorphHeal的效果,作用好像是设置为满血,满护盾~
回复

使用道具 举报

发表于 2010-8-26 09:50:05 | 显示全部楼层
楼主说的就是资源/人口。是你看错了吧
回复

使用道具 举报

发表于 2010-8-26 09:56:25 | 显示全部楼层

回 17楼(Renee) 的帖子

额 理解错了- -#
当时弄那个资源Layout印象太深了,以为只是想弄掉人口...
回复

使用道具 举报

 楼主| 发表于 2010-8-26 11:12:29 | 显示全部楼层
再次多謝各位!!!

昨晚因為回家晚了, 所以只是試了一下 2). 但是在 actor 的選項入面找不到有關的 filter / validator 之類的東東. 是不是用了錯的 actor ? (我用 model 類) 官方地圖有哪個實例是可以參考的? 如果有, 我就可以照樣做.

今晚再試一試其他的.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 06:50 , Processed in 0.044591 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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