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 编辑

RUBY 代码复制
  1. class Window_ActorCommand < Window_Command
  2.  
  3.   def visible_line_number
  4.     @actor && @actor.id != 1 ? 3 : 4
  5.   end
  6.  
  7.   def make_command_list
  8.     return unless @actor
  9.     add_attack_command
  10.     add_skill_commands
  11.     add_guard_command
  12.     add_item_command if @actor.id == 1
  13.   end
  14. end
  15.  
  16. class Game_Battler
  17.  
  18.   def damage_valid?
  19.     true
  20.   end
  21.  
  22.   alias assign_hp_20140817 hp=
  23.   def hp=(hp)
  24.     assign_hp_20140817(hp) if hp >= @hp || damage_valid?
  25.   end
  26.  
  27.   alias mdv_20140817 make_damage_value
  28.   def make_damage_value(user, item)
  29.     mdv_20140817(user, item) if damage_valid?
  30.   end
  31.  
  32. end
  33.  
  34. class Game_Actor
  35.  
  36.   def damage_valid?
  37.     @actor_id != 1 || $game_party.alive_members == [self]
  38.   end
  39.  
  40. end


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




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