Project1

标题: 【求助】关于多重技能效果制作的疑问 [打印本页]

作者: SimoTCD    时间: 2024-3-24 21:57
标题: 【求助】关于多重技能效果制作的疑问
我想制作出有多个作用或影响的技能,比如:
①伤害单体敌人,并为技能使用者恢复生命值(简单的吸血做不到,因为恢复量和伤害不是简单相同的)
②伤害单体敌人,为全体队友/全体敌人/其余敌人再施加某状态
等等
目前我能想到但不会做的方法:
一是利用公共事件,在使用技能时传参,将使用者的编号和目标敌人的编号写入某一变量,然后再用公共事件读取这个队友啊敌人啊的属性啊数据啊什么的,再进行其他计算,但这样可能比较麻烦;
二是我自认为简单的方法——做一个附带技能,比如①就写两个技能,一个是伤害单体敌人,一个是为使用者回血,然后游戏过程中任务就只能学到前者,当使用前者并结算完技能效果之后,再直接调用后者技能的效果。
另外我也想到过用【强制战斗行动】函数,但我不知道如何用变量来指定行动主体或者战斗行动的目标,比如就定为技能使用者本人。不过我也没能在帮助文档里找到关于索引和注释的内容,实在没能理解这个索引应该怎么用,要怎么用等等。
所以可惜我都只停留在理论层面而不知道具体该如何实现。
诚望各位不吝赐教!
作者: sunhihi    时间: 2024-3-25 06:17
看我的簽名檔
有針對技能擴充
有針對狀態擴充
作者: SimoTCD    时间: 2024-3-25 18:38
sunhihi 发表于 2024-3-25 06:17
看我的簽名檔
有針對技能擴充
有針對狀態擴充

感谢您的回答和分享!
我下载了你的 Sun_1_SkillParameterEx 技能參數擴充插件,但我还是不知道该如何制作出我想要的技能。我在【插件管理器】中启用了这个插件以及其要求的前置插件,但是【数据库-技能】页面并没有改动。
作者: sunhihi    时间: 2024-3-25 20:08
本帖最后由 sunhihi 于 2024-3-25 20:20 编辑
SimoTCD 发表于 2024-3-25 18:38
感谢您的回答和分享!
我下载了你的 Sun_1_SkillParameterEx 技能參數擴充插件,但我还是不知道该如何制 ...


插件這東西不會影響你編輯程式的UI
因為插件無法影響那個部分
①傷害單體敵人,並為技能使用者恢復生命值




②傷害單體敵人,為全體隊友/全體敵人/其餘敵人再施加某狀態
這個技能擴展做不到
技能擴展可以做到在施技能前給敵方加狀態
但有一個前提
不會超出你技能的攻擊範圍除非你用一般事件



狀態擴展可以用追加攻擊達到你想要的效果
但是因為那個插件難度比這個高
我建議你熟悉一下這個再說
作者: SimoTCD    时间: 2024-3-25 20:24
sunhihi 发表于 2024-3-25 20:08
插件這東西不會影響你編輯程式的UI
因為插件無法影響那個部分
①傷害單體敵人,並為技能使用者恢復生命值 ...

感谢你的解答,但事实上伤害公式和治疗公式不一样,不是简单的倍率关系,而且提示文字也是“某敌人被吸取了xx点生命”。
我个人还是想做成【使用一个技能后,自动附带使用另一个技能】的方式。
比如我的例子①就能拆分成两个技能:一个是单体伤害,另一个是自我治疗。角色只会习得前者,使用前者时会带动自动使用后者。请问这个有办法通过您的插件做到吗?
作者: qq302849815    时间: 2024-3-25 20:29
你可以试试YEP的Skill Rewards
作者: sunhihi    时间: 2024-3-25 21:15
SimoTCD 发表于 2024-3-25 20:24
感谢你的解答,但事实上伤害公式和治疗公式不一样,不是简单的倍率关系,而且提示文字也是“某敌人被吸取 ...

你必須用另外一個插件才能做到技能與技能的銜接
我用狀態作為技能的觸發時機點
然後再附加狀態時進行追加攻擊
這時你可以選擇你要銜接的技能

因為可以一次性附加多個狀態
所以會有一口氣銜接多個技能的情況


作者: SimoTCD    时间: 2024-3-25 22:59
sunhihi 发表于 2024-3-25 21:15
你必須用另外一個插件才能做到技能與技能的銜接
我用狀態作為技能的觸發時機點
然後再附加狀態時進行追加 ...

感谢帮助和支持!帮助文档没有给参数格式,对我这个初学者来说,我需要花时间研究下怎么正确的使用这些参数
作者: SimoTCD    时间: 2024-4-7 13:51
本帖最后由 SimoTCD 于 2024-4-7 13:56 编辑
sunhihi 发表于 2024-3-25 21:15
你必須用另外一個插件才能做到技能與技能的銜接
我用狀態作為技能的觸發時機點
然後再附加狀態時進行追加 ...


你好,感谢您先前的帮助,但现在我又遇到了一些问题:

首先,如你的截图所示,我没有找到参数状态阵列中的“■额外攻击”项目,取而代之的是“■技能追加效果”。请见我在楼下发布的第一张图片(另外这张图片中被红框圈起来的“前”字疑应为“后”字)。我想我应该是下载了错误版本的插件,希望您能告诉我正确版本插件的下载途径,或者我现在这版插件的用法。

其次,在“技能追加效果”序列中,我这里看到你需要搭配“CODE”使用,然而我在选项菜单中没有找到【使用一个技能会牵动使用另一个技能】这样的选项,而且在我仿照 data/skills.json 中的写法填写效果的 id、data1 和 data2 时,它并没有按照我预期的方式工作。

恕我愚钝,数次自己尝试仍然没能找到解决方法,望再次赐教!
(另外还是建议将帮助中的“需要搭配‘CODE’使用,详见xxx文件”写的更详细清楚一些,两个星期了我实在是没学会照猫画虎。)
作者: SimoTCD    时间: 2024-4-7 13:55



作者: sunhihi    时间: 2024-4-7 17:06
SimoTCD 发表于 2024-4-7 13:55

首先你之前提的需求需要兩隻插件
Sun_1_SkillParameterEx.js
Sun_1_StateParameterEx.js

先說技能追加效果
那個就單純沒有改字
第二行是[釋放技能後自身添加的效果]
下個版本會改

額外追加攻擊是插件Sun_1_StateParameterEx.js的東西
作者: SimoTCD    时间: 2024-4-8 10:59
sunhihi 发表于 2024-4-7 17:06
首先你之前提的需求需要兩隻插件
Sun_1_SkillParameterEx.js
Sun_1_StateParameterEx.js

好的谢谢!
那么为了实现【使用A技能会连带使用B技能】的效果——比如某技能的效果是“对敌人造成伤害,并为自己回血”(因为回血量和伤害量不挂钩所以不能简单的用倍率吸血来实现),请问我这个思路是否可行:
1. 设定 A 技能为对单体敌人造成伤害,B 技能为为使用者回血
2. 新设定一个状态 C,让它在 1 回合后自行解除
3. 在 StateParameterEx 中让这个状态“启用追击”,追击的技能为 B
4. 在 SkillParameterEx 中让技能 A 会对目标附加状态 C
作者: sunhihi    时间: 2024-4-8 11:45
本帖最后由 sunhihi 于 2024-4-8 11:48 编辑
SimoTCD 发表于 2024-4-8 10:59
好的谢谢!
那么为了实现【使用A技能会连带使用B技能】的效果——比如某技能的效果是“对敌人造成伤害, ...


2. 新設定一個狀態C,讓它在1 回合後自行解除
    追擊觸發時該狀態會自動被消耗(無須設置1 回合後自行解除)
4. 在SkillParameterEx 中讓技能A 會對目標附加狀態C
    不需要再SkillParameterEx裡設置, 原生的攻擊附加狀態即可做到, 除非你對附加狀態的時間有特別要求
    原生的附加時機是在攻擊敵人之後觸發
作者: SimoTCD    时间: 2024-4-8 11:49
sunhihi 发表于 2024-4-8 11:45
2. 新設定一個狀態C,讓它在1 回合後自行解除
    追擊觸發時該狀態會自動被消耗(無須設置1 回合後自行解 ...

我明白了,感谢帮助!
另外,“追击”的技能,目标如果是“单个敌人”,那么追击的目标仍然是被附加了该状态的敌人吗?“单个队友”呢?
作者: sunhihi    时间: 2024-4-8 11:53
SimoTCD 发表于 2024-4-8 11:49
我明白了,感谢帮助!
另外,“追击”的技能,目标如果是“单个敌人”,那么追击的目标仍然是被附加了该 ...


追擊的對象限制

當指定技能為單一敵人時(敵人被打死了的話可能就不觸發了)
則自動鎖定第一次攻擊的對象

當指定技能為單一我方時
則自動鎖定自身為對象

當指定技能為全體敵人時
自然是敵方全體

當指定技能為我方全體時
自然是我方全體





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