赞 | 0 |
VIP | 0 |
好人卡 | 1 |
积分 | 1 |
经验 | 19460 |
最后登录 | 2018-3-15 |
在线时间 | 362 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 80
- 在线时间
- 362 小时
- 注册时间
- 2013-12-8
- 帖子
- 427
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 柍若 于 2014-2-8 22:30 编辑
因为多货币,所以商店窗口可能位置不够。稍微改了一下,确认键之后选择购买个数的地方会显示物品价格。
同时金钱窗口会宽一些,用系统默认的菜单的话可能被角色窗口覆盖。调整坐标即可。
货币图标、货币数目、货币进制支持自定义。
- # ■ 伪·多货币系统Ver 1.0 - By 柍若
- #-------------------------------------------------------------
- class Window_Base < Window
- # 请在此处设置参数
-
- UNIT_NUMBER = 3 # 货币数目
- UNIT_RATE = 100 # 单位进制
- UNIT_ICON = [343,347,344] # 货币图标(单位从小到大)
-
- # 要突破物品最大价格,在备注里写"<价格 n>" 不能省去空格
- # 突破敌人最大掉落金钱,在备注里写"<金钱 n>" 不能省去空格
-
- # 事件获取金钱直接用变量就可以了。
- # 好像持有的金钱最大是八位数。
- def draw_currency_value(value, unit = "这个值没什么必要,保留是为了兼容原系统", x, y, width)
- a = unit_conversion(value,UNIT_RATE,UNIT_NUMBER)
- cx = [20,48]
- change_color(normal_color)
- for i in 0..UNIT_NUMBER-1
- k = 24 if i == UNIT_NUMBER-1
- draw_text(x-k.to_i, y+2, width-cx[0]-cx[1]*i+k.to_i, line_height, a[i].to_s, 2)
- draw_icon(UNIT_ICON[i].to_i,x+width-cx[0]-cx[1]*i-2,y)
- end
- end
- def unit_conversion(number, unit, unit_number)
- times = 1
- unit_number -= 1
- b = []
- d = []
- for i in 0..unit_number
- if i != unit_number
- b[i] = number/times % unit
- else
- b[i] = number/times
- end
- times *= unit
- end
- return b
- end
- end
- class RPG::BaseItem
- def price
- if @note.split(/<价格 /)[1]
- a = @note.split(/<价格 /)[1]
- a = a.split(/>/)[0]
- return a.to_i
- else
- return @price
- end
- end
- end
- class RPG::EquipItem < RPG::BaseItem
- def price
- if @note.split(/<价格 /)[1]
- a = @note.split(/<价格 /)[1]
- a = a.split(/>/)[0]
- return a.to_i
- else
- return @price
- end
- end
- end
- class RPG::Enemy
- def gold
- if @note.split(/<金钱 /)[1]
- a = @note.split(/<金钱 /)[1]
- a = a.split(/>/)[0]
- return a.to_i
- else
- return @gold
- end
- end
- end
- class Window_ShopBuy < Window_Selectable
- def draw_item(index)
- item = @data[index]
- rect = item_rect(index)
- draw_item_name(item, rect.x, rect.y, enable?(item))
- rect.width -= 4
- change_color(system_color)
- draw_text(rect.x,rect.y,rect.width,rect.height, "#{Vocab::Possession} ",2)
- change_color(normal_color)
- draw_text(rect.x,rect.y,rect.width,rect.height, $game_party.item_number(item).to_s, 2)
- end
- end
- class Window_Gold < Window_Base
- def window_width
- return 52+48*UNIT_NUMBER
- end
- end
- class Window_ShopStatus < Window_Base
- def draw_possession(x, y)
- end
- end
复制代码 有BUG请回馈,看到后会及时修改更正。
最后:新人求糖~ |
评分
-
查看全部评分
|