Project1

标题: 關於階段式的技能 [打印本页]

作者: ay9010x    时间: 2015-5-30 20:05
标题: 關於階段式的技能
最近使用VA做遊戲
想做出階段式的技能

例如
一階詠唱 => 二階詠唱 => 三階詠唱 => 最終詠唱

第一個技能使用後,啟用第二個技能,隱藏第一個技能
第二個技能使用後,啟用第三個技能,隱藏第二個技能
第三個技能使用後,啟用第四個技能,隱藏第三個技能
最後一個技能使用後,啟用第一個技能,隱藏第四個技能

這樣

請問各位先進這可以利用VA的事件寫出來嗎?
爬了半天文都找不到,想不到該用什麼關鍵字來找
拜託各位了
作者: 3106345123    时间: 2015-5-30 20:24
使用技能后添加状态
再在状态的特性设置栏里设置
● [技能]标签
添加技能类型
使得指定的技能类型可以在指令中选择。

禁用技能类型
使得指定的技能类型不可在指令中选择。

添加技能
使得指定的技能可以使用。

禁用技能
使得指定的技能不可使用。

作者: ay9010x    时间: 2015-5-30 20:32
以了解思路
但如果最後一個技能是給予敵方傷害
效果範圍是"單個敵人"的情況
要怎麼做才能把"關閉最後一個技能並開啟第一個技能"的狀態加到自己身上?
作者: 3106345123    时间: 2015-5-31 00:12
ay9010x 发表于 2015-5-30 20:32
以了解思路
但如果最後一個技能是給予敵方傷害
效果範圍是"單個敵人"的情況

攻击敌人的同时自己附加一个状态
作者: 紫苍焰    时间: 2015-5-31 08:30
ay9010x 发表于 2015-5-30 20:32
以了解思路
但如果最後一個技能是給予敵方傷害
效果範圍是"單個敵人"的情況

技能公式前面加上一句
a.add_state(27);
括号里是状态ID。
用这个,然后后面照常写技能公式,使用者使用时就会被附加上27号状态。
以上。
作者: 紫苍焰    时间: 2015-5-31 08:37
本帖最后由 紫苍焰 于 2015-5-31 08:39 编辑
ay9010x 发表于 2015-5-30 20:32
以了解思路
但如果最後一個技能是給予敵方傷害
效果範圍是"單個敵人"的情況


……
如果你要的是用完1之后1消失了,原本1的位置变成2以此类推这种我表示我不会。
我会的只是,技能列表里1234都有,但是只有1是可用的,用完1之后变成只有2可用,以此类推……
如果这样可以的话,下面说怎么做。
首先,做4个状态。描述什么的不用填,解除条件选战斗结束解除。第一个禁用技能234,第二个禁用134,第三个禁用124,第四个禁用123。
然后,每个技能公式前面都加入以下一段
a.add_state(27);
其中括号内的数字在四个技能里分别换成以上四个状态的ID,比如技能4要用第一个状态,技能1要用第二个,以此类推……
看看效果如何。
如果要消失又出现的其实也可以,不过麻烦了很多,必须要用公共事件,而且还不好判断,至少我目前不知道如何做出来。
不如直接4个状态解决问题。不过记住每个技能要对应着解除上一个技能附加的那个状态……
作者: ay9010x    时间: 2015-6-1 23:55
紫苍焰 发表于 2015-5-31 08:37
……
如果你要的是用完1之后1消失了,原本1的位置变成2以此类推这种我表示我不会。
我会的只是,技能列表 ...


不好意思我又來了 ==

是的,看到3106345123前輩的發言後,我想到的正是您所說的方法
但是誠如我前面所說,如果第四個技能作用範圍是敵人,則加狀態的敘述必須寫在"計算公式"中
而文中也說
不过记住每个技能要对应着解除上一个技能附加的那个状态……

那麼,計算公式能同時做到"使用者解除狀態A"、"使用者附加狀態B"、"給予敵人傷害"嗎?
因為若是單純將效果寫在"使用效果"中,是可以實現1=>2=>3=>4技能依序出現,
並且"除了技能1外,其他禁用的技能都不顯示"的效果

但是嘗試將狀態敘述寫在公式中後發現了問題,會卡在最後一個技能用過後,技能1和技能4都無法使用的狀態(前三個技能範圍均為自身,因此是將狀態的附加和解除敘述寫在"使用效果"中;最後一個技能範圍是敵人單體,因此狀態敘述寫在公式中)

我的寫法是
a.add_state(4); a.remove_state(3);100000

請問錯誤的地方!

作者: 上贺茂润    时间: 2015-6-2 07:33
公共事件设置三个状态 咏唱一次升一个 最高就释放
作者: 紫苍焰    时间: 2015-6-2 07:42
ay9010x 发表于 2015-6-1 23:55
不好意思我又來了 ==

是的,看到3106345123前輩的發言後,我想到的正是您所說的方法

b.state?(31)?b.remove_state(31):b.add_state(31)
这公式的意义是判断目标身上是否存在31号状态,是则解除该状态,否则附加31号状态。
做几个这样的技能,接在技能1234的后面强制执行试试看……
至于怎么判断怎么改的话……多试几次应该就出来了。
因为我设置的那个技能的对象是使用者,所以这里填的都是b。
以上。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1