Project1

标题: hp恢复默认26号属性 我想加更多(...真的那摸难吗?) [打印本页]

作者: 卓越大白痴    时间: 2008-10-7 04:10
标题: hp恢复默认26号属性 我想加更多(...真的那摸难吗?)
if battler.state?(26) and battler.hp >0  #-恢复生命
改成
if battler.state?(26,80,81) and battler.hp >0  #-恢复生命
这样怎摸不行 该改那里啊
  1. #==============================================================================
  2. # ■ Scene_Battle (分割定义 4)
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的类。
  5. #==============================================================================

  6. class Scene_Battle
  7.   #--------------------------------------------------------------------------
  8.   # ● リフレッシュ
  9.   #--------------------------------------------------------------------------
  10.   def refresh_phase(battler)
  11.     battler.at %= @max
  12.     if battler.movable?
  13.       battler.atp = 100 * battler.at / @max
  14.     end
  15.     spell_reset(battler)
  16.    
  17.     # 連續傷害
  18.     if battler.hp > 0 and battler.slip_damage?
  19.       battler.slip_damage_effect
  20.       battler.damage_pop["slip"] = true
  21.     end
  22.     # HP回復小
  23.     if battler.state?(26) and battler.hp >0  #-恢复生命
  24.       battler.hp_recover_effect_10
  25.       battler.damage_pop["hp_plus"] = true
  26.     end
  27.     # SP回復小
  28.     if battler.state?(27) and battler.hp >0  #-SP恢復
  29.       battler.sp_recover_effect_11
  30.       battler.damage_pop["sp_plus"] = true
  31.     end
  32.     # HP傷害小
  33.     if battler.state?(28) and battler.hp >0  #-生命傷害
  34.       battler.hp_recover_effect_14
  35.       battler.damage_pop["hp_plus"] = true
  36.     end
  37.     # SP傷害小
  38.     if battler.state?(29) and battler.hp >0  #-SP傷害
  39.       battler.sp_recover_effect_15
  40.       battler.damage_pop["sp_plus"] = true
  41.     end
  42.    
  43.     # ステート自然解除
  44.     battler.remove_states_auto
  45.     # ステータスウィンドウをリフレッシュ
  46.     status_refresh(battler, true)
  47.     unless battler.movable?
  48.       return
  49.     end
  50.     # ターン数カウント
  51.     @turn_cnt += 1
  52.   end
  53. end
  54. class Game_Battler
  55.   # HP
  56.   def hp_common
  57.     # 分散
  58.     if self.damage["hp_plus"].abs > 0
  59.       amp = [self.damage["hp_plus"].abs * 15 / 100, 1].max
  60.       self.damage["hp_plus"] += rand(amp+1) + rand(amp+1) - amp
  61.     end
  62.     # HP からダメージを減算
  63.     self.hp -= self.damage["hp_plus"]
  64.   end
  65.   def hp_recover_effect_10
  66.     # ダメージを設定
  67.     self.damage["hp_plus"] = -self.maxhp / 10
  68.     # 分散 and 減算
  69.     hp_common
  70.     # メソッド終了
  71.     return true
  72.   end
  73.   def hp_recover_effect_14
  74.     # ダメージを設定
  75.     self.damage["hp_plus"] = self.maxhp / 15
  76.     # 分散 and 減算
  77.     hp_common
  78.     # メソッド終了
  79.     return true
  80.   end
  81.   
  82.   # SP
  83.   def sp_common
  84.     # 分散
  85.     if self.damage_sp["sp_plus"].abs > 0
  86.       amp = [self.damage_sp["sp_plus"].abs * 15 / 100, 1].max
  87.       self.damage_sp["sp_plus"] += rand(amp+1) + rand(amp+1) - amp
  88.     end
  89.     # HP からダメージを減算
  90.     self.sp -= self.damage_sp["sp_plus"]
  91.   end
  92.   def sp_recover_effect_11
  93.     # ダメージを設定
  94.     self.damage_sp["sp_plus"] = -self.maxsp / 10
  95.     # SP からダメージを減算
  96.     sp_common
  97.     # メソッド終了
  98.     return true
  99.   end
  100.   def sp_recover_effect_15
  101.     # ダメージを設定
  102.     self.damage_sp["sp_plus"] = self.maxsp / 15
  103.     # SP からダメージを減算
  104.     sp_common
  105.     # メソッド終了
  106.     return true
  107.   end
  108.   
  109. end


复制代码
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 天圣的马甲    时间: 2008-10-7 15:30
如果想表现需要同时中这三种状态,用battler.state?(26) and battler.state?(80) and battler.state?(81)来连接。
如果只是其中一种的话,三个分开写。
作者: 忧伤的小猫    时间: 2008-10-7 18:47
    if battler.state?(26) and battler.hp >0  #-恢复生命
      battler.hp_recover_effect_10
      battler.damage_pop["hp_plus"] = true
    end
下面分别加上
    if battler.state?(80) and battler.hp >0  #-恢复生命
      battler.hp_recover_effect_10
      battler.damage_pop["hp_plus"] = true
    end
    if battler.state81) and battler.hp >0  #-恢复生命
      battler.hp_recover_effect_10
      battler.damage_pop["hp_plus"] = true
    end
就行了- - [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 卓越大白痴    时间: 2008-10-7 19:20
已经解决了 其实昨天我也这样做过 但是没用 今天就有用了 哈哈




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