查看: 4329|回复: 5

[RMVA发布] RMVA简易物品得失提示脚本

[复制链接]
梦石
0
星屑
50
在线时间
19 小时
注册时间
2014-6-27
回帖
6
发表于 2014-9-23 13:40:04 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 寒夜无冬 于 2014-9-23 15:04 编辑

鄙人之前得到了喵呜喵等人帮助,学习了得失脚本的内容https://rpg.blue/thread-368302-1-1.html
这次发布的是简易的版本,少了很多功能,只是为方便他人理解。。(一直用其他语言写的,脚本里面可以看出我用的就那几个通用函数),新人脚本,多多包涵哈

[box=Silver][pre lang="ruby" line="1"]
=begin
===============================================================================
                            RMVA物品增减提示脚本
===============================================================================
作者:火柴(寒夜无冬)
日期:2014.9.20
授权使用:66rpg、澄海制作组、RM亲友团全体成员
授权声明:本脚本供各位学习和制作方便之用,请勿用于商业和其他任何营利性用途!如有任
何疏漏和错误,欢迎修改。转载使用和修改请保留本段所有注释信息。
特别感谢:皓·宇(庆.new)、喵呜喵5
===============================================================================
=end
#===============CONFIG==========================================================
IF_SHOW_GOLDMESSAGE=true    #是否开启金钱获得提示
IF_SHOW_ITEMMESSAGE=true    #是否开启物品获得提示
IF_SHOW_WEAPONSMESSAGE=true #是否开启武器获得提示
IF_SHOW_ARMORMESSAGE=true   #是否开启护甲获得提示
DURATION_TIME=100           #提示框停留时间
#==============================================================================

class Game_Interpreter
  def command_125 #金钱增减
    #@params[0] #增加或减少
    #@params[1]
    #@params[2] #金钱数量
    value = operate_value(@params[0], @params[1], @params[2])
    #显示最终金钱加减数额
    if IF_SHOW_GOLDMESSAGE==true
     showMessage("gold",@params[1])
    end
    $game_party.gain_gold(value)
  end
  def command_126 #金钱增减
    #@params[1] #增加或减少 0,1表示
    #@params[2] #物品索引,从0算起
    #@params[3] #物品数量
    value = operate_value(@params[1], @params[2], @params[3])
    $game_party.gain_item($data_items[@params[0]], value)
    if IF_SHOW_ITEMMESSAGE==true
     showMessage("item",@params[1])
    end
  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 IF_SHOW_WEAPONSMESSAGE==true
       showMessage("weapon",@params[1])
    end
  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 IF_SHOW_ARMORMESSAGE==true
      showMessage("armor",@params[1])
    end
  end
  def showMessage(type,regulation) #判断获取的是物品/武器/护甲,执行查询相应的数据库信息
    if type.eql?"item"
        @wm=Window_ThingsMessage.new($data_items[@params[0]].name,@params[3],regulation)
        for i in 0 .. DURATION_TIME
          Graphics.update
        end
        @wm.dispose
    elsif type.eql?"weapon"
        @wm=Window_ThingsMessage.new($data_weapons[@params[0]].name,@params[3],regulation)        
        for i in 0 .. DURATION_TIME         
          Graphics.update        
        end        
        @wm.dispose
    elsif type.eql?"gold"
        @wm=Window_ThingsMessage.new("gold",@params[2],@params[0])        
        for i in 0 .. DURATION_TIME         
          Graphics.update        
        end        
        @wm.dispose
    else
        @wm=Window_ThingsMessage.new($data_armors[@params[0]].name,@params[3],regulation)               
        for i in 0 .. DURATION_TIME                    
          Graphics.update               
        end               
        @wm.dispose
    end
   end
end
class Window_ThingsMessage < Window_Base
  @str=nil
  @window_width=nil
  @window_height=nil
  @str_width=nil
  @str_height=nil
  def initialize(itemName,itemNumber,regulation)
    #金钱处理
    if itemName.eql?"gold"
      if regulation==0
        @str="你得到了 金钱×#{itemNumber}"
      elsif regulation==1
        @str="你失去了 金钱×#{itemNumber}"
      end
    #武器/护甲/物品处理
    elsif regulation==0
     @str="你得到了 #{itemName}×#{itemNumber}"
    elsif regulation==1
     @str="你失去了 #{itemName}×#{itemNumber}"
    end
    get_window_size
    super(140,180,@window_width,@window_height)
    refresh
  end
  def refresh
    @str_width=text_size(@str).width
    @str_height=text_size(@str).height
    self.contents.clear
    self.contents.draw_text(0,0,@str_width,@str_height,@str,1)
  end
  def get_window_size
    bitmap=Bitmap.new(100,100)  
    @window_width=bitmap.text_size(@str).width+32
    @window_height=bitmap.text_size(@str).height+25
  end
end[/pre][/box]
梦石
0
星屑
488
在线时间
755 小时
注册时间
2014-9-7
回帖
11

开拓者

发表于 2014-9-23 14:36:00 | 显示全部楼层
等待120帧有点太久哦。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
19 小时
注册时间
2014-6-27
回帖
6
 楼主| 发表于 2014-9-23 14:54:51 | 显示全部楼层
本帖最后由 寒夜无冬 于 2014-9-23 15:02 编辑
VIPSaber 发表于 2014-9-23 14:36
等待120帧有点太久哦。


哈哈 VIP来啦,我等下回去修改{:2_262:}
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-9-23 16:43:04 来自手机 | 显示全部楼层
本帖最后由 taroxd 于 2014-9-23 16:44 编辑

我的群组(见签名档)里也有一个,比你这个还要简易得多。
回复

使用道具 举报

梦石
0
星屑
50
在线时间
19 小时
注册时间
2014-6-27
回帖
6
 楼主| 发表于 2014-9-23 21:29:30 | 显示全部楼层
taroxd 发表于 2014-9-23 16:43
我的群组(见签名档)里也有一个,比你这个还要简易得多。

果然大触是不一样 大触的很精简啊,我的是简陋orz
回复

使用道具 举报

梦石
0
星屑
1030
在线时间
12 小时
注册时间
2014-10-1
回帖
1
发表于 2014-10-2 06:33:22 | 显示全部楼层
感謝樓主~~下載了三個版本,只有樓主版本是我真正在遊戲中可以使用的@@@
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部