查看: 1912|回复: 2

[已经解决] Window_Skill窗口怎么只获取带有24号属性的技能

[复制链接]

故九江太守

梦石
0
星屑
314
在线时间
2158 小时
注册时间
2012-12-5
回帖
4323
发表于 2014-7-26 22:27:23 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 你最珍贵 于 2014-7-26 22:28 编辑

G_DGF`CUORQKF[OJ)~_Q)P9.jpg
Window_Skill窗口怎么只获取带有24号属性的技能,应该是在这段改吧?

求助一下 @恐惧剑刃 @kuerlulu  
梦石
0
星屑
1748
在线时间
485 小时
注册时间
2006-1-7
回帖
996
发表于 2014-7-26 22:41:11 | 显示全部楼层
本帖最后由 白鬼 于 2014-7-26 23:00 编辑

大概应该参考一下这个脚本吧:
战斗时不显示无法使用的技能
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================
  4. #==============================================================================
  5. # ■ Window_Skill
  6. #------------------------------------------------------------------------------
  7. #  特技画面、战斗画面、显示可以使用的特技浏览的窗口。
  8. #==============================================================================
  9. class Window_Skill
  10. #--------------------------------------------------------------------------
  11. # ● 刷新
  12. #--------------------------------------------------------------------------
  13. def refresh
  14.    if self.contents != nil
  15.      self.contents.dispose
  16.      self.contents = nil
  17.    end
  18.    @data = []
  19.    for i in 0...@actor.skills.size
  20.      skill = $data_skills[@actor.skills[i]]
  21.      if $game_temp.in_battle
  22.        if skill != nil and @actor.skill_can_use?(skill.id) #★★这修改过★★#
  23.          @data.push(skill)
  24.        end
  25.      else
  26.        if skill != nil
  27.          @data.push(skill)
  28.        end
  29.      end
  30.    end
  31.    # 如果项目数不是 0 就生成位图、重新描绘全部项目
  32.    @item_max = @data.size
  33.    if @item_max > 0
  34.      self.contents = Bitmap.new(width - 32, row_max * 32)
  35.      for i in 0...@item_max
  36.        draw_item(i)
  37.      end
  38.    end
  39. end
  40. end
  41. #==============================================================================
复制代码
#★★这修改过★★#
if skill != nil and @skill_element_id == 24

自己测试了一下,
@skill_element_id == 24

这样写不对……
虽然脚本不会出错,但是 技能 页面里什么也不显示了
期待大神帮忙解决一下:
主要是如何判断技能是否包含ID为24的属性

点评

跳入下一循环 如果 不  发表于 2014-7-26 23:25

评分

参与人数 1星屑 +30 收起 理由
你最珍贵 + 30 精品文章

查看全部评分

初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒。
回复

使用道具 举报

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
回帖
1223
发表于 2014-7-26 22:58:42 | 显示全部楼层
本帖最后由 恐惧剑刃 于 2014-7-26 22:59 编辑
  1. for i in 0...@actor.skills.size
  2.   skill = $data_skills[@actor.skills[i]]
  3.   #======================================================
  4.   next if not skill.element_set.include? 24
  5.   #======================================================
  6.   if skill != nil
  7.     @data.push(skill)
  8.   end
  9. end
复制代码
大概就这样了

点评

if not 语句 if !语句 和 unless 差不多 逻辑运算符  发表于 2014-7-26 23:53
已经解决了  发表于 2014-7-26 23:20
next if not 是个什么情况?求教  发表于 2014-7-26 23:08

评分

参与人数 3星屑 +230 收起 理由
白鬼 + 20 认可答案
myownroc + 150 认可答案
你最珍贵 + 60 精品文章

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部