Project1

标题: 想塑造这样一个角色怎么做 [打印本页]

作者: rjterry    时间: 2014-8-17 15:03
标题: 想塑造这样一个角色怎么做
本帖最后由 rjterry 于 2014-8-17 15:07 编辑

比方说1号角色  战斗中 只有他能使用道具  其他人 没有使用道具的选项。  而且  如果其他角色不阵亡的话   1号角色也不会受到伤害。    要是给敌人也设置如果存在其他敌人  该敌人就不会受到伤害的角色  可不可以实现?   
作者: VIPArcher    时间: 2014-8-17 15:10
本帖最后由 VIPArcher 于 2014-8-17 15:18 编辑

1.

  1. class Window_ActorCommand < Window_Command
  2.   #--------------------------------------------------------------------------
  3.   # ● 添加物品指令
  4.   #--------------------------------------------------------------------------
  5.   def add_item_command
  6.     add_command(Vocab::item, :item) if @actor.id == 1
  7.   end
  8. end
复制代码
未测试
2.用事件
如果 别的队员状态为战斗不能
  1号角色移除无敌状态
否则
  1号角色附加无敌状态
分歧结束
更好的方法等楼下大神
作者: taroxd    时间: 2014-8-17 15:16
本帖最后由 taroxd 于 2014-8-17 15:21 编辑

[pre lang="ruby" line="1"]

class Window_ActorCommand < Window_Command

  def visible_line_number
    @actor && @actor.id != 1 ? 3 : 4
  end

  def make_command_list
    return unless @actor
    add_attack_command
    add_skill_commands
    add_guard_command
    add_item_command if @actor.id == 1
  end
end

class Game_Battler
  
  def damage_valid?
    true
  end
  
  alias assign_hp_20140817 hp=
  def hp=(hp)
    assign_hp_20140817(hp) if hp >= @hp || damage_valid?
  end
  
  alias mdv_20140817 make_damage_value
  def make_damage_value(user, item)
    mdv_20140817(user, item) if damage_valid?
  end
  
end

class Game_Actor

  def damage_valid?
    @actor_id != 1 || $game_party.alive_members == [self]
  end

end[/pre]

第三个问题,自行在 Game_Enemy 里实现 damage_valid? 方法




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