# ☆ HAR - 得失物品脚本 (v1.01a)
# 日期:2012/09/23
#==============================================================================
# -- 作者:Harinlen
# -- 等级:普通级
# -- 依赖关系:无
# -- 适用范围:RPG Maker VX Ace
# -- 不兼容脚本: 暂无
#==============================================================================
# ☆ 声明
# 此脚本参考了[PS0]双默认脚本的长度测量函数。
#==============================================================================
# ☆ 脚本使用说明
# 此脚本无需额外代码即可使用,使用事件调用增减金钱、增减武器、增减防具和增减物品的
# 时候会显示一个对话框显示得失物品情况。
#
# ☆ 脚本的启用
# 修改对应等号后面对应的数值为对应的开关序号,在事件中直接对开关进行判定即可:
#
# $window_tips_gold = 10#金钱窗口提示的开关
# $window_tips_item = 11#物品窗口提示的开关
# $window_tips_weapon = 12 #武器窗口提示的开关
# $window_tips_armor = 13 #防具窗口提示的开关
#
# ☆ 脚本的自定义
# 请修改下方的音效设定部分,将对应的音效更改成自己想要的音效即可。
# 音效名的获取请使用媒体库进行查看。只能使用SE中的音效。
#==============================================================================
#==============================================================================
# ■ 提示开关定义
#------------------------------------------------------------------------------
# 用于定义是否显示Window
#==============================================================================
$window_tips_gold = 10
$window_tips_item = 11
$window_tips_weapon = 12
$window_tips_armor = 13
#==============================================================================
# ■ 音效设定
#------------------------------------------------------------------------------
# 设定对应的音效播放效果
#==============================================================================
$SE_Gold_Gain = "Shop" # 获得金钱声效
$SE_Gold_Loss = "Blow2" # 失去金钱声效
$SE_Item_Gain = "Item1" # 获得物品声效
$SE_Item_Loss = "Blow2" # 失去物品声效
$SE_Weapon_Gain = "Item1" # 获得武器声效
$SE_Weapon_Loss = "Blow2" # 失去武器声效
$SE_Armor_Gain = "Item1" # 获得防具声效
$SE_Armor_Loss = "Blow2" # 失去防具声效
#==============================================================================
# ■ Window_Tips
#------------------------------------------------------------------------------
# 显示增减物品、金钱和装备的窗口
#==============================================================================
class Window_Tips <Window_Base
#--------------------------------------------------------------------------
# ● 初始化对象
#--------------------------------------------------------------------------
def initialize(x = 170, y = 128, width = 300, height = 96)
super
end
#--------------------------------------------------------------------------
# ● 增强绘制物品名称
#--------------------------------------------------------------------------
def adv_draw_item_name(item, x, y)
return unless item
draw_icon(item.icon_index, x, y, true)
change_color(normal_color, true)
draw_text(x + 24, y, width, line_height, item.name)
end
end
class Game_Interpreter
#--------------------------------------------------------------------------
# ● 增减金钱
#--------------------------------------------------------------------------
def command_125
value = operate_value(@params[0], @params[1], @params[2])
$game_party.gain_gold(value)
if $game_switches[$window_tips_gold] == true
show_tips_window(0, value)
end
return true
end
#--------------------------------------------------------------------------
# ● 增减物品
#--------------------------------------------------------------------------
def command_126
value = operate_value(@params[1], @params[2], @params[3])
$game_party.gain_item($data_items[@params[0]], value)
if $game_switches[$window_tips_item] == true
show_tips_window(1, value)
end
$game_map.need_refresh = true
return true
end
#--------------------------------------------------------------------------
# ● 增减武器
#--------------------------------------------------------------------------
def command_127
value = operate_value(@params[1], @params[2], @params[3])
$game_party.gain_item($data_weapons[@params[0]], value, @params[4])
if $game_switches[$window_tips_weapon] == true
show_tips_window(2, value)
end
return true
end
#--------------------------------------------------------------------------
# ● 增减防具
#--------------------------------------------------------------------------
def command_128
value = operate_value(@params[1], @params[2], @params[3])
$game_party.gain_item($data_armors[@params[0]], value, @params[4])
if $game_switches[$window_tips_armor] == true
end
return true
end
#--------------------------------------------------------------------------
# ● 显示增减提示窗口
#--------------------------------------------------------------------------
def show_tips_window(type, value)
case type
when 0
item_type = Vocab::currency_unit
if value >= 0
Audio.se_play("Audio/SE/" + $SE_Gold_Gain, 100, 100)
else
Audio.se_play("Audio/SE/" + "Item1", 100, 100)
end
when 1
item_type = Vocab::item
processed_items = $data_items[@params[0]]
if value >= 0
Audio.se_play("Audio/SE/" + $SE_Item_Gain, 100, 100)
else
Audio.se_play("Audio/SE/" + $SE_Item_Loss, 100, 100)
end
when 2
item_type = Vocab::weapon
processed_items = $data_weapons[@params[0]]
if value >= 0
Audio.se_play("Audio/SE/" + $SE_Weapon_Gain, 100, 100)
else
Audio.se_play("Audio/SE/" + $SE_Weapon_Loss, 100, 100)
end
when 3
item_type = Vocab::armor
processed_items = $data_armors[@params[0]]
if value >= 0
Audio.se_play("Audio/SE/" + $SE_Armor_Gain, 100, 100)
else
Audio.se_play("Audio/SE/" + $SE_Armor_Loss, 100, 100)
end
end
if value >= 0
tips_processed_text = "获得"
else
tips_processed_text = "失去"
end
if type != 0
text_value = "×" + value.abs.to_s
bitmap = Bitmap.new(100, 100)
itemwidth = bitmap.text_size(processed_items.name).width + 95
valuewidth = bitmap.text_size(text_value).width
itempop_window = Window_Tips.new((544 - itemwidth - valuewidth) / 2, 128, itemwidth + valuewidth, 88)
itempop_window.contents = Bitmap.new(itempop_window.width - 32, itempop_window.height - 32)
itempop_window.contents.draw_text(0, 0, 160, 32, tips_processed_text + item_type+":")
itempop_window.adv_draw_item_name(processed_items, 28, 32)
itempop_window.contents.draw_text(0, 30, itemwidth, 32, "×" + value.abs.to_s, 2)
else
text_value = value.abs.to_s + " " + Vocab::currency_unit
bitmap = Bitmap.new(100, 100)
textwidth = bitmap.text_size(text_value).width + 95
itempop_window = Window_Tips.new(170, 128, textwidth, 88)
itempop_window.contents = Bitmap.new(itempop_window.width - 32, itempop_window.height - 32)
itempop_window.contents.draw_text(0, 0, 160, 32, tips_processed_text + item_type+":")
itempop_window.contents.draw_text(32, 32, 240, 32, value.abs.to_s + " " + Vocab::currency_unit)
end
for i in 0..60
end
for i in 0..10
itempop_window.opacity -= 30
itempop_window.contents_opacity -= 30 =“微软雅黑”
Graphics.update
end
itempop_window.dispose
for i in 0..3
Graphics.update
end
end
end
这样应该行了,如果再不对我也没办法了
在菜单上点“事件编辑器”后,可以在地图上任何地方设置事件就是输入文字。
RPG Maker VX Ace(RMVA):
1、下载RPG Maker VX Ace并安装。需要注意的是,如果安装路径中有非英文字体,“范例地图”的功能将无法正常使用。所以,推荐将软件安装在全部是英文字体的路径下,如“"D:\software\RPG Maker VX Ace\RPGVXAce.exe"”
2、安装完成后,双击打开RPGVXAce.exe。
3、第一次进入RMVA,应该会d出一个要求新建项目的对话框。如果没有,可以单击左上角新建任务的图标,呼出新建项目的窗口。选好项目保存的位置,取一个自己想要的名字,就可以点确定了。
4、新建项目成功之后,RMVA就会生成一些默认数据。比如这占了大部分屏幕的蓝色画面,就是RMVA生成的默认地图。在左边的栏目中,可以看到这张默认地图的名字叫MP001。地图上有个小人的图标,这是默认的玩家起始位置。
5、如果你看到的画面跟上面略有不同,比如地图上没有格子,左边的栏目如下图一所示,不用担心。RMVA中有三种编辑模式,分别是地图、事件、区域编辑模式。在不同编辑模式下,地图和左栏目的显示会有所不同。可以用下图所示的三个按钮来切换编辑模式(可用键盘上的F5、F6、F 7键快速切换)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)