Project1

标题: 有没大神能帮忙改将这个vx脚本改为va能用的 [打印本页]

作者: Sand@    时间: 2014-3-5 20:54
标题: 有没大神能帮忙改将这个vx脚本改为va能用的
class Game_Battler
  #--------------------------------------------------------------------------
  # ● 附加状态
  #     state_id : 状态 ID
  #--------------------------------------------------------------------------
  def add_state(state_id)
    state = $data_states[state_id]        # 获取状态资料
    return if state == nil                # 资料是否为空?
    return if state_ignore?(state_id)     # 状态是否无视?
    unless state?(state_id)               # 状态是否存在?
      unless state_offset?(state_id)      # 状态是否抵销?
        @states.push(state_id)            # 加入状态
      end
      if state_id == 1                    # 如状态是「无法战斗」(1号状态)
        @hp = 0                           # 设体力为0
        if self.is_a?(Game_Actor)         # 附加1号状态的是角色
          $game_party.remove_actor(self.id) # 队伍移除死亡角色
          if $game_party.members == []    # 队伍为无角色的情况下
            $game_temp.next_scene = nil
            $scene = Scene_Gameover.new   # 游戏结束
          end  
        end  
      end
      unless inputable?                   # 除非角色无法输入命令
        @action.clear                     # 清除所有行动
      end
      for i in state.state_set            # 获取「移除状态」列表
        remove_state(i)                   # 移除状态
        @removed_states.delete(i)         # 清除
      end
      sort_states                         # 依照优先度排列状态
    end
    @state_turns[state_id] = state.hold_turn    # 设置回合数
  end
end  
真心求助啊
作者: tan12345    时间: 2014-3-5 21:35
看得我头大,这个脚本是干嘛用的?
作者: Sand@    时间: 2014-3-5 21:43
tan12345 发表于 2014-3-5 21:35
看得我头大,这个脚本是干嘛用的?

就是实现任何一个队员状态为濒死就会离开队伍,队伍没人就GAMEOVER
作者: tan12345    时间: 2014-3-5 23:05
本帖最后由 tan12345 于 2014-3-5 23:32 编辑

水平有限,给你改成了战斗中才会触发,非战斗中死亡不会处罚
RUBY 代码复制
  1. class Game_Battler < Game_BattlerBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 附加状态
  4.   #--------------------------------------------------------------------------
  5.   alias tan_66rpg_add_state add_state
  6.   def add_state(state_id)
  7.     tan_66rpg_add_state(state_id)
  8.     if state_id == 1 && $game_party.in_battle         # 如状态是「无法战斗」(1号状态)
  9.       if self.actor? && self.exist?                   # 附加1号状态的是角色
  10.         $game_party.remove_actor(self.id) if $game_party.members.size > 1             # 队伍移除死亡角色
  11.         #if $game_party.members.size == 0              # 队伍为无角色的情况下
  12.           #SceneManager.goto(Scene_Gameover)           # 游戏结束
  13.         #end  
  14.       end  
  15.     end
  16.   end
  17. end

作者: jinpual    时间: 2014-3-8 11:34
$scene = Scene_Gameover.new  SceneManager.goto(Scene_Gameover)




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