Project1

标题: 如何显示角色状态的名称? [打印本页]

作者: 范|VAN    时间: 2016-9-16 16:34
标题: 如何显示角色状态的名称?
本帖最后由 hys111111 于 2016-9-16 19:11 编辑

   $game_party.actors[0].states  用这个显示角色的状态字符怎么显示出来的是状态序号,请问怎样才能显示名称?
作者: yang1zhi    时间: 2016-9-16 16:50
$data_states[输入状态ID].name
作者: 布罗利    时间: 2016-9-16 17:29
$data_states[$game_party.actors[0].states].name
作者: hys111111    时间: 2016-9-16 19:18
因为角色的状态是有多个的,所以:
  1. state_name = []
  2. for id in $game_party.actors[0].states
  3.   state_name.push($data_states[id].name)
  4. end
复制代码

state_name就是角色的状态名称

如果只想要第一个状态,那就这样:
  1. ($game_party.actors[0].states.size > 0 ? $data_states[$game_party.actors[0].states[0]].name : "")
复制代码

作者: 2357691704    时间: 2016-9-17 10:13
本帖最后由 2357691704 于 2016-9-17 10:14 编辑

.name来显示角色的状态很多时候都不管用,建议修改game_actor。
$game_party.actors[同伴id].states_name 就可以显示了,同伴id是从0开始的。
RUBY 代码复制
  1. #==============================================================================
  2. # ■ Game_Actor
  3. #------------------------------------------------------------------------------
  4. #  处理角色的类。本类在 Game_Actors 类 ($game_actors)
  5. # 的内部使用、Game_Party 类请参考 ($game_party) 。
  6. #==============================================================================
  7.  
  8. class Game_Actor < Game_Battler
  9.   #--------------------------------------------------------------------------
  10.   # ● 定义实例变量
  11.   #--------------------------------------------------------------------------
  12.   attr_reader   :name                     # 名称
  13.   attr_reader   :character_name           # 角色 文件名
  14.   attr_reader   :character_hue            # 角色 色相
  15.   attr_reader   :class_id                 # 职业 ID
  16.   attr_reader   :weapon_id                # 武器 ID
  17.   attr_reader   :armor1_id                # 盾 ID
  18.   attr_reader   :armor2_id                # 头防具 ID
  19.   attr_reader   :armor3_id                # 身体体防具 ID
  20.   attr_reader   :armor4_id                # 装饰品 ID
  21.   attr_reader   :level                    # 等级
  22.   attr_reader   :exp                      # EXP
  23.   attr_reader   :skills                   # 特技
  24.   #--------------------------------------------------------------------------
  25.   # ● 初始化对像
  26.   #     actor_id : 角色 ID
  27.   #--------------------------------------------------------------------------
  28.   def initialize(actor_id)
  29.     super()
  30.     setup(actor_id)
  31.   end
  32.   #--------------------------------------------------------------------------
  33.   # ● 设置
  34.   #     actor_id : 角色 ID
  35.   #--------------------------------------------------------------------------
  36.   def setup(actor_id)
  37.     actor = $data_actors[actor_id]
  38.     @actor_id = actor_id
  39.     @name = actor.name
  40.     @character_name = actor.character_name
  41.     @character_hue = actor.character_hue
  42.     @battler_name = actor.battler_name
  43.     @battler_hue = actor.battler_hue
  44.     @class_id = actor.class_id
  45.     @weapon_id = actor.weapon_id
  46.     @armor1_id = actor.armor1_id
  47.     @armor2_id = actor.armor2_id
  48.     @armor3_id = actor.armor3_id
  49.     @armor4_id = actor.armor4_id
  50.     @level = actor.initial_level
  51.     @exp_list = Array.new(101)
  52.     make_exp_list
  53.     @exp = @exp_list[@level]
  54.     @skills = []
  55.     @hp = maxhp
  56.     @sp = maxsp
  57.     @states = []
  58.     #************************************************
  59.     @states_name = ""
  60.     #************************************************
  61.     @states_turn = {}
  62.     @maxhp_plus = 0
  63.     @maxsp_plus = 0
  64.     @str_plus = 0
  65.     @dex_plus = 0
  66.     @agi_plus = 0
  67.     @int_plus = 0
  68.     # 学会特技
  69.     for i in 1..@level
  70.       for j in $data_classes[@class_id].learnings
  71.         if j.level == i
  72.           learn_skill(j.skill_id)
  73.         end
  74.       end
  75.     end
  76.     # 刷新自动状态
  77.     update_auto_state(nil, $data_armors[@armor1_id])
  78.     update_auto_state(nil, $data_armors[@armor2_id])
  79.     update_auto_state(nil, $data_armors[@armor3_id])
  80.     update_auto_state(nil, $data_armors[@armor4_id])
  81.   end
  82.   #-------------------------------------------------------------------------
  83.   # ● 设置状态名称*********************************************************
  84.   #-------------------------------------------------------------------------
  85.   def states_name
  86.     for i in @states
  87.      case i
  88.      when 1
  89.       name = "死亡"
  90.       when 2
  91.       name = "眩晕"
  92.       when 3
  93.       name = "中毒"
  94.       when 4
  95.       name = "幻惑"
  96.       when 5
  97.       name = ""
  98.       when 6
  99.       name = ""
  100.       when 7
  101.       name = ""
  102.       when 8
  103.       name = ""
  104.       when 9
  105.       name = ""
  106.       when 10
  107.       name = ""
  108.       when 11
  109.       name = ""
  110.       when 12
  111.       name = ""
  112.       when 13
  113.       name = ""
  114.       when 14
  115.       name = ""
  116.       when 15
  117.       name = ""
  118.       when 16
  119.       name = ""
  120.       when 17
  121.       name = ""
  122.       when 18
  123.       name = ""
  124.       when 19
  125.       name = ""
  126.       when 20
  127.       name = ""
  128.     end
  129.     end
  130.     return name
  131.   end
  132.   #--------------------------------------------------------------------------
  133.  
  134.  
  135.   #--------------------------------------------------------------------------
  136.   # ● 获取角色 ID
  137.   #--------------------------------------------------------------------------
  138.   def id
  139.     return @actor_id
  140.   end





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