Project1
标题:
[VA] 图标式描绘多货币 / 价格和敌人掉钱上限突破
[打印本页]
作者:
柍若
时间:
2014-2-8 16:35
标题:
[VA] 图标式描绘多货币 / 价格和敌人掉钱上限突破
本帖最后由 柍若 于 2014-2-8 22:30 编辑
unit.png
(37.32 KB, 下载次数: 27)
下载附件
保存到相册
2014-2-8 16: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请回馈,看到后会及时修改更正。
最后:新人求糖~
作者:
蓝儿
时间:
2014-2-9 16:41
很棒呢。。没糖了喔……
作者:
柍若
时间:
2014-2-22 10:51
我发什么脚本都没人……
求问改RPG::Enemy和Game_Enemy的def gold到底有啥区别,试了一下貌似是一样的啊…?_(:з」∠)_
作者:
ziemo375
时间:
2014-2-28 11:34
谢谢楼主分享.正需要这个呢
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1