Project1

标题: 怎么才能设置战斗后自动回复HP和SP? [打印本页]

作者: 苹果星ねこ    时间: 2012-6-14 19:58
标题: 怎么才能设置战斗后自动回复HP和SP?
每次战胜之后HP和SP都回复最大值的1/8
怎么做dsu_plus_rewardpost_czw
作者: 54酱    时间: 2012-6-14 20:05
按照LZ一贯的尿性,又要用脚本做是么?
@hys111111
作者: tommay    时间: 2012-6-14 20:11
既然楼主这么喜欢用脚本,干嘛不自己试着修改呢?
作者: yagami    时间: 2012-6-14 20:15
本帖最后由 yagami 于 2012-6-14 20:16 编辑

  for i in 0...$game_party.actors.size
      actor = $game_party.actors
     
        actor.hp += actor.maxhp/8
        
    end

你把这句放到Scene_Battle 2 获取EXP上面好了 SP类推
作者: hys111111    时间: 2012-6-14 21:17
  1. class Scene_Battle
  2.   def battle_end(result)
  3.     # 清除战斗中标志
  4.     $game_temp.in_battle = false
  5.     # 清除全体同伴的行动
  6.     $game_party.clear_actions
  7.     # 解除战斗用状态
  8.     for actor in $game_party.actors
  9.       actor.remove_states_battle
  10.     end
  11.     # 清除敌人
  12.     $game_troop.enemies.clear
  13.     # 调用战斗返回调用
  14.     if $game_temp.battle_proc != nil
  15.       $game_temp.battle_proc.call(result)
  16.       $game_temp.battle_proc = nil
  17.     end
  18.    
  19.     for i in $game_party.actors.size
  20.       $game_party.actors[i].hp += ($game_party.actors[i].maxhp/8).to_i
  21.     end
  22.    
  23.     # 切换到地图画面
  24.     $scene = Scene_Map.new
  25.   end
  26. end
复制代码
另外,LS没有取整数,会出现小数点的现象
作者: kangxi0109    时间: 2012-6-14 22:04
本帖最后由 kangxi0109 于 2012-6-14 22:05 编辑

在Scene_Battle 2最末尾的部分添加对应脚本:

  1.   #--------------------------------------------------------------------------
  2.   # ● 画面更新 (结束战斗回合)
  3.   #--------------------------------------------------------------------------
  4.   def update_phase5
  5.     # 等待计数大于 0 的情况下
  6.     if @phase5_wait_count > 0
  7.       # 减少等待计数
  8.       @phase5_wait_count -= 1
  9.       # 等待计数为 0 的情况下
  10.       if @phase5_wait_count == 0
  11. #------------------------------------------------添加↓
  12. for i in 0...$game_party.actors.size
  13.     if $game_party.actors[i].hp != 0 #只有不为濒死状态(hp=0)的同伴才能恢复
  14.       $game_party.actors[i].hp += $game_party.actors[i].maxhp / 8
  15.           $game_party.actors[i].sp += $game_party.actors[i].maxsp / 8
  16.     end
  17. end
  18. #-----------------------------------------------
  19.         # 显示结果窗口
  20.         @result_window.visible = true
  21.         # 清除主回合标志
  22.         $game_temp.battle_main_phase = false
  23.         # 刷新状态窗口
  24.         @status_window.refresh
  25.       end
  26.       return
  27.     end
  28.     # 按下 C 键的情况下
  29.     if Input.trigger?(Input::C)
  30.       # 战斗结束
  31.       battle_end(0)
  32.     end
  33.   end
  34. end
复制代码

作者: 风吹处阴凉    时间: 2016-1-17 14:13
kangxi0109 发表于 2012-6-14 22:04
在Scene_Battle 2最末尾的部分添加对应脚本:

不能恢复,你看一下




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