设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1107|回复: 2
打印 上一主题 下一主题

[已经解决] 请教如何在Window_Status显示全属性抗性列表?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
114
在线时间
411 小时
注册时间
2020-1-11
帖子
253
跳转到指定楼层
1
发表于 2022-5-22 22:22:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
200星屑
就是红色框中的列表,一直找不到适合的数据提取方法,求思路。
  #--------------------------------------------------------------------------
  # ● 绘制 耐性抗性有效度 区域
  #--------------------------------------------------------------------------
  def draw_block_state_rate(x,y)

    if @actor.element_word_rate[0] < 0
      r1 = Vocab::R_LH_1
    elsif @actor.element_word_rate[0] == 0
      r1 = Vocab::R_LH_2
    elsif @actor.element_word_rate[0] > 0 && @actor.element_word_rate[0] < 1
      r1 = Vocab::R_LH_3
    elsif @actor.element_word_rate[0] == 1
      r1 = Vocab::R_LH_4
    elsif @actor.element_word_rate[0] > 1
      r1 = Vocab::R_LH_5
    elsif @actor.element_word_rate[0] >= 2
      r1 = Vocab::R_LH_6
    else
      r1 = Vocab::R_LH_7
    end

ps:
case actor.id
when 1
      @element_a_rate =[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]   <--  这个数组是羞耻的手工输入,不是编码生成的,

2022-05-22_220939.png (97.93 KB, 下载次数: 9)

2022-05-22_220939.png

最佳答案

查看完整内容

简单说一下,RPG::System里面有各种用语,比如属性的数组,然后Game_Battler里有查询各种抗性的方法,两者一起用即可。 下面是System里的一些属性: 下面是Game_Battler的一些方法: #-------------------------------------------------------------------------- # ● 获取属性抗性 #-------------------------------------------------------------------------- def element_rate(element_id) features_pi(FE ...

Lv3.寻梦者

梦石
0
星屑
1803
在线时间
133 小时
注册时间
2013-10-6
帖子
193
2
发表于 2022-5-22 22:22:44 | 只看该作者
本帖最后由 不死鸟之翼 于 2022-5-24 04:32 编辑

简单说一下,RPG::System里面有各种用语,比如属性的数组,然后Game_Battler里有查询各种抗性的方法,两者一起用即可。

下面是System里的一些属性:

  1. elements
  2. 属性列表。以属性 ID 为下标的字符串数组,0 号元素为空字符串。

  3. skill_types
  4. 技能类型列表。以技能类型 ID 为下标的字符串数组,0 号元素为空字符串。

  5. weapon_types
  6. 武器类型列表。以武器类型 ID 为下标的字符串数组,0 号元素为空字符串。

  7. armor_types
  8. 护甲类型列表。以护甲类型 ID 为下标的字符串数组,0 号元素为空字符串。
复制代码


下面是Game_Battler的一些方法:

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 获取属性抗性
  3.   #--------------------------------------------------------------------------
  4.   def element_rate(element_id)
  5.     features_pi(FEATURE_ELEMENT_RATE, element_id)
  6.   end
  7.   #--------------------------------------------------------------------------
  8.   # ● 获取弱化抗性
  9.   #--------------------------------------------------------------------------
  10.   def debuff_rate(param_id)
  11.     features_pi(FEATURE_DEBUFF_RATE, param_id)
  12.   end
  13.   #--------------------------------------------------------------------------
  14.   # ● 获取状态抗性
  15.   #--------------------------------------------------------------------------
  16.   def state_rate(state_id)
  17.     features_pi(FEATURE_STATE_RATE, state_id)
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 获取免疫状态数组
  21.   #--------------------------------------------------------------------------
  22.   def state_resist_set
  23.     features_set(FEATURE_STATE_RESIST)
  24.   end
  25.   #--------------------------------------------------------------------------
  26.   # ● 判定状态是否免疫
  27.   #--------------------------------------------------------------------------
  28.   def state_resist?(state_id)
  29.     state_resist_set.include?(state_id)
  30.   end


假如我们要把第一个敌人的所有属性的倍率一起输出:

RUBY 代码复制
  1. $target = $game_troop.members[0]
  2. $data_system.elements.drop(1).each_with_index { |val, ind|
  3.   p "#{val}×#{$target.element_rate(ind)}"
  4. }


  1. "物理×1.0"
  2. "吸收×1.0"
  3. "炎×1.0"
  4. "冰×2.0"
  5. "电×1.0"
  6. "水×1.0"
  7. "地×1.0"
  8. "风×1.0"
  9. "圣×1.0"
  10. "暗×1.0"
复制代码


要是想存成数组的话就map一下。至于显示第一个字也好,改成弱/耐也好,可以自行发挥。
←你看到一只经常潜水的萌新。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
114
在线时间
411 小时
注册时间
2020-1-11
帖子
253
3
 楼主| 发表于 2022-5-24 07:17:04 | 只看该作者
不死鸟之翼 发表于 2022-5-22 22:22
简单说一下,RPG::System里面有各种用语,比如属性的数组,然后Game_Battler里有查询各种抗性的方法,两者 ...

的确是好思路。我试试看能不能嫁接到我的工程上。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-29 03:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表