设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1804|回复: 3
打印 上一主题 下一主题

[已经过期] 关于随即物品显示!

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
28 小时
注册时间
2010-6-29
帖子
12
跳转到指定楼层
1
发表于 2015-11-18 11:39:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
脚本:i = rand(77)
        p = rand(9)
        $game_party.gain_item($data_items[i], p)
是随即物品的~有办法显示获得物品么?
自动得失脚本不显示!

Lv4.逐梦者 (版主)

聪仔

梦石
0
星屑
6187
在线时间
3077 小时
注册时间
2013-12-26
帖子
3145
2
发表于 2015-11-18 12:11:04 | 只看该作者
你需要提供得失脚本咿咿咿...
聪聪全国第三帅...
他们都叫我【人赢聪】
我的RM能力雷达图:

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
28 小时
注册时间
2010-6-29
帖子
12
3
 楼主| 发表于 2015-11-18 13:21:33 | 只看该作者
#==============================================================================
# ☆ 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
      show_tips_window(3, value)
    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
      Graphics.update
    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
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21686
在线时间
9420 小时
注册时间
2012-6-19
帖子
7119

开拓者短篇九导演组冠军

4
发表于 2015-11-18 13:25:01 | 只看该作者
  1. i = rand(77)
  2. p = rand(9)
  3. $game_party.gain_item($data_items[i], p)
  4. @params[0] = i
  5. show_tips_window(1, p)
复制代码

评分

参与人数 1星屑 +100 收起 理由
丿梁丶小柒 + 100 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-25 16:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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