Project1

标题: 请问如何制作一个某个角色阵亡后复活其他阵亡队友的脚本 [打印本页]

作者: torysir    时间: 2022-10-12 17:43
标题: 请问如何制作一个某个角色阵亡后复活其他阵亡队友的脚本
我目前的想法是在Game_Battler 3里面操作
不过各种失败
这个属性是379
原来想的是:
if self.element_rate(379) < 100 and self.damage >= self.hp
     if self.dead?and  $game_party.actors.add_state(1)
      
  $game_party.actors.remove_state(1)
     end
    end
state(1)就是阵亡,但是无法实现,虽然不报错 但是没卵用
作者: guoxiaomi    时间: 2022-10-12 22:44
  1. $game_party.actors.add_state(1)
复制代码
这脚本居然不报错?那大概是因为这个if self.dead?从来没有通过,每次判断到这里,相应角色都是活着的,所以后面所有的内容都没有执行。
作者: torysir    时间: 2022-10-13 21:02
guoxiaomi 发表于 2022-10-12 22:44
这脚本居然不报错?那大概是因为这个if self.dead?从来没有通过,每次判断到这里,相应角色都是活着的,所 ...

不报错,但是没卵用 其实去掉 if self.dead?
直接用if $game_party.actors.add_state(1)理论上也一样吧,但是没卵用
作者: torysir    时间: 2022-10-14 16:03
guoxiaomi 发表于 2022-10-12 22:44
这脚本居然不报错?那大概是因为这个if self.dead?从来没有通过,每次判断到这里,相应角色都是活着的,所 ...

我放弃了,效果改成阵亡时敌方全体损失50%生命值了
作者: 939034448    时间: 2022-10-14 18:18
如果你没啥改动的话,那么到Game_Battler里查找 def hp  ,这个方法在战斗中每次造成技能伤害都会调用的,你在这个方法里加判断就行了,比如:
  1. def hp=(hp)
  2.     @hp = [[hp, maxhp].min, 0].max
  3.     if self.hp<=0 and self.id == #指定角色
  4.       #这里就随便写了,你遍历一下队伍改一下血量就好了
  5.   end
  6. end
复制代码

作者: 金芒芒    时间: 2022-10-17 14:08
本帖最后由 金芒芒 于 2022-10-17 19:26 编辑

[attach]393546[/attach]角色=1 那么商=1
角色=0 那么商=0
商和任何数字关系多是*/不会是+-
0*100%魔力或武力*100%的概率或命中率,结果≠1*100%魔力或武力*100%的概率或命中率
角色死亡系统就不判断了,因为所有伤害和增益公式里多含+-*/,角色死亡就等于0。。只能角色死亡执行公共事件执行(+入角色=1,商就=1)该角色不在同伴中使用了复活技能(角色-1=0,角色退出),本人不懂脚本你自己写。还要定义同伴死亡后消退的时间,不然系统也测不到,最好把消退时间拉长系统没有记忆功能。

回光返照2.jpg (89.85 KB, 下载次数: 18)

回光返照2.jpg

回光返照3.jpg (65.7 KB, 下载次数: 18)

回光返照3.jpg

作者: 金芒芒    时间: 2022-10-17 14:55
939034448 发表于 2022-10-14 18:18
如果你没啥改动的话,那么到Game_Battler里查找 def hp  ,这个方法在战斗中每次造成技能伤害都会调用的,你 ...

角色死亡系统就不判断了,因为所有伤害和增益公式里多含+-*/,角色死亡就等于0。。只能角色死亡执行公共事件执行该角色不在同伴中使用了复活技能,本人不懂脚本你自己写




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