Project1

标题: 请问有无能够替代a.addState(9)代码功能的方式 [打印本页]

作者: DDDCM    时间: 2022-9-12 22:43
标题: 请问有无能够替代a.addState(9)代码功能的方式
本帖最后由 DDDCM 于 2022-9-12 23:50 编辑

这个代码只有在技能确定命中的情况下,才会实现相应的功能,即给使用者添加状态
如果我需要无论命中敌人与否,都给自己上一个疲劳的状态,该怎么办呢,请教下大佬们

此外,我想用VisuMZ SkillStatesCore给一个技能赋上 只能在生命值百分比低于10%的时候启用 的条件,请教下大佬们s代码具体怎么写的

* <JS Skill Enable>
*  code
*  code
*  enabled = code;
* </JS Skill Enable>
*
* - Used for: Skill Notetags
* - Determines the enabled status of the skill based on JavaScript code.
* - Replace 'code' to determine the type enabled status of the skill.
* - The 'enabled' variable returns a boolean (true/false) to determine if the
*   skill will be enabled or not.
* - The 'user' variable refers to the user with the skill.
* - The 'skill' variable refers to the skill being checked.
* - All other skill conditions must be met in order for this to code to count.
作者: 新耀012478    时间: 2022-9-13 13:06
本帖最后由 新耀012478 于 2022-9-13 13:07 编辑

在rmmz_object.js这个文件的Game_Action.prototype.apply部分里加一段吧。
这个位置在判定命中之前,所以加addState是可以的。
a是this.subject(),你可以在注释里加<:>。
这样子就是无论有没有命中都会执行了。
在rmmz_window.js的Window_SkillList.prototype.isEnabled,
这个地方是决定这个技能是否可以使用的,你只要在这里跟一段你自己要的就可以增加条件了。

作者: apple5740    时间: 2022-9-13 14:57
本帖最后由 apple5740 于 2022-9-13 15:04 编辑

你好,VisuMZ SkillStatesCore 这个插件我没有使用过。
不过以下的思路你看可行吗?

1.替代a.addState(9) 代码功能的方式
因为我不确定VisuMZ SkillStatesCore 中 addState(9) 的具体功能。
我在 rmmz_objects.js 这个脚本中看到
Game_BattlerBase.prototype.addNewState(stateId) 这个方法。我怀疑是跟您的提到的方法类似。
通过测试,它是添加一个状态给角色,不知道是否能满足你的需要。

写完上面,我又在  rmmz_objects.js  中看到了 Game_Battler.prototype.addState()这个方法。。
如果您是指是引擎自带的方法..可以按照自己需要进行改写。

2.在技能命中的条件下,添加另外的状态。
2.1
在技能编辑界面可以看到效果这个设置。
在里面添加一个"其他"效果,选择共通事件,这个共通事件让角色获得疲劳状态。
至于怎么筛选出角色,执行这个效果的方式就有很多了。
比如通过判断队伍角色中上次使用的技能,再加上你给的条件,生命百分比小于10,然后进行添加另外的状态。
2.2
可以重写技能触发的相关方法,达到这个效果,参考2楼的思路。

说了很多废话,因为学的不到位,还望谅解。一起进步吧




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