Project1

标题: 怎么让全队成员按百分比回血 [打印本页]

作者: 莲塘白龙    时间: 2021-10-28 18:34
标题: 怎么让全队成员按百分比回血
想做一个事件,触发后全队所有成员按照自己最大血量的20%恢复生命值
作者: xiamumomo    时间: 2021-10-28 19:21
  1. var m = $gameActors.actor(1)
  2. var d = Math.round(0.2 * m.mhp)
  3. var KO = true
  4. Game_Interpreter.prototype.changeHp.call(this, m, d, KO);
复制代码

actor(n)将n改成角色id这个是单人的 如果你人多就设置多个脚本就好了
如果你不想麻烦那就
  1. var a = $gameActors.actor(1).mhp
  2. $gameParty.members().forEach(function(m){
  3. m.gainHp(Math.round((a * 0.2)));
  4. });
复制代码

这个是根据指定角色MHP恢复全队的应该说适合技能吧
作者: 莲塘白龙    时间: 2021-10-28 21:16
xiamumomo 发表于 2021-10-28 19:21
actor(n)将n改成角色id这个是单人的 如果你人多就设置多个脚本就好了
如果你不想麻烦那就

万分感谢
作者: 莲塘白龙    时间: 2021-10-28 21:29
xiamumomo 发表于 2021-10-28 19:21
actor(n)将n改成角色id这个是单人的 如果你人多就设置多个脚本就好了
如果你不想麻烦那就

大佬,角色id可不可以改成队伍成员位置。
作者: 莲塘白龙    时间: 2021-10-30 22:15
xiamumomo 发表于 2021-10-28 19:21
actor(n)将n改成角色id这个是单人的 如果你人多就设置多个脚本就好了
如果你不想麻烦那就

大佬,怎么样能实现
给角色使用物品,可以让id=角色id的那个变量增加N或者减少N。又有没有什么办法可以让指定id和某个变量数值相等的变量产生变动
作者: xiamumomo    时间: 2021-10-30 23:20
本帖最后由 xiamumomo 于 2021-10-30 23:21 编辑

物品恢复公式 v[1] = a.actorId(); 0.2 * a.mhp
使用范围:使用者
效果:公共事件
然后这个公共事件脚本为
  1. var actorId = $gameVariables.value(1);
  2. var user = $gameActors.actor(actorId);
  3. $gameParty.members().forEach(function(m) {
  4.   if (m !== user) m.gainHp(Math.round(0.2 * m.mhp));
  5. });
复制代码

应该就是这样了




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