Project1

标题: 大家帮我扩张下这个脚本 [打印本页]

作者: 传说中的新人    时间: 2009-7-31 19:08
标题: 大家帮我扩张下这个脚本
#------------------------------------------------------------------------
  # 设定要显示的变量号
  $variables_id = 1
  
  # 设置图标显示号
  $icon_index = 145  
#------------------------------------------------------------------------

# 新建窗口
class Window_Variables < Window_Base
  # 初始化
  def initialize
    # 创建大小
    super(0,360,128,56)
    # 获取图标编号
    @icon = 0
    # 获取变量编号
    @variable = 0
    # 刷新
    refresh
  # 初始化结束
  end
  # 刷新
  def refresh
    # 在图表与变量都有变化的情况下
    if @icon != $icon_index or @variable != $game_variables[$variables_id]
      # 清楚内容
      self.contents.clear
      # 描绘图表
      draw_icon($icon_index,40,0,true)
      # 描绘变量,偏右
      self.contents.draw_text(32,0,64,24,$game_variables[$variables_id].to_s,2)
      # 带入变量
      @icon = $icon_index
      @variable = $game_variables[$variables_id]
    # if 结束
    end
  # 刷新结束
  end
# class 结束
end

# 地图生成窗口
class Scene_Map < Scene_Base
  # 生成窗口
  alias new_start start
  def start
    new_start
    @varia_window = Window_Variables.new
  end
  # 刷新窗口
  alias new_update update
  def update
    new_update
    @varia_window.refresh
  end
  # 释放窗口
  alias new_terminate terminate
  def terminate
    @varia_window.dispose
    new_terminate
  end
# class 结束
end
这个效果就是在地图上显示变量,如果我想扩充这个脚本,让他同时显示多个变量,要怎么修改?

未命名.PNG (310.34 KB, 下载次数: 11)

未命名.PNG

作者: woodytt    时间: 2009-7-31 22:51
本帖最后由 woodytt 于 2009-8-14 19:56 编辑

最近一直在研究在地图上显示变量的问题,发一个试试
  1. # 设置变量显示号
  2.   Vwod1 = 1
  3.   Vwod2 = 2
  4.   Vwod3 = 3
  5.   Vwod4 = 4
  6. # 设置临时存储变量显示号 (不得被其他事件占用)
  7.   Vwos1 = 5
  8.   Vwos2 = 6
  9.   Vwos3 = 7
  10.   Vwos4 = 8
  11.   # 设置图标显示号
  12.   $icon_index1 = 145  
  13.   $icon_index2 = 146  
  14.   $icon_index3 = 147  
  15.   $icon_index4 = 148  
  16. #------------------------------------------------------------------------

  17. # 新建窗口
  18. class Window_Variables < Window_Base
  19.   # 初始化
  20.   def initialize
  21.     # 创建大小
  22.     super(0,192,128,224)
  23.     # 获取图标编号
  24.     @icon = 0
  25.     $game_variables[Vwos1] = $game_variables[Vwod1]
  26.     $game_variables[Vwos2] = $game_variables[Vwod2]
  27.     $game_variables[Vwos3] = $game_variables[Vwod3]
  28.     $game_variables[Vwos4] = $game_variables[Vwod4]
  29.   # 刷新
  30.     refresh
  31.   # 初始化结束
  32.   end
  33.   # 刷新
  34.   def refresh
  35.     # 在图表与变量都有变化的情况下
  36.     if @icon != $icon_index  or $game_variables[Vwod1] != $game_variables[Vwos1]  or $game_variables[Vwod2] != $game_variables[Vwos2]  or $game_variables[Vwod3] != $game_variables[Vwos3]  or $game_variables[Vwod4] != $game_variables[Vwos4]  
  37.       self.contents.clear
  38.       # 描绘图表
  39.       draw_icon($icon_index1,10,0,true)
  40.       draw_icon($icon_index2,10,56,true)
  41.       draw_icon($icon_index3,10,112,true)
  42.       draw_icon($icon_index4,10,168,true)
  43.       # 描绘变量,偏右
  44.       self.contents.draw_text(32,0,64,24,"#{$game_variables[Vwod1]}  ".to_s,2)
  45.       self.contents.draw_text(32,56,64,24,"#{$game_variables[Vwod2]}  ".to_s,2)
  46.       self.contents.draw_text(32,112,64,24,"#{$game_variables[Vwod3]}  ".to_s,2)
  47.       self.contents.draw_text(32,168,64,24,"#{$game_variables[Vwod4]}  ".to_s,2)
  48.       
  49.       # 带入变量
  50.       @icon = $icon_index
  51.     # if 结束
  52.     end
  53.   # 刷新结束
  54.   end
  55. # class 结束
  56. end

  57. # 地图生成窗口
  58. class Scene_Map < Scene_Base
  59.   # 生成窗口
  60.   alias new_start start
  61.   def start
  62.     new_start
  63.     @varia_window = Window_Variables.new
  64.   end
  65.   # 刷新窗口
  66.   alias new_update update
  67.   def update
  68.     new_update
  69.     @varia_window.refresh
  70.   end
  71.   # 释放窗口
  72.   alias new_terminate terminate
  73.   def terminate
  74.     @varia_window.dispose
  75.     new_terminate
  76.   end
  77. # class 结束
  78. end
复制代码
此回复已经更新
再次更新!这次不会因为商店或战斗使变量清零。
需要有清零效果的看5楼贴
作者: 传说中的新人    时间: 2009-8-6 09:26
这个脚本用过了,还不错,但是只显示了变量,那个物品的图表只有1个,我如果想1个变量前面加1个图表,要在哪里改?自己改了没什么用
作者: 传说中的新人    时间: 2009-8-10 10:48
没有人回答吗?问题很多啊?比如我在商店买了10个苹果,变量上面显示10个,但是我吃了1个后,变量就显示0个了,反正好复杂,也不完美,还有其他在地图上显示变量的脚本推荐下吗?
作者: woodytt    时间: 2009-8-13 22:57
本帖最后由 woodytt 于 2009-8-13 23:02 编辑

其实加几个图标 改下坐标即可
  1. # 设置变量显示号
  2.   Vwod1 = 1
  3.   Vwod2 = 2
  4.   Vwod3 = 3
  5.   Vwod4 = 4
  6. # 设置临时存储变量显示号 (不得被其他事件占用)
  7.   Vwos1 = 5
  8.   Vwos2 = 6
  9.   Vwos3 = 7
  10.   Vwos4 = 8
  11.   # 设置图标显示号
  12.   $icon_index1 = 145  
  13.   $icon_index2 = 146  
  14.   $icon_index3 = 147  
  15.   $icon_index4 = 148  
  16. #------------------------------------------------------------------------

  17. # 新建窗口
  18. class Window_Variables < Window_Base
  19.   # 初始化
  20.   def initialize
  21.     # 创建大小
  22.     super(0,192,128,224)
  23.     # 获取图标编号
  24.     @icon = 0
  25.     $game_variables[Vwod1] = $game_variables[Vwos1]
  26.     $game_variables[Vwod2] = $game_variables[Vwos2]
  27.     $game_variables[Vwod3] = $game_variables[Vwos3]
  28.     $game_variables[Vwod4] = $game_variables[Vwos4]
  29.   # 刷新
  30.     refresh
  31.   # 初始化结束
  32.   end
  33.   # 刷新
  34.   def refresh
  35.     # 在图表与变量都有变化的情况下
  36.     if @icon != $icon_index  or $game_variables[Vwod1] != $game_variables[Vwos1]  or $game_variables[Vwod2] != $game_variables[Vwos2]  or $game_variables[Vwod3] != $game_variables[Vwos3]  or $game_variables[Vwod4] != $game_variables[Vwos4]  
  37.       self.contents.clear
  38.       # 描绘图表
  39.       draw_icon($icon_index1,10,0,true)
  40.       draw_icon($icon_index2,10,56,true)
  41.       draw_icon($icon_index3,10,112,true)
  42.       draw_icon($icon_index4,10,168,true)
  43.       # 描绘变量,偏右
  44.       self.contents.draw_text(32,0,64,24,"#{$game_variables[Vwod1]}  ".to_s,2)
  45.       self.contents.draw_text(32,56,64,24,"#{$game_variables[Vwod2]}  ".to_s,2)
  46.       self.contents.draw_text(32,112,64,24,"#{$game_variables[Vwod3]}  ".to_s,2)
  47.       self.contents.draw_text(32,168,64,24,"#{$game_variables[Vwod4]}  ".to_s,2)
  48.       
  49.       # 带入变量
  50.       @icon = $icon_index
  51.     # if 结束
  52.     end
  53.   # 刷新结束
  54.   end
  55. # class 结束
  56. end

  57. # 地图生成窗口
  58. class Scene_Map < Scene_Base
  59.   # 生成窗口
  60.   alias new_start start
  61.   def start
  62.     new_start
  63.     @varia_window = Window_Variables.new
  64.   end
  65.   # 刷新窗口
  66.   alias new_update update
  67.   def update
  68.     new_update
  69.     @varia_window.refresh
  70.   end
  71.   # 释放窗口
  72.   alias new_terminate terminate
  73.   def terminate
  74.     @varia_window.dispose
  75.     new_terminate
  76.   end
  77. # class 结束
  78. end
复制代码





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