Project1

标题: 队友存在即无敌的脚本修改出现的问题 [打印本页]

作者: chd114    时间: 2014-10-3 17:49
标题: 队友存在即无敌的脚本修改出现的问题
本帖最后由 chd114 于 2014-10-3 01:02 编辑

RUBY 代码复制
  1. class Game_Enemy < Game_Battler
  2.   def damage_valid?
  3.     return true if $game_troop.alive_members == [self]
  4.     return false if $data_enemies[@enemy_id].note.include?("<我不是杂鱼>")
  5.     return true
  6.   end
  7. end
  8.  
  9. class Game_Actor
  10.   def damage_valid?
  11.     return true if $game_party.alive_members == [self]
  12.  
  13.     @team=[]
  14.     (0...$game_party.alive_members.size).all?{|i|@team.push($game_party.alive_members[i].id)}
  15.     if @actor_id==19
  16.     return false unless @team.include?(20)#20号队友存在时19号队友不受到伤害
  17.     end
  18.  
  19.     return false if $data_actors[@actor_id].note.include?("<我不是杂鱼>")
  20.     return true
  21.   end
  22.  
  23. end
  24.  
  25. class Game_Battler
  26.  
  27.   def damage_valid?
  28.     true
  29.   end
  30.  
  31.   alias assign_hp_20140817 hp=
  32.   def hp=(hp)
  33.     assign_hp_20140817(hp) if hp >= @hp || damage_valid?
  34.   end
  35.  
  36.   alias mdv_20140817 make_damage_value
  37.   def make_damage_value(user, item)
  38.     mdv_20140817(user, item) if damage_valid?
  39.   end
  40.  
  41. end


原版的脚本是备注一个
  1. <我不是杂鱼>
复制代码
就能达到队友存在即无敌的效果,但是我想修改成指定20号队友存在时19号队友无敌的效果,可
RUBY 代码复制
  1. return false unless @team.include?(20)
的return false没效果,如果改成return true又会变成无论20号队友在不在都无敌···
@taroxd @invwindy @VIPArcher  




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