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

Project1

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

[已经解决] 求教状态回合数显示脚本问题。。

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1162
在线时间
178 小时
注册时间
2018-11-6
帖子
32
跳转到指定楼层
1
发表于 2019-5-11 21:27:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 VIPArcher 于 2019-11-20 12:03 编辑

请教大佬,我用了状态回合数显示脚本后系统默认的属性提升的状态图标被更改了,求教如何修改?以下是脚本
RUBY 代码复制
  1. #==============================================================================
  2. # ■状态剩余回合数显示 for RGSS3 Ver1.01-β
  3. # □作成者 kure
  4. #==============================================================================
  5. #
  6. # 状态备注:  <不显示剩余回合数>   则不会显示剩余回合数
  7. #
  8.  
  9. #==============================================================================
  10. # ■ RPG::State(追加定義)
  11. #==============================================================================
  12. class RPG::State < RPG::BaseItem
  13.   #--------------------------------------------------------------------------
  14.   # ☆残りターン非表示の定義(追加定義)
  15.   #--------------------------------------------------------------------------  
  16.   def view_turns?
  17.     return true unless @note
  18.     return false if @note.include?("<不显示剩余回合数>")
  19.     return true
  20.   end
  21. end
  22.  
  23. #==============================================================================
  24. # ■ Window_Base
  25. #==============================================================================
  26. class Window_Base < Window
  27.   #--------------------------------------------------------------------------
  28.   # ● ステートおよび強化/弱体のアイコンを描画(再定義)
  29.   #--------------------------------------------------------------------------
  30.   def draw_actor_icons(actor, x, y, width = 96)
  31.     icons = (actor.state_icons_adv + actor.buff_icons_adv)[0, width / 24]
  32.  
  33.     last = contents.font.size
  34.     contents.font.size = 18
  35.     change_color(crisis_color)
  36.     icons.each_with_index {|n, i| draw_state_icon_turns(n, x + 24 * i, y) }
  37.     change_color(normal_color)
  38.     contents.font.size = last
  39.  
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ● 残りのターンを加えたアイコンの描画(追加定義)
  43.   #--------------------------------------------------------------------------
  44.   def draw_state_icon_turns(data, x, y)
  45.     draw_icon(data[0], x, y)
  46.     draw_text(x + 12, y + 8, 12, 18, data[1],2)
  47.   end
  48. end
  49.  
  50. #==============================================================================
  51. # ■ Game_BattlerBase
  52. #==============================================================================
  53. class Game_BattlerBase
  54.   #--------------------------------------------------------------------------
  55.   # ● 現在のステートをアイコンINDEX、残りターン、ステートIDで取得(追加定義)
  56.   #--------------------------------------------------------------------------
  57.   def state_icons_adv
  58.     icons = states.collect {|state| [state.icon_index, @state_turns[state.id], state.id] }
  59.     for i in 0..icons.size - 1
  60.       if icons[i][0] == 0
  61.         icons[i] = nil
  62.       else
  63.         icons[i][1] = "" if $data_states[icons[i][2]].auto_removal_timing == 0
  64.         icons[i][1] = "" unless $data_states[icons[i][2]].view_turns?
  65.       end
  66.     end
  67.     icons.compact!
  68.     return icons
  69.   end
  70.   #--------------------------------------------------------------------------
  71.   # ● 現在の強化/弱体をアイコンINDEX、残りターンで取得(追加定義)
  72.   #--------------------------------------------------------------------------
  73.   def buff_icons_adv
  74.     icons = []
  75.     @buffs.each_with_index {|lv, i| [icons.push(buff_icon_index(lv, i)),@buff_turns[i]] }
  76.     for i in 0..icons.size - 1
  77.       icons[i] = nil if icons[i][0] == 0
  78.     end
  79.     icons.compact!
  80.     return icons
  81.   end
  82. end

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9335
在线时间
2745 小时
注册时间
2008-9-5
帖子
3540

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

2
发表于 2019-5-13 14:42:46 | 只看该作者
总觉得  def buff_icons_adv  这个方法里的第二行怪怪的,
尝试改成这样看看?
  1. @buffs.each_with_index {|lv, i| icons.push([buff_icon_index(lv, i),@buff_turns[i]]) }
复制代码
回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1162
在线时间
178 小时
注册时间
2018-11-6
帖子
32
3
 楼主| 发表于 2019-5-13 21:30:43 | 只看该作者
感谢大佬!现在图标解决了,只是显示的数字后面多了个‘.0’,能否再修改只显示个位数?

4.png (4.98 KB, 下载次数: 32)

4.png
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1162
在线时间
178 小时
注册时间
2018-11-6
帖子
32
4
 楼主| 发表于 2019-5-13 21:31:28 | 只看该作者
cinderelmini 发表于 2019-5-13 14:42
总觉得  def buff_icons_adv  这个方法里的第二行怪怪的,
尝试改成这样看看?
...

感谢大佬!
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9335
在线时间
2745 小时
注册时间
2008-9-5
帖子
3540

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

5
发表于 2019-5-13 21:38:30 | 只看该作者
leontonydz 发表于 2019-5-13 21:30
感谢大佬!现在图标解决了,只是显示的数字后面多了个‘.0’,能否再修改只显示个位数?
...

在 def draw_state_icon_turns(data, x, y) 方法里,
在data[1]后面加上.to_i应该可以:
draw_text(x + 12, y + 8, 12, 18, data[1].to_i, 2)
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1162
在线时间
178 小时
注册时间
2018-11-6
帖子
32
6
 楼主| 发表于 2019-5-13 22:22:53 | 只看该作者
cinderelmini 发表于 2019-5-13 21:38
在 def draw_state_icon_turns(data, x, y) 方法里,
在data[1]后面加上.to_i应该可以:
draw_text(x + 1 ...

再次感谢大佬!
但是常驻buff上多了数字感觉不美观,能删除吗?

4.png (11.82 KB, 下载次数: 31)

4.png
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9335
在线时间
2745 小时
注册时间
2008-9-5
帖子
3540

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

7
发表于 2019-5-14 13:43:10 | 只看该作者
leontonydz 发表于 2019-5-13 22:22
再次感谢大佬!
但是常驻buff上多了数字感觉不美观,能删除吗?

好像装状态图标数据的那个数组后面还有带了个状态ID,那么利用一下的话……
可以获取到这个ID的状态实例,于是可以获取到这个状态是不是自动解除的状态,
不是的话就不显示剩余回合数……
于是(想是这样想的,没实践测试,可能有问题):
  1.   #--------------------------------------------------------------------------
  2.   # ● 残りのターンを加えたアイコンの描画(追加定義)
  3.   #--------------------------------------------------------------------------
  4.   def draw_state_icon_turns(data, x, y)
  5.     draw_icon(data[0], x, y)
  6.     if data[2] and $data_states[data[2]] and $data_states[data[2]].auto_removal_timing == 0
  7.       return
  8.     end
  9.     draw_text(x + 12, y + 8, 12, 18, data[1],2)
  10.   end
复制代码

评分

参与人数 1星屑 +50 收起 理由
VIPArcher + 50 认可答案

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv5.捕梦者 (暗夜天使)

梦石
1
星屑
20321
在线时间
4876 小时
注册时间
2014-12-22
帖子
1525

开拓者

8
发表于 2019-5-14 13:54:31 | 只看该作者
leontonydz 发表于 2019-5-13 22:22
再次感谢大佬!
但是常驻buff上多了数字感觉不美观,能删除吗?

在不需要的状态备注这个就可以了吧?

# 状态备注:  <不显示剩余回合数>   则不会显示剩余回合数
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1162
在线时间
178 小时
注册时间
2018-11-6
帖子
32
9
 楼主| 发表于 2019-5-14 14:45:11 | 只看该作者
cinderelmini 发表于 2019-5-14 13:43
好像装状态图标数据的那个数组后面还有带了个状态ID,那么利用一下的话……
可以获取到这个ID的状态实例 ...

感谢大佬!!!实践确实可行!不过要把.to_i加上
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1162
在线时间
178 小时
注册时间
2018-11-6
帖子
32
10
 楼主| 发表于 2019-5-14 14:46:07 | 只看该作者
shencao 发表于 2019-5-14 13:54
在不需要的状态备注这个就可以了吧?

# 状态备注:     则不会显示剩余回合数

大佬我试过这个备注了没用,不过上面那位给出解决方法,感谢!

点评

嗯嗯,解决了就好~  发表于 2019-5-14 15:18
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-24 21:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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