Project1

标题: 请教一下任何角色(队友)入队就自动获得第100号状态的写法 [打印本页]

作者: taeckle    时间: 2019-9-27 10:47
标题: 请教一下任何角色(队友)入队就自动获得第100号状态的写法
本帖最后由 taeckle 于 2019-9-27 11:12 编辑

我看RPG Maker XP默认脚本game_Party 里的 def add_actor(actor_id) 加入角色的设定是这样的:

  # ● 加入同伴
  #     actor_id : 角色 ID
  #--------------------------------------------------------------------------
  def add_actor(actor_id)
    # 获取角色
    actor = $game_actors[actor_id]
    # 同伴人数未满 4 人、本角色不在队伍中的情况下
    if @actors.size < 4 and not @actors.include?(actor)
      # 添加角色
      @actors.push(actor)
      # 还原主角
      $game_player.refresh
    end
  end


所以想弄两个设定:
1. 在游戏任何时间加入任何队员时都有自动对加入的队员附加第100号状态
2. 在游戏任何时间任何队员离队时离队队员自动去除第100号状态

请各位大神指点一二,多谢了!




作者: guoxiaomi    时间: 2019-9-27 15:13
actor.add_state(100)
就行了
作者: 1103123301    时间: 2019-9-28 08:28
在Interpreter 4的这里添加。
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 角色的替换
  3.   #--------------------------------------------------------------------------
  4.   def command_129
  5.     # 获取角色
  6.     actor = $game_actors[@parameters[0]]
  7.     # 角色有效的情况下
  8.     if actor != nil
  9.       # 操作分支
  10.       if @parameters[1] == 0
  11.         if @parameters[2] == 1
  12.           $game_actors[@parameters[0]].setup(@parameters[0])
  13.         end
  14.         $game_party.add_actor(@parameters[0])
  15.         actor.add_state(100) #<---这里插入
  16.       else
  17.         $game_party.remove_actor(@parameters[0])
  18.       end
  19.     end
  20.     # 继续
  21.     return true
  22.   end





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