扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 111|回复: 0

[转载发布] 请问MV中如何实现得失物品提示?

[复制链接]
累计送礼:
0 个
累计收礼:
0 个
  • TA的每日心情
    开心
    2024-11-27 10:08
  • 签到天数: 108 天

    连续签到: 4 天

    [LV.6]常住居民II

    2219

    主题

    376

    回帖

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    6
    卡币
    9661
    OK点
    16
    推广点
    0
    同能卷
    0
    积分
    12284

    灌水之王

    发表于 2024-2-25 02:39:13 | 显示全部楼层 |阅读模式
    比如这样的,这个是VA的脚本,MV是否有类似的?
    1. #==============================================================================# 本腳本來自www.66RPG.com,使用和轉載請保留此信息#============================================================================== # 注意!!!在對話後得到物品,請在對話後先用事件等待3幀,否則對話框來不及消失。# 開關定義:$noshowgold = 41                        # 不显示金钱得失$noshowitem = 42                        # 不显示物品得失$noshowweapon = 43                      # 不显示武器得失$noshowarmor = 44                       # 不显示防具得失# 以上開關,當打開的時候,獲得物品將不會提示,比如默認打開41號開關,獲得金錢不再提示# 不想提示等级升降时,就在事件命令直接选择是否显示就行了。#——聲效,可以自己改folder = "Audio/SE/"$gain_gold_se   = folder +"Shop"      # 获得金钱声效$loss_gold_se   = folder +"Blow2"     # 失去金钱声效$gain_item_se   = folder +"Item1"     # 获得物品声效$loss_item_se   = folder +"Blow2"     # 失去物品声效$gain_weapon_se = folder +"Item1"     # 获得武器声效$loss_weapon_se = folder +"Blow2"     # 失去武器声效$gain_armor_se  = folder +"Item1"     # 获得防具声效$loss_armor_se  = folder +"Blow2"     # 失去防具声效$gain_lv_se     = folder +"Item1"     # 提升等级声效$loss_lv_se     = folder +"Blow2"     # 降低等级声效# ————————————————————————————————————class Game_Interpreter  #--------------------------------------------------------------------------  # ● 增減金錢  #--------------------------------------------------------------------------  def command_125    value = operate_value(@params[0], @params[1], @params[2])    $game_party.gain_gold(value)    if $game_switches[$noshowgold]==false      show_gain_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[$noshowitem]==false      show_gain_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[$noshowweapon]==false      show_gain_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[$noshowarmor]==false      show_gain_window(3, value)    end    return true  end  #--------------------------------------------------------------------------  # ● 等级増減  #--------------------------------------------------------------------------  def command_316    value = operate_value(@params[2], @params[3], @params[4])    iterate_actor_var(@params[0], @params[1]) do |actor|      actor.change_level(actor.level + value, @params[5])      if @params[4]        show_gain_level_window(actor,value)      end    end    return true  end    def show_gain_window(type, value)    snstar2006_66rpg_item = $data_armors[@params[0]]    snstar2006_66rpg = Window_Base.new((640-300)/2,128,200,100)    snstar2006_66rpg.contents = Bitmap.new(snstar2006_66rpg.width - 32, snstar2006_66rpg.height - 32)    if value >= 0      gain_text = "获得"        else      gain_text = "失去"    end        case type    when 0      gain_type = "金钱"      if value >=0        Audio.se_play($gain_gold_se,80,100)      else        Audio.se_play("Audio/SE/"+"Item1",80,100)      end    when 1      gain_type = "物品"      string = $data_items[@params[0]]      if value >=0        Audio.se_play($gain_item_se,80,100)      else        Audio.se_play($loss_item_se,80,100)      end    when 2      gain_type = "武器"      string = $data_weapons[@params[0]]      if value >=0        Audio.se_play($gain_weapon_se,80,100)      else        Audio.se_play($loss_weapon_se,80,100)      end    when 3      gain_type = "防具"      string = $data_armors[@params[0]]      if value >=0        Audio.se_play($gain_armor_se,80,100)      else        Audio.se_play($loss_armor_se,80,100)      end    end        snstar2006_66rpg.contents.draw_text(0,0,160,30,gain_text+gain_type+":")        unless type == 0      snstar2006_66rpg.draw_item_name(string, 0, 30, true)      snstar2006_66rpg.contents.draw_text(0, 30, 160, 30, "×"+value.abs.to_s, 2)    else      snstar2006_66rpg.contents.draw_text(0,30,165,30,value.abs.to_s + "  "+ Vocab.currency_unit, 2)    end        snstar2006_66rpg.opacity = 160        for i in 0..50      Graphics.update    end        for i in 0..10      snstar2006_66rpg.opacity -= 10      snstar2006_66rpg.contents_opacity -= 10      Graphics.update    end        snstar2006_66rpg.dispose      end  def show_gain_level_window(actor,value)    lvstring = Vocab::level            snstar2006_66rpg = Window_Base.new((640-300)/2,128,200,100)    snstar2006_66rpg.contents = Bitmap.new(snstar2006_66rpg.width - 30, snstar2006_66rpg.height - 30)        if value >= 0      gain_text = "提升"      Audio.se_play($gain_lv_se,80,100)    else      gain_text = "降低"      Audio.se_play($loss_lv_se,80,100)    end        snstar2006_66rpg.contents.draw_text(0, 0, 110, 30, actor.name)    string = lvstring+gain_text+value.abs.to_s+"级"    snstar2006_66rpg.contents.draw_text(0,30,160,30,string, 2)    snstar2006_66rpg.opacity = 160        for i in 0..50      Graphics.update    end        for i in 0..10      snstar2006_66rpg.opacity -= 10      snstar2006_66rpg.contents_opacity -= 10      Graphics.update    end        snstar2006_66rpg.dispose  endend#==============================================================================# 本腳本來自www.66RPG.com,使用和轉載請保留此信息#==============================================================================复制代码
    复制代码
                 本帖来自P1论坛作者ycz,因Project1站服务器在国外有时候访问缓慢不方便作者交流学习,经联系P1站长fux2同意署名转载一起分享游戏制作经验,共同为国内独立游戏作者共同创造良好交流环境,原文地址:https://rpg.blue/forum.php?mod=viewthread&tid=405763  若有侵权,发帖作者可联系底部站长QQ在线咨询功能删除,谢谢。
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2025-1-16 13:15 , Processed in 0.063875 second(s), 53 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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