查看: 5862|回复: 11

[RMVA发布] 【应求发布】变量槽显示

[复制链接]

百合控

梦石
0
星屑
6548
在线时间
1275 小时
注册时间
2013-8-21
回帖
3522

开拓者

发表于 2013-11-3 17:15:15 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 余烬之中 于 2014-7-31 15:32 编辑

此脚本已归于合集
在地图画面显示一个变量值槽,拥有大量自定义设定,显示状态也可以在脚本/游戏中由作者/玩家更改
应求发布
补上预览图 001.png
001.gif
001.png
001.png

使用帮助见脚本内置说明

点评

如果想显示两个变量槽要怎么整?  发表于 2014-5-1 15:20
希望补充相关截图,补充完成后请@我来评分  发表于 2013-11-10 10:12

评分

参与人数 2星屑 +420 收起 理由
黑舞嗜 + 45 好顶赞,楼主好人!
怪蜀黍 + 375 感谢补充截图,奖励条例

查看全部评分

萌新瑟瑟发抖
看到我请叫我去干活
梦石
0
星屑
76
在线时间
1379 小时
注册时间
2012-7-5
回帖
1643

开拓者

发表于 2013-11-3 22:09:57 | 显示全部楼层
表示学到了将数据转化为2进制进行亦或运算的方法@( ̄- ̄)@

点评

但我根本没有用异或……不熟悉ruby所以……  发表于 2013-11-9 12:04

  -fk: -azogi:
回复

使用道具 举报

梦石
0
星屑
68
在线时间
208 小时
注册时间
2013-8-8
回帖
1186
发表于 2013-11-3 22:48:05 | 显示全部楼层
能给图吗?
回复

使用道具 举报

梦石
0
星屑
407
在线时间
1291 小时
注册时间
2013-1-12
回帖
3349

贵宾

发表于 2013-11-4 01:44:25 | 显示全部楼层
http://rpg.blue/thread-252003-1-1.html
恩...............   芙蕾娅已經寫過一個惹......

点评

我怎么知道……已收藏  发表于 2013-11-9 12:05

回复

使用道具 举报

梦石
1
星屑
7574
在线时间
2650 小时
注册时间
2013-8-23
回帖
2152

开拓者

发表于 2014-5-2 23:43:57 | 显示全部楼层
本帖最后由 鑫晴 于 2014-5-2 23:46 编辑



尼玛,我这该死的强迫症


1.png


你看,现在舒服多了吧!


2.png


你要相信,我只是一时手贱而已



[pre lang="ruby" line="1"]#==============================================================================
# ■ 变量槽显示
#  作者:影月千秋
#  适用:VA
#------------------------------------------------------------------------------
# ● 简介
#   本脚本用以在菜单或地图界面显示一个值槽,它的进度由变量控制
#------------------------------------------------------------------------------
# ● 使用方法
#   插入到其他脚本以下,Main以上,按要求在下方设定即可
#==============================================================================
# ● 更新
#   V 1.2 2014.05.01 劳动节 现在支持更丰富的显示效果了
#   V 1.1 2014.02.08 功能微调
#   V 1.0 2013.12.?? 新建
#==============================================================================
# ● 声明
#   本脚本来自【影月千秋】,使用、修改和转载请保留此信息
#==============================================================================

$smomo ||= {}
if $smomo["MapVarBar"].nil?
$smomo["MapVarBar"] = true

#==============================================================================
# ■ MapVarBar
#------------------------------------------------------------------------------
#   变量槽的设定区域
#==============================================================================
module Smomo::MapVarBar
  
  SWI = 0
  # 游戏中决定是否在地图显示窗口的开关
  # 开关打开时,才会显示 如果设为0 则一直显示

  POS = 3
  # 在地图中变量窗口显示的位置
  #  0不使用 1左上 2左下 3右上 4右下
  
  KEY = :Y
  # 玩家在地图界面显示/隐藏窗口的键,:Y一般为S键,不使用请设为0
   


#==============================================================================
# 填写格式

# [当前进度变量, 最大值变量, 附加文本, 基础值, 初始最大值, 进度显示方式, 渐变色1,
# 渐变色2, 文本颜色, 进度颜色],
# 前三项为必填项
  
# 变量需要填写变量ID 附加文本形如 "击破数"
# 基础值:计算比例时,先把当前值加上基础值再进行计算
# 初始最大值:因为游戏开始时变量为0 不能计算比例(除数不为零) 临时使用这个作为
# 最大值:当最大值变量不为0时 此值无意义
# 进度显示方式:有三种选项
# '-'   不显示值 只显示附加文本
# '/'   在附加文本后 以 69/731 的方式显示进度
# '%'   在附加文本后 以 37.1% 的方式显示进度(精确到一位小数)
# 渐变色1 渐变色2 :描绘值槽使用的渐变颜色*
# 文本颜色 进度颜色:描绘附加文本和进度值使用的颜色*

# * 颜色请填写一个整数,参照事件【显示文章】中转义字符【\C[]】的参数

# 非必填项中 如果想只写后面不写前面,就用 nil 占位

# 示例
#     [1, 2, "击破数", 0, 1000, '/', 16, 12, 4, 9],
#     [1, 2, "击破数"],
#     [1, 2, "击破数", nil, nil, '%'],
#     [1, 2, "击破数", 20, nil, '-', nil, nil, nil, 15],
#------------------------------------------------------------------------------
VAR = [
    [1, 2, "击破数"],
    [3, 4, "完成度"],
    [5, 6, "熟练等级"],
    [7, 8, "远征", nil, nil, '%'],
       ]
  
  D_BA = 0    # 默认基础值
  D_OM = 1000 # 默认初始最大值
  D_DM = '/'  # 默认进度显示方式
  D_C1 = 16   # 默认渐变色1
  D_C2 = 12   # 默认渐变色2
  D_CT = 4    # 默认文本颜色
  D_CR = 9    # 默认进度颜色
  
#==============================================================================

  
  T_TEXT  = "游戏进度"
  # 在窗口最上方显示的文字 不希望显示的话使用 ""
  T_COLOR = 2
  # 如果显示 使用什么颜色
  
#=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+#
#------------------------------------------------------------------------------#
#                               请勿跨过这块区域                                #
#------------------------------------------------------------------------------#
#+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=#
  VAR.each do |bar|
    bar[3] ||= D_BA
    bar[4] ||= D_OM
    bar[5] ||= D_DM
    bar[6] ||= D_C1
    bar[7] ||= D_C2
    bar[8] ||= D_CT
    bar[9] ||= D_CR
  end
end

#==============================================================================
# ■ Window_MapVarBar
#==============================================================================
class Window_MapVarBar < Window_Base
  include Smomo::MapVarBar
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  def initialize
    fh = fitting_height (T_TEXT == "" ? 0 : 1) + VAR.size
    case POS
    when 1
      super(0, 20, 160, fh)
    when 2
      super(0, Graphics.height - fh, 160, fh)
    when 3
      super(Graphics.width - 160, 20, 160, fh)
    when 4
      super(Graphics.width - 160, Graphics.height - fh, 160, fh)
    end
    self.openness = 0
    @showing = true
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 更新
  #--------------------------------------------------------------------------
  def update
    super
    if Smomo::MapVarBar::SWI == 0 || $game_switches[Smomo::MapVarBar::SWI]
      @showing = !@showing if Input.trigger?(Smomo::MapVarBar::KEY)
      if @showing
        open if close?
        refresh if $game_map.need_refresh
      else
        close if open?
      end
    else
      close if open?
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    unless T_TEXT == ""
      change_color text_color(T_COLOR)
      draw_text(0, 0, contents.width, line_height, T_TEXT, 1)
    end
    make_font_smaller
    VAR.each_with_index do |(c, m, t, b, o, d, c1, c2, ct, cr), i|
      draw(i, c1, c2, ct, cr, t, *make_rate_n_text(d, c, m, b, o))
    end
    make_font_bigger
  end
  #--------------------------------------------------------------------------
  # ● 生成进度值
  #--------------------------------------------------------------------------
  def make_rate_n_text(display, current, max, base, origin_max)
    c = $game_variables[current] + base
    m = $game_variables[max] == 0 ? origin_max : $game_variables[max]
    [rate = c.to_f / m.to_f,
    case display
    when '-'; ""
    when '/'; "#{c}/#{m}"
    when '%'; "#{(rate * 1000).round.to_f / 10.0}%"
    end]
  end
  #--------------------------------------------------------------------------
  # ● 描绘
  #--------------------------------------------------------------------------
  def draw(index, c1, c2, ct, cr, text, rate, atext)
    pos = fitting_height(index - (T_TEXT == "" ? 1 : 0))
    draw_gauge(0, pos, contents.width, rate, text_color(c1), text_color(c2))
    change_color(text_color(ct))
    draw_text(0, pos, contents.width, line_height, text)
    change_color(text_color(cr))
    draw_text(0, pos, contents.width, line_height, atext, 2)
  end
end
#==============================================================================
# ■ Scene_Map
#==============================================================================
class Scene_Map
  _def_ :create_all_windows do
    @mo_var_bar_window = Window_MapVarBar.new unless Smomo::MapVarBar::POS == 0
  end
end

else # unless $smomo["VarBar"]
  msgbox "请不要重复加载此脚本 : )\n(变量槽显示 MapVarBar)"
end # unless $smomo["VarBar"]

#==============================================================================#
#=====                        =================================================#
           "■ 脚 本 尾"
#=====                        =================================================#
#==============================================================================#[/pre]


点评

把核心脚本插在该脚本上方即可 (14年起我的脚本都是基于这个核心的……)  发表于 2014-5-3 12:36
不对 这个脚本现在需要依赖于一个脚本核心:https://github.com/ShadowMomo/Smomo-RGSS-Scripts/blob/master/Smomo%20Core.rb  发表于 2014-5-3 12:35
在30行上面加上一句:【module Smomo; end】  发表于 2014-5-3 12:34
回复

使用道具 举报

百合控

梦石
0
星屑
6548
在线时间
1275 小时
注册时间
2013-8-21
回帖
3522

开拓者

 楼主| 发表于 2014-5-3 07:57:50 | 显示全部楼层
本帖最后由 余烬之中 于 2014-5-3 08:00 编辑
鑫晴 发表于 2014-5-2 23:43
#==============================================================================
# ■ 变 ...


其实一开始的模板是这样的:
[pre lang="ruby" line="1"]VAR = [
# [变量1, 变量2, "提示文本"],
  [4, 8, "击破度"],
  [1, 3, "等级"],
][/pre]
但是后来发现要加上一些说明…………
………………
……于是你懂的

另外 对于带有 #~ 的注释 如果你把键盘光标定位在那一行 然后按Ctrl + D 就可以复制并粘贴那一行 然后Ctrl + Q 就可以取消注释

点评

第30行发生NameError。怎么破?  发表于 2014-5-3 11:39
萌新瑟瑟发抖
看到我请叫我去干活
回复

使用道具 举报

梦石
1
星屑
7574
在线时间
2650 小时
注册时间
2013-8-23
回帖
2152

开拓者

发表于 2014-5-3 12:48:13 | 显示全部楼层
1.png
回复

使用道具 举报

百合控

梦石
0
星屑
6548
在线时间
1275 小时
注册时间
2013-8-21
回帖
3522

开拓者

 楼主| 发表于 2014-5-3 12:58:40 | 显示全部楼层
鑫晴 发表于 2014-5-3 12:48

从未遇到那样的情况
我想你需要一个附件
T.zip (1.43 MB, 下载次数: 58)
萌新瑟瑟发抖
看到我请叫我去干活
回复

使用道具 举报

梦石
1
星屑
7574
在线时间
2650 小时
注册时间
2013-8-23
回帖
2152

开拓者

发表于 2014-5-3 13:14:57 | 显示全部楼层
余烬之中 发表于 2014-5-3 12:58
从未遇到那样的情况
我想你需要一个附件

我知道哪里出问题了!

[pre lang="ruby" line="1"]  D_OM = 1    # 默认初始最大值[/pre]


我不小心把这个写成了0


orz...
回复

使用道具 举报

梦石
1
星屑
7574
在线时间
2650 小时
注册时间
2013-8-23
回帖
2152

开拓者

发表于 2014-5-3 14:25:20 | 显示全部楼层
本帖最后由 鑫晴 于 2014-5-3 14:52 编辑

能否再添加一个功能。

只显示附加文本和数值或者图标。

相当于显示变量

       游戏进度

击破数                          390/709

远征                             5.8%

节操                             5个
heart.png heart.png heart.png heart.png heart.png





点评

也许要修改一下大小·.·.·.<5=(大图标)·.·.·.10<且>5=(小图标)·.·.·.>10=(换行)·.·.·.>20=“图标*数量”  发表于 2014-5-10 21:29
完成 请在主楼的GitHub处领取  发表于 2014-5-10 21:24
已阅 待处理  发表于 2014-5-10 17:59
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部