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

Project1

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

[RMVA发布] [VA] 图标式描绘多货币 / 价格和敌人掉钱上限突破

[复制链接]

Lv1.梦旅人

梦石
0
星屑
80
在线时间
362 小时
注册时间
2013-12-8
帖子
427
跳转到指定楼层
1
发表于 2014-2-8 16:35:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 柍若 于 2014-2-8 22:30 编辑



因为多货币,所以商店窗口可能位置不够。稍微改了一下,确认键之后选择购买个数的地方会显示物品价格。
同时金钱窗口会宽一些,用系统默认的菜单的话可能被角色窗口覆盖。调整坐标即可。

货币图标、货币数目、货币进制支持自定义。

  1. # ■ 伪·多货币系统Ver 1.0 - By 柍若
  2. #-------------------------------------------------------------
  3. class Window_Base < Window

  4. # 请在此处设置参数
  5.   
  6. UNIT_NUMBER = 3           # 货币数目
  7.   UNIT_RATE = 100           # 单位进制
  8.   UNIT_ICON = [343,347,344] # 货币图标(单位从小到大)
  9.   
  10.   # 要突破物品最大价格,在备注里写"<价格 n>" 不能省去空格
  11.   # 突破敌人最大掉落金钱,在备注里写"<金钱 n>" 不能省去空格
  12.   
  13.   # 事件获取金钱直接用变量就可以了。
  14.   # 好像持有的金钱最大是八位数。

  15.   def draw_currency_value(value, unit = "这个值没什么必要,保留是为了兼容原系统", x, y, width)
  16.     a = unit_conversion(value,UNIT_RATE,UNIT_NUMBER)
  17.     cx = [20,48]
  18.     change_color(normal_color)
  19.     for i in 0..UNIT_NUMBER-1
  20.       k = 24 if i == UNIT_NUMBER-1
  21.       draw_text(x-k.to_i, y+2, width-cx[0]-cx[1]*i+k.to_i, line_height, a[i].to_s, 2)
  22.       draw_icon(UNIT_ICON[i].to_i,x+width-cx[0]-cx[1]*i-2,y)
  23.     end
  24.   end
  25.   def unit_conversion(number, unit, unit_number)
  26.     times = 1
  27.     unit_number -= 1
  28.     b = []
  29.     d = []
  30.     for i in 0..unit_number
  31.       if i != unit_number
  32.         b[i] = number/times % unit
  33.       else
  34.         b[i] = number/times
  35.       end
  36.       times *= unit
  37.     end
  38.     return b
  39.   end
  40. end  
  41. class RPG::BaseItem
  42.   def price
  43.     if @note.split(/<价格 /)[1]
  44.       a = @note.split(/<价格 /)[1]
  45.       a = a.split(/>/)[0]
  46.       return a.to_i
  47.     else
  48.       return @price
  49.     end
  50.   end
  51. end
  52. class RPG::EquipItem < RPG::BaseItem
  53.   def price
  54.     if @note.split(/<价格 /)[1]
  55.       a = @note.split(/<价格 /)[1]
  56.       a = a.split(/>/)[0]
  57.       return a.to_i
  58.     else
  59.       return @price
  60.     end
  61.   end
  62. end
  63. class RPG::Enemy
  64.   def gold
  65.     if @note.split(/<金钱 /)[1]
  66.       a = @note.split(/<金钱 /)[1]
  67.       a = a.split(/>/)[0]
  68.       return a.to_i
  69.     else
  70.       return @gold
  71.     end
  72.   end
  73. end
  74. class Window_ShopBuy < Window_Selectable
  75.   def draw_item(index)
  76.     item = @data[index]
  77.     rect = item_rect(index)
  78.     draw_item_name(item, rect.x, rect.y, enable?(item))
  79.     rect.width -= 4
  80.     change_color(system_color)
  81.     draw_text(rect.x,rect.y,rect.width,rect.height, "#{Vocab::Possession} ",2)
  82.     change_color(normal_color)
  83.     draw_text(rect.x,rect.y,rect.width,rect.height, $game_party.item_number(item).to_s, 2)
  84.   end
  85. end  
  86. class Window_Gold < Window_Base
  87.   def window_width
  88.     return 52+48*UNIT_NUMBER
  89.   end
  90. end
  91. class Window_ShopStatus < Window_Base
  92.   def draw_possession(x, y)
  93.   end
  94. end
复制代码
有BUG请回馈,看到后会及时修改更正。
最后:新人求糖~  

评分

参与人数 2星屑 +10 收起 理由
3106345123 + 9 塞糖
david_ng223 + 1 很孤寒的糖

查看全部评分

柍念作yang三声。

龙→

Lv2.观梦者

bluer
公主殿下

梦石
0
星屑
283
在线时间
533 小时
注册时间
2013-10-19
帖子
2067
2
发表于 2014-2-9 16:41:29 | 只看该作者
很棒呢。。没糖了喔……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
362 小时
注册时间
2013-12-8
帖子
427
3
 楼主| 发表于 2014-2-22 10:51:07 | 只看该作者
我发什么脚本都没人……
求问改RPG::Enemy和Game_Enemy的def gold到底有啥区别,试了一下貌似是一样的啊…?_(:з」∠)_
柍念作yang三声。

龙→
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
132 小时
注册时间
2010-10-22
帖子
36
4
发表于 2014-2-28 11:34:14 | 只看该作者
谢谢楼主分享.正需要这个呢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-28 22:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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