rpg maker xp教程 装备问题

查看: 2424|回复: 4
RPG Maker XP 新·得失物品 脚本
阅读权限150
在线时间 小时
#==============================================================================
# 系统设置
#==============================================================================
$SUNNYBOY_GETITEM_控制显示得失物品的开关号 = 41
$SUNNYBOY_GETITEM_得到物品音 = &006-System06&
$SUNNYBOY_GETITEM_失去物品音 = &005-System05&
$SUNNYBOY_GETITEM_控制显示得失武器的开关号 = 42
$SUNNYBOY_GETITEM_得到武器音 = &006-System06&
$SUNNYBOY_GETITEM_失去武器音 = &005-System05&
$SUNNYBOY_GETITEM_控制显示得失防具的开关号 = 43
$SUNNYBOY_GETITEM_得到防具音 = &006-System06&
$SUNNYBOY_GETITEM_失去防具音 = &005-System05&
$SUNNYBOY_GETITEM_控制显示得失金钱的开关号 = 44
$SUNNYBOY_GETITEM_得到金钱音 = &006-System06&
$SUNNYBOY_GETITEM_失去金钱音 = &005-System05&
$SUNNYBOY_GETITEM_控制显示得失经验的开关号 = 45
$SUNNYBOY_GETITEM_得到经验音ME = &011-Item02&
$SUNNYBOY_GETITEM_失去经验音ME = &012-Gag01&
$SUNNYBOY_GETITEM_背景图片 = &GetItemBackground&
$SUNNYBOY_GETITEM_小块图片 = &GetItemBlock&
#==============================================================================
# 核心系统脚本
#==============================================================================
class Interpreter
&&def sunnyboy_getitem_switch?(id)
& & case id
& & when 1
& && &return $game_switches[$SUNNYBOY_GETITEM_控制显示得失物品的开关号]
& & when 2
& && &return $game_switches[$SUNNYBOY_GETITEM_控制显示得失武器的开关号]
& & when 3
& && &return $game_switches[$SUNNYBOY_GETITEM_控制显示得失防具的开关号]
& & when 4
& && &return $game_switches[$SUNNYBOY_GETITEM_控制显示得失金钱的开关号]
& & when 5
& && &return $game_switches[$SUNNYBOY_GETITEM_控制显示得失经验的开关号]
&&def sunnyboy_getitem_playsound(id)
& & case id
& & when 1
& && &Audio.se_play(&Audio/SE/& + $SUNNYBOY_GETITEM_得到物品音, 80)
& & when 2
& && &Audio.se_play(&Audio/SE/& + $SUNNYBOY_GETITEM_失去物品音, 80)
& & when 3
& && &Audio.se_play(&Audio/SE/& + $SUNNYBOY_GETITEM_得到武器音, 80)
& & when 4
& && &Audio.se_play(&Audio/SE/& + $SUNNYBOY_GETITEM_失去武器音, 80)
& & when 5
& && &Audio.se_play(&Audio/SE/& + $SUNNYBOY_GETITEM_得到防具音, 80)
& & when 6
& && &Audio.se_play(&Audio/SE/& + $SUNNYBOY_GETITEM_失去防具音, 80)
& & when 7
& && &Audio.se_play(&Audio/SE/& + $SUNNYBOY_GETITEM_得到金钱音, 80)
& & when 8
& && &Audio.se_play(&Audio/SE/& + $SUNNYBOY_GETITEM_失去金钱音, 80)
& & when 9
& && &Audio.me_play(&Audio/ME/& + $SUNNYBOY_GETITEM_得到经验音ME, 80)
& & when 10
& && &Audio.me_play(&Audio/ME/& + $SUNNYBOY_GETITEM_失去经验音ME, 80)
#==============================================================================
# 核心动画脚本
#==============================================================================
class Interpreter
&&def sunnyboy_getitem_ani_1
& & @sunnyboy_getitem_block = Sprite.new
& & @sunnyboy_getitem_block.bitmap = RPG::Cache.picture($SUNNYBOY_GETITEM_小块图片)
& & @sunnyboy_getitem_block.x = 640
& & @sunnyboy_getitem_block.y = 320
& & @sunnyboy_getitem_block.z = 9998
& & loop do
& && &# 刷新游戏画面
& && &Graphics.update
& && &# 刷新输入信息
& && &Input.update
& && &if @sunnyboy_getitem_block.x & 619 then
& && &&&for i in 1...5
& && && & @sunnyboy_getitem_block.x -= 1 if @sunnyboy_getitem_block.x & 619
& && &&&end
& && &else
& && &&&break
& & @sunnyboy_getitem_back = Sprite.new
& & @sunnyboy_getitem_back.bitmap = RPG::Cache.picture($SUNNYBOY_GETITEM_背景图片)
& & @sunnyboy_getitem_back.x = 619
& & @sunnyboy_getitem_back.y = 320
& & @sunnyboy_getitem_back.z = 9997
& & loop do
& && &# 刷新游戏画面
& && &Graphics.update
& && &# 刷新输入信息
& && &Input.update
& && &if @sunnyboy_getitem_back.x & 370 then
& && &&&for i in 1...10
& && && & @sunnyboy_getitem_back.x -= 1 if @sunnyboy_getitem_back.x & 370
& && &&&end
& && &else
& && &&&break
& & @sunnyboy_getitem_text = Sprite.new
& & @sunnyboy_getitem_text.opacity = 0
& & @sunnyboy_getitem_text.x = @sunnyboy_getitem_back.x
& & @sunnyboy_getitem_text.y = @sunnyboy_getitem_back.y
& & @sunnyboy_getitem_text.z = 9999
& & @sunnyboy_getitem_text.bitmap = Bitmap.new(249, 49)
& & @sunnyboy_getitem_text.bitmap.font.size = 16
& & return @sunnyboy_getitem_text.bitmap
&&def sunnyboy_getitem_ani_2
& & loop do
& && &# 刷新游戏画面
& && &Graphics.update
& && &# 刷新输入信息
& && &Input.update
& && &if @sunnyboy_getitem_text.opacity != 255 then
& && &&&@sunnyboy_getitem_text.opacity += 10
& && &else
& && &&&break
& & frame_count = 0
& & loop do
& && &# 刷新游戏画面
& && &Graphics.update
& && &# 刷新输入信息
& && &Input.update
& && &frame_count += 1
& && &break if frame_count == 40
& & loop do
& && &# 刷新游戏画面
& && &Graphics.update
& && &# 刷新输入信息
& && &Input.update
& && &if @sunnyboy_getitem_text.opacity != 0 then
& && &&&@sunnyboy_getitem_text.opacity -= 10
& && &else
& && &&&break
& & @sunnyboy_getitem_text.dispose
& & loop do
& && &# 刷新游戏画面
& && &Graphics.update
& && &# 刷新输入信息
& && &Input.update
& && &if @sunnyboy_getitem_back.x != 619 then
& && &&&for i in 1...10
& && && & @sunnyboy_getitem_back.x += 1 if @sunnyboy_getitem_back.x != 619
& && &&&end
& && &else
& && &&&break
& & @sunnyboy_getitem_back.dispose
& & loop do
& && &# 刷新游戏画面
& && &Graphics.update
& && &# 刷新输入信息
& && &Input.update
& && &if @sunnyboy_getitem_block.x != 640 then
& && &&&for i in 1...5
& && && & @sunnyboy_getitem_block.x += 1 if @sunnyboy_getitem_block.x != 640
& && &&&end
& && &else
& && &&&break
& & @sunnyboy_getitem_block.dispose
#==============================================================================
# 得失物品脚本
#==============================================================================
class Interpreter
&&def command_126
& & # 获取要操作的值
& & value = operate_value(@parameters[1], @parameters[2], @parameters[3])
& & # 增减物品
& & $game_party.gain_item(@parameters[0], value)
& & if !sunnyboy_getitem_switch?(1) then
& && &text = sunnyboy_getitem_ani_1
& && &item = $data_items[@parameters[0]]
& && &if value &= 1 then
& && &&&text.draw_text(6, 6, 237, 16, &得到物品:&)
& && &&&text.draw_text(34, 22, 209, 24, &× & + value.to_s, 2)
& && &&&sunnyboy_getitem_playsound(1)
& && &else
& && &&&text.draw_text(6, 6, 237, 16, &失去物品:&)
& && &&&text.draw_text(34, 22, 209, 24, &× & + (0 - value).to_s, 2)
& && &&&sunnyboy_getitem_playsound(2)
& && &bitmap = RPG::Cache.icon(item.icon_name)
& && &text.blt(6, 22, bitmap, Rect.new(0, 0, 24, 24))
& && &text.draw_text(34, 22, 209, 24, item.name)
& && &sunnyboy_getitem_ani_2
& & # 继续
& & return true
#==============================================================================
# 得失武器脚本
#==============================================================================
class Interpreter
&&def command_127
& & # 获取要操作的值
& & value = operate_value(@parameters[1], @parameters[2], @parameters[3])
& & # 增减武器
& & $game_party.gain_weapon(@parameters[0], value)
& & if !sunnyboy_getitem_switch?(2) then
& && &text = sunnyboy_getitem_ani_1
& && &item = $data_weapons[@parameters[0]]
& && &if value &= 1 then
& && &&&text.draw_text(6, 6, 237, 16, &得到武器:&)
& && &&&text.draw_text(34, 22, 209, 24, &× & + value.to_s, 2)
& && &&&sunnyboy_getitem_playsound(3)
& && &else
& && &&&text.draw_text(6, 6, 237, 16, &失去武器:&)
& && &&&text.draw_text(34, 22, 209, 24, &× & + (0 - value).to_s, 2)
& && &&&sunnyboy_getitem_playsound(4)
& && &bitmap = RPG::Cache.icon(item.icon_name)
& && &text.blt(6, 22, bitmap, Rect.new(0, 0, 24, 24))
& && &text.draw_text(34, 22, 209, 24, item.name)
& && &sunnyboy_getitem_ani_2
& & # 继续
& & return true
#==============================================================================
# 得失防具脚本
#==============================================================================
class Interpreter
&&def command_128
& & # 获取要操作的值
& & value = operate_value(@parameters[1], @parameters[2], @parameters[3])
& & # 增减防具
& & $game_party.gain_armor(@parameters[0], value)
& & if !sunnyboy_getitem_switch?(3) then
& && &text = sunnyboy_getitem_ani_1
& && &item = $data_armors[@parameters[0]]
& && &if value &= 1 then
& && &&&text.draw_text(6, 6, 237, 16, &得到防具:&)
& && &&&text.draw_text(34, 22, 209, 24, &× & + value.to_s, 2)
& && &&&sunnyboy_getitem_playsound(5)
& && &else
& && &&&text.draw_text(6, 6, 237, 16, &失去防具:&)
& && &&&text.draw_text(34, 22, 209, 24, &× & + (0 - value).to_s, 2)
& && &&&sunnyboy_getitem_playsound(6)
& && &bitmap = RPG::Cache.icon(item.icon_name)
& && &text.blt(6, 22, bitmap, Rect.new(0, 0, 24, 24))
& && &text.draw_text(34, 22, 209, 24, item.name)
& && &sunnyboy_getitem_ani_2
& & # 继续
& & return true
#==============================================================================
# 得失金钱脚本
#==============================================================================
class Interpreter
&&def command_125
& & # 获取要操作的值
& & value = operate_value(@parameters[0], @parameters[1], @parameters[2])
& & # 增减金钱
& & $game_party.gain_gold(value)
& & if !sunnyboy_getitem_switch?(4) then
& && &text = sunnyboy_getitem_ani_1
& && &if value &= 1 then
& && &&&text.draw_text(6, 6, 237, 16, &得到金钱:&)
& && &&&text.draw_text(6, 22, 237, 24, value.to_s)
& && &&&sunnyboy_getitem_playsound(7)
& && &else
& && &&&text.draw_text(6, 6, 237, 16, &失去金钱:&)
& && &&&text.draw_text(6, 22, 237, 24, (0 - value).to_s)
& && &&&sunnyboy_getitem_playsound(8)
& && &text.draw_text(6, 22, 237, 24, $data_system.words.gold, 2)
& && &sunnyboy_getitem_ani_2
& & # 继续
& & return true
#==============================================================================
# 得失经验脚本
#==============================================================================
class Interpreter
&&def command_315
& & # 获取操作值
& & value = operate_value(@parameters[1], @parameters[2], @parameters[3])
& & # 处理重复
& & iterate_actor(@parameters[0]) do |actor|
& && &# 更改角色 EXP
& && &actor.exp += value
& & if !sunnyboy_getitem_switch?(5) then
& && &text = sunnyboy_getitem_ani_1
& && &draw_char = false
& && &if @parameters[0]==0
& && &&&name_tt = &全体队员&
& && &else
& && &&&actor = $data_actors[@parameters[0]]
& && &&&name_tt = actor.name
& && &&&draw_char = true
& && &&&bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
& && &&&src_rect = Rect.new(0, 0, bitmap.width / 4,32)
& && &&&text.blt(6, 6, bitmap, src_rect)
& && &if value &= 1 then
& && &&&draw_s = name_tt + &得到经验:&
& && &&&draw_e = value.to_s
& && &&&sunnyboy_getitem_playsound(9)
& && &else
& && &&&draw_s = name_tt + &失去经验:&
& && &&&draw_e = (0 - value).to_s
& && &&&sunnyboy_getitem_playsound(10)
& && &if draw_char
& && &&&text.draw_text(6 + (bitmap.width / 4) + 4, 6, 237 - (bitmap.width / 4) - 4, 16, draw_s)
& && &&&text.draw_text(6 + (bitmap.width / 4) + 4, 22, 237 - (bitmap.width / 4) - 4, 24, draw_e)
& && &else
& && &&&text.draw_text(6, 6, 237, 16, draw_s)
& && &&&text.draw_text(6, 22, 237, 24, draw_e)
& && &text.draw_text(6, 22, 237, 24, &点经验&, 2)
& && &sunnyboy_getitem_ani_2
& & # 继续
& & return true
本帖子中包含更多资源
才可以下载或查看,没有帐号?
阅读权限99
在线时间 小时
还是有很多存货啊&&
在线时间 小时
通通交出来
阅读权限150
在线时间 小时
我这台电脑上就这3个脚本了。。
不过我刚刚看了那台电脑~~
发现那台电脑上面还有一点~~
阅读权限20
在线时间 小时
出错了&&提示$SUNNYBOY_GETITEM_得到物品音 = &006-System06&
这个出错,怎么回事
Powered by

参考资料

 

随机推荐