Project1

标题: 物品限制和物品自动提示冲突 [打印本页]

作者: XVI    时间: 2015-2-16 17:33
标题: 物品限制和物品自动提示冲突
RT,哪个放前面哪个没用。搜到以前有过个一模一样的帖子,可楼主自己解决了,还不说他是如何解决的。


RUBY 代码复制
  1. #==============================================================================
  2. # 背包可容纳最大的物品种类数。(包括物品,武器,防具)
  3. ITEMS_MAX = 30
  4. # 背包满后,如果再增加物品所提示的信息。
  5. TOP_MESSAGE = "背包已满!"
  6. #==============================================================================
  7. class Game_Party
  8.   #--------------------------------------------------------------------
  9.   def full_judge?(id, n, type)
  10.     mn = 0
  11.     @items.keys.each{|i| mn += 1 if item_number(i) > 0}
  12.     @weapons.keys.each{|i| mn += 1 if weapon_number(i) > 0}
  13.     @armors.keys.each{|i| mn += 1 if armor_number(i) > 0}
  14.     return false if mn < ITEMS_MAX
  15.     case type
  16.     when 0
  17.       if @items.keys.include?(id) and item_number(id) > 0
  18.         return false if item_number(id) + n <= 30
  19.       end
  20.     when 1
  21.       if @weapons.keys.include?(id) and weapon_number(id) > 0
  22.         return false if weapon_number(id) + n <= 30
  23.       end
  24.     when 2
  25.       if @armors.keys.include?(id) and armor_number(id) > 0
  26.         return false if armor_number(id) + n <= 30
  27.       end
  28.     end
  29.     return true
  30.   end
  31.   #---------------------------------------------------------------------
  32.   def full_top
  33.     $game_system.se_play($data_system.buzzer_se)
  34.     top = Window_Base.new(200, 100, 240, 64)
  35.     top.z = 999
  36.     top.contents = Bitmap.new(top.width - 32, top.height - 32)
  37.     top.contents.draw_text(0, 0, 200, 32, TOP_MESSAGE, 1)
  38.     for i in 1..30
  39.       Graphics.update
  40.     end
  41.     for i in 1..20
  42.       top.opacity -= 13
  43.       top.contents_opacity -= 13
  44.       Graphics.update
  45.     end
  46.     top.dispose
  47.     $judges=true
  48.   end
  49.   #--------------------------------------------------------------------------
  50.   def gain_item(item_id, n)
  51.     # 更新 hash 的个数数据
  52.     if item_id > 0
  53.       if n > 0 and full_judge?(item_id, n, 0)
  54.         full_top
  55.         return
  56.       end
  57.       @items[item_id] = [[item_number(item_id) + n, 0].max, 30].min
  58.     end
  59.   end
  60.   #--------------------------------------------------------------------------
  61.   # ● 增加武器 (减少)
  62.   #     weapon_id : 武器 ID
  63.   #     n         : 个数
  64.   #--------------------------------------------------------------------------
  65.   def gain_weapon(weapon_id, n)
  66.     # 更新 hash 的个数数据
  67.     if weapon_id > 0
  68.       if n > 0 and full_judge?(weapon_id, n, 1)
  69.         full_top
  70.         return
  71.       end
  72.       @weapons[weapon_id] = [[weapon_number(weapon_id) + n, 0].max, 30].min
  73.     end
  74.   end
  75.   #--------------------------------------------------------------------------
  76.   # ● 增加防具 (减少)
  77.   #     armor_id : 防具 ID
  78.   #     n        : 个数
  79.   #--------------------------------------------------------------------------
  80.   def gain_armor(armor_id, n)
  81.     # 更新 hash 的个数数据
  82.     if armor_id > 0
  83.       if n > 0 and full_judge?(armor_id, n, 2)
  84.         full_top
  85.         return
  86.       end
  87.       @armors[armor_id] = [[armor_number(armor_id) + n, 0].max, 30].min
  88.     end
  89.   end
  90. end
  91. #----------------------------------------------------------------------------
  92. class Scene_Shop
  93.   #--------------------------------------------------------------------------
  94.   # ● 刷新画面 (个数输入窗口激活的情况下)
  95.   #--------------------------------------------------------------------------
  96.   def update_number
  97.     # 按下 B 键的情况下
  98.     if Input.trigger?(Input::B)
  99.       # 演奏取消 SE
  100.       $game_system.se_play($data_system.cancel_se)
  101.       # 设置个数输入窗口为不活动·非可视状态
  102.       @number_window.active = false
  103.       @number_window.visible = false
  104.       # 命令窗口光标位置分支
  105.       case @command_window.index
  106.       when 0  # 购买
  107.         # 窗口状态转向购买模式
  108.         @buy_window.active = true
  109.         @buy_window.visible = true
  110.       when 1  # 卖出
  111.         # 窗口状态转向卖出模式
  112.         @sell_window.active = true
  113.         @sell_window.visible = true
  114.         @status_window.visible = false
  115.       end
  116.       return
  117.     end
  118.     # 按下 C 键的情况下
  119.     if Input.trigger?(Input::C)
  120.       # 设置个数输入窗口为不活动·非可视状态
  121.       @number_window.active = false
  122.       @number_window.visible = false
  123.       # 命令窗口光标位置分支
  124.       case @command_window.index
  125.       when 0  # 购买
  126.         type = @item.is_a?(RPG::Item) ? 0 : (@item.is_a?(RPG::Weapon) ? 1 : 2)
  127.         if $game_party.full_judge?(@item.id, @number_window.number, type)
  128.           $game_party.full_top
  129.           @buy_window.active = true
  130.           @buy_window.visible = true
  131.           return
  132.         end
  133.         # 演奏商店 SE
  134.         $game_system.se_play($data_system.shop_se)
  135.         # 购买处理
  136.         case @item
  137.         when RPG::Item
  138.           $game_party.gain_item(@item.id, @number_window.number)
  139.         when RPG::Weapon
  140.           $game_party.gain_weapon(@item.id, @number_window.number)
  141.         when RPG::Armor
  142.           $game_party.gain_armor(@item.id, @number_window.number)
  143.         end
  144.         $game_party.lose_gold(@number_window.number * @item.price)
  145.         # 刷新各窗口
  146.         @gold_window.refresh
  147.         @buy_window.refresh
  148.         @status_window.refresh
  149.         # 窗口状态转向购买模式
  150.         @buy_window.active = true
  151.         @buy_window.visible = true
  152.       when 1  # 卖出
  153.         # 演奏商店 SE
  154.         $game_system.se_play($data_system.shop_se)
  155.         # 卖出处理
  156.         $game_party.gain_gold(@number_window.number * (@item.price / 2))
  157.         case @item
  158.         when RPG::Item
  159.           $game_party.lose_item(@item.id, @number_window.number)
  160.         when RPG::Weapon
  161.           $game_party.lose_weapon(@item.id, @number_window.number)
  162.         when RPG::Armor
  163.           $game_party.lose_armor(@item.id, @number_window.number)
  164.         end
  165.         # 刷新各窗口
  166.         @gold_window.refresh
  167.         @sell_window.refresh
  168.         @status_window.refresh
  169.         # 窗口状态转向卖出模式
  170.         @sell_window.active = true
  171.         @sell_window.visible = true
  172.         @status_window.visible = false
  173.       end
  174.       return
  175.     end
  176.   end
  177. end
  178. #==============================================================================





RUBY 代码复制
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================
  4.  
  5. # 注意!!!在对话后得到物品,请在对话后先用事件等待3帧,否则对话框来不及消失。
  6.  
  7. # 开关定义:
  8.  
  9. $不显示金钱窗口 = 41
  10.  
  11. $不显示物品窗口 = 42
  12.  
  13. $不显示武器窗口 = 43
  14.  
  15. $不显示防具窗口 = 44
  16.  
  17. # 以上开关,当打开的时候,获得物品将不会提示,比如默认打开41号开关,获得金钱不再提示
  18.  
  19. # ————————————————————————————————————
  20.  
  21. class Interpreter  
  22.   #--------------------------------------------------------------------------
  23.   # ● 增减金钱
  24.   #--------------------------------------------------------------------------
  25.   def command_125
  26.     value = operate_value(@parameters[0], @parameters[1], @parameters[2])
  27.     $game_party.gain_gold(value)
  28.     if $game_switches[$不显示金钱窗口]==false
  29.       carol3_66RPG = Window_Base.new((640-160)/2,128,180,100)
  30.       carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
  31.       if value >= 0
  32.         carol3_66RPG.contents.draw_text(0,0,240,32,"获得金钱:")
  33.         #——声效,可以自己改
  34.         Audio.se_play("Audio/SE/"+"006-System06",80,100)
  35.       else
  36.         carol3_66RPG.contents.draw_text(0,0,240,32,"支付金钱:")
  37.         #——声效,可以自己改
  38.         Audio.se_play("Audio/SE/"+"005-System05",80,100)
  39.       end   
  40.       carol3_66RPG.contents.draw_text(0,32,240,32,value.abs.to_s)
  41.       carol3_66RPG.contents.draw_text(0,32,140,32, $data_system.words.gold,2)
  42.       carol3_66RPG.opacity = 160
  43.       for i in 0..30
  44.         Graphics.update
  45.       end
  46.       for i in 0..10
  47.         carol3_66RPG.opacity -= 30
  48.         carol3_66RPG.contents_opacity -= 30
  49.         Graphics.update
  50.       end
  51.       carol3_66RPG.dispose
  52.     end
  53.     return true
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ● 增减物品
  57.   #--------------------------------------------------------------------------
  58.   def command_126
  59.     value = operate_value(@parameters[1], @parameters[2], @parameters[3])
  60.     $game_party.gain_item(@parameters[0], value)
  61.     if $game_switches[$不显示物品窗口]==false
  62.       carol3_66RPG_item = $data_items[@parameters[0]]
  63.       carol3_66RPG = Window_Base.new((640-300)/2,128,300,100)
  64.       carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
  65.       if value >= 0
  66.         carol3_66RPG.contents.draw_text(0,0,240,32,"获得物品:")   
  67.         #——声效,可以自己改
  68.         Audio.se_play("Audio/SE/"+"006-System06",80,100)
  69.       else
  70.         carol3_66RPG.contents.draw_text(0,0,240,32,"失去物品:")   
  71.         #——声效,可以自己改
  72.         Audio.se_play("Audio/SE/"+"005-System05",80,100)
  73.       end
  74.       carol3_66RPG_bitmap = RPG::Cache.icon(carol3_66RPG_item.icon_name)
  75.       carol3_66RPG.contents.blt(0, 32, carol3_66RPG_bitmap, Rect.new(0, 0, 24, 24), 255)
  76.       carol3_66RPG.contents.draw_text(0 + 28, 32, 212, 32, carol3_66RPG_item.name, 0)
  77.       carol3_66RPG.contents.draw_text(0, 32, 268, 32, "×"+value.abs.to_s, 2)
  78.       carol3_66RPG.opacity = 160
  79.       for i in 0..30
  80.         Graphics.update
  81.       end
  82.       for i in 0..10
  83.         carol3_66RPG.opacity -= 30
  84.         carol3_66RPG.contents_opacity -= 30
  85.         Graphics.update
  86.       end
  87.       carol3_66RPG.dispose
  88.     end
  89.     return true
  90.   end
  91.   #--------------------------------------------------------------------------
  92.   # ● 增减武器
  93.   #--------------------------------------------------------------------------
  94.   def command_127
  95.     value = operate_value(@parameters[1], @parameters[2], @parameters[3])
  96.     $game_party.gain_weapon(@parameters[0], value)
  97.     if $game_switches[$不显示武器窗口]==false
  98.       carol3_66RPG_item = $data_weapons[@parameters[0]]
  99.       carol3_66RPG = Window_Base.new((640-300)/2,128,300,100)
  100.       carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
  101.       if value >= 0
  102.         carol3_66RPG.contents.draw_text(0,0,240,32,"获得武器:")   
  103.         #——声效,可以自己改
  104.         Audio.se_play("Audio/SE/"+"006-System06",80,100)
  105.       else
  106.         carol3_66RPG.contents.draw_text(0,0,240,32,"失去武器:")   
  107.         #——声效,可以自己改
  108.         Audio.se_play("Audio/SE/"+"005-System05",80,100)
  109.       end
  110.       carol3_66RPG_bitmap = RPG::Cache.icon(carol3_66RPG_item.icon_name)
  111.       carol3_66RPG.contents.blt(0, 32, carol3_66RPG_bitmap, Rect.new(0, 0, 24, 24), 255)
  112.       carol3_66RPG.contents.draw_text(0 + 28, 32, 212, 32, carol3_66RPG_item.name, 0)
  113.       carol3_66RPG.contents.draw_text(0, 32, 268, 32, "×"+value.abs.to_s, 2)
  114.       carol3_66RPG.opacity = 160
  115.       for i in 0..30
  116.         Graphics.update
  117.       end
  118.       for i in 0..10
  119.         carol3_66RPG.opacity -= 30
  120.         carol3_66RPG.contents_opacity -= 30
  121.         Graphics.update
  122.       end
  123.       carol3_66RPG.dispose
  124.     end
  125.     return true
  126.   end
  127.   #--------------------------------------------------------------------------
  128.   # ● 增减防具
  129.   #--------------------------------------------------------------------------
  130.   def command_128
  131.     value = operate_value(@parameters[1], @parameters[2], @parameters[3])
  132.     $game_party.gain_armor(@parameters[0], value)
  133.     if $game_switches[$不显示防具窗口]==false
  134.       carol3_66RPG_item = $data_armors[@parameters[0]]
  135.       carol3_66RPG = Window_Base.new((640-300)/2,128,300,100)
  136.       carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
  137.       if value >= 0
  138.         carol3_66RPG.contents.draw_text(0,0,240,32,"获得:")   
  139.         #——声效,可以自己改
  140.         Audio.se_play("Audio/SE/"+"006-System06",80,100)
  141.       else
  142.         carol3_66RPG.contents.draw_text(0,0,240,32,"失去:")   
  143.         #——声效,可以自己改
  144.         Audio.se_play("Audio/SE/"+"005-System05",80,100)
  145.       end
  146.       carol3_66RPG_bitmap = RPG::Cache.icon(carol3_66RPG_item.icon_name)
  147.       carol3_66RPG.contents.blt(0, 32, carol3_66RPG_bitmap, Rect.new(0, 0, 24, 24), 255)
  148.       carol3_66RPG.contents.draw_text(0 + 28, 32, 212, 32, carol3_66RPG_item.name, 0)
  149.       carol3_66RPG.contents.draw_text(0, 32, 268, 32, "×"+value.abs.to_s, 2)
  150.       carol3_66RPG.opacity = 160
  151.       for i in 0..30
  152.         Graphics.update
  153.       end
  154.       for i in 0..10
  155.         carol3_66RPG.opacity -= 30
  156.         carol3_66RPG.contents_opacity -= 30
  157.         Graphics.update
  158.       end
  159.       carol3_66RPG.dispose
  160.     end
  161.     return true
  162.   end
  163. end
  164.  
  165.  
  166.  
  167. #==============================================================================
  168. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  169. #==============================================================================

作者: 芯☆淡茹水    时间: 2015-2-16 18:26
用这个改过的 物品提示 ,放 main 上面 ,另外把以前改过的事件解释器删掉。
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================

  4. # 注意!!!在对话后得到物品,请在对话后先用事件等待3帧,否则对话框来不及消失。

  5. # 开关定义:

  6. $不显示金钱窗口 = 41

  7. $不显示物品窗口 = 42

  8. $不显示武器窗口 = 43

  9. $不显示防具窗口 = 44

  10. # 以上开关,当打开的时候,获得物品将不会提示,比如默认打开41号开关,获得金钱不再提示

  11. # ————————————————————————————————————

  12. class Interpreter  
  13.   #--------------------------------------------------------------------------
  14.   # ● 增减金钱
  15.   #--------------------------------------------------------------------------
  16.   def command_125
  17.     value = operate_value(@parameters[0], @parameters[1], @parameters[2])
  18.     $game_party.gain_gold(value)
  19.     if $game_switches[$不显示金钱窗口]==false
  20.       carol3_66RPG = Window_Base.new((640-160)/2,128,180,100)
  21.       carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
  22.       if value >= 0
  23.         carol3_66RPG.contents.draw_text(0,0,240,32,"获得金钱:")
  24.         #——声效,可以自己改
  25.         Audio.se_play("Audio/SE/"+"006-System06",80,100)
  26.       else
  27.         carol3_66RPG.contents.draw_text(0,0,240,32,"支付金钱:")
  28.         #——声效,可以自己改
  29.         Audio.se_play("Audio/SE/"+"005-System05",80,100)
  30.       end   
  31.       carol3_66RPG.contents.draw_text(0,32,240,32,value.abs.to_s)
  32.       carol3_66RPG.contents.draw_text(0,32,140,32, $data_system.words.gold,2)
  33.       carol3_66RPG.opacity = 160
  34.       for i in 0..30
  35.         Graphics.update
  36.       end
  37.       for i in 0..10
  38.         carol3_66RPG.opacity -= 30
  39.         carol3_66RPG.contents_opacity -= 30
  40.         Graphics.update
  41.       end
  42.       carol3_66RPG.dispose
  43.     end
  44.     return true
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   # ● 增减物品
  48.   #--------------------------------------------------------------------------
  49.   def command_126
  50.     value = operate_value(@parameters[1], @parameters[2], @parameters[3])
  51.     if $game_party.full_judge?(@parameters[0], value, 0)
  52.       $game_party.full_top
  53.       command_115
  54.       return
  55.     end
  56.     $game_party.gain_item(@parameters[0], value)
  57.     if $game_switches[$不显示物品窗口]==false
  58.       carol3_66RPG_item = $data_items[@parameters[0]]
  59.       carol3_66RPG = Window_Base.new((640-300)/2,128,300,100)
  60.       carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
  61.       if value >= 0
  62.         carol3_66RPG.contents.draw_text(0,0,240,32,"获得物品:")   
  63.         #——声效,可以自己改
  64.         Audio.se_play("Audio/SE/"+"006-System06",80,100)
  65.       else
  66.         carol3_66RPG.contents.draw_text(0,0,240,32,"失去物品:")   
  67.         #——声效,可以自己改
  68.         Audio.se_play("Audio/SE/"+"005-System05",80,100)
  69.       end
  70.       carol3_66RPG_bitmap = RPG::Cache.icon(carol3_66RPG_item.icon_name)
  71.       carol3_66RPG.contents.blt(0, 32, carol3_66RPG_bitmap, Rect.new(0, 0, 24, 24), 255)
  72.       carol3_66RPG.contents.draw_text(0 + 28, 32, 212, 32, carol3_66RPG_item.name, 0)
  73.       carol3_66RPG.contents.draw_text(0, 32, 268, 32, "×"+value.abs.to_s, 2)
  74.       carol3_66RPG.opacity = 160
  75.       for i in 0..30
  76.         Graphics.update
  77.       end
  78.       for i in 0..10
  79.         carol3_66RPG.opacity -= 30
  80.         carol3_66RPG.contents_opacity -= 30
  81.         Graphics.update
  82.       end
  83.       carol3_66RPG.dispose
  84.     end
  85.     return true
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # ● 增减武器
  89.   #--------------------------------------------------------------------------
  90.   def command_127
  91.     value = operate_value(@parameters[1], @parameters[2], @parameters[3])
  92.     if $game_party.full_judge?(@parameters[0], value, 1)
  93.       $game_party.full_top
  94.       command_115
  95.       return
  96.     end
  97.     $game_party.gain_weapon(@parameters[0], value)
  98.     if $game_switches[$不显示武器窗口]==false
  99.       carol3_66RPG_item = $data_weapons[@parameters[0]]
  100.       carol3_66RPG = Window_Base.new((640-300)/2,128,300,100)
  101.       carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
  102.       if value >= 0
  103.         carol3_66RPG.contents.draw_text(0,0,240,32,"获得武器:")   
  104.         #——声效,可以自己改
  105.         Audio.se_play("Audio/SE/"+"006-System06",80,100)
  106.       else
  107.         carol3_66RPG.contents.draw_text(0,0,240,32,"失去武器:")   
  108.         #——声效,可以自己改
  109.         Audio.se_play("Audio/SE/"+"005-System05",80,100)
  110.       end
  111.       carol3_66RPG_bitmap = RPG::Cache.icon(carol3_66RPG_item.icon_name)
  112.       carol3_66RPG.contents.blt(0, 32, carol3_66RPG_bitmap, Rect.new(0, 0, 24, 24), 255)
  113.       carol3_66RPG.contents.draw_text(0 + 28, 32, 212, 32, carol3_66RPG_item.name, 0)
  114.       carol3_66RPG.contents.draw_text(0, 32, 268, 32, "×"+value.abs.to_s, 2)
  115.       carol3_66RPG.opacity = 160
  116.       for i in 0..30
  117.         Graphics.update
  118.       end
  119.       for i in 0..10
  120.         carol3_66RPG.opacity -= 30
  121.         carol3_66RPG.contents_opacity -= 30
  122.         Graphics.update
  123.       end
  124.       carol3_66RPG.dispose
  125.     end
  126.     return true
  127.   end
  128.   #--------------------------------------------------------------------------
  129.   # ● 增减防具
  130.   #--------------------------------------------------------------------------
  131.   def command_128
  132.     value = operate_value(@parameters[1], @parameters[2], @parameters[3])
  133.     if $game_party.full_judge?(@parameters[0], value, 2)
  134.       $game_party.full_top
  135.       command_115
  136.       return
  137.     end
  138.     $game_party.gain_armor(@parameters[0], value)
  139.     if $game_switches[$不显示防具窗口]==false
  140.       carol3_66RPG_item = $data_armors[@parameters[0]]
  141.       carol3_66RPG = Window_Base.new((640-300)/2,128,300,100)
  142.       carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
  143.       if value >= 0
  144.         carol3_66RPG.contents.draw_text(0,0,240,32,"获得:")   
  145.         #——声效,可以自己改
  146.         Audio.se_play("Audio/SE/"+"006-System06",80,100)
  147.       else
  148.         carol3_66RPG.contents.draw_text(0,0,240,32,"失去:")   
  149.         #——声效,可以自己改
  150.         Audio.se_play("Audio/SE/"+"005-System05",80,100)
  151.       end
  152.       carol3_66RPG_bitmap = RPG::Cache.icon(carol3_66RPG_item.icon_name)
  153.       carol3_66RPG.contents.blt(0, 32, carol3_66RPG_bitmap, Rect.new(0, 0, 24, 24), 255)
  154.       carol3_66RPG.contents.draw_text(0 + 28, 32, 212, 32, carol3_66RPG_item.name, 0)
  155.       carol3_66RPG.contents.draw_text(0, 32, 268, 32, "×"+value.abs.to_s, 2)
  156.       carol3_66RPG.opacity = 160
  157.       for i in 0..30
  158.         Graphics.update
  159.       end
  160.       for i in 0..10
  161.         carol3_66RPG.opacity -= 30
  162.         carol3_66RPG.contents_opacity -= 30
  163.         Graphics.update
  164.       end
  165.       carol3_66RPG.dispose
  166.     end
  167.     return true
  168.   end
  169. end



  170. #==============================================================================
  171. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  172. #==============================================================================
复制代码

作者: 恐惧剑刃    时间: 2015-2-16 18:46
本帖最后由 恐惧剑刃 于 2015-2-16 18:49 编辑
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================

  4. # 注意!!!在对话后得到物品,请在对话后先用事件等待3帧,否则对话框来不及消失。

  5. # 开关定义:

  6. $不显示金钱窗口 = 41

  7. $不显示物品窗口 = 42

  8. $不显示武器窗口 = 43

  9. $不显示防具窗口 = 44

  10. # 以上开关,当打开的时候,获得物品将不会提示,比如默认打开41号开关,获得金钱不再提示

  11. # ————————————————————————————————————

  12. class Interpreter  
  13.   #--------------------------------------------------------------------------
  14.   # ● 增减金钱
  15.   #--------------------------------------------------------------------------
  16.   def command_125
  17.     value = operate_value(@parameters[0], @parameters[1], @parameters[2])
  18.     $game_party.gain_gold(value)
  19.     if $game_switches[$不显示金钱窗口]==false
  20.       carol3_66RPG = Window_Base.new((640-160)/2,128,180,100)
  21.       carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
  22.       if value >= 0
  23.         carol3_66RPG.contents.draw_text(0,0,240,32,"获得金钱:")
  24.         #——声效,可以自己改
  25.         Audio.se_play("Audio/SE/"+"006-System06",80,100)
  26.       else
  27.         carol3_66RPG.contents.draw_text(0,0,240,32,"支付金钱:")
  28.         #——声效,可以自己改
  29.         Audio.se_play("Audio/SE/"+"005-System05",80,100)
  30.       end   
  31.       carol3_66RPG.contents.draw_text(0,32,240,32,value.abs.to_s)
  32.       carol3_66RPG.contents.draw_text(0,32,140,32, $data_system.words.gold,2)
  33.       carol3_66RPG.opacity = 160
  34.       for i in 0..30
  35.         Graphics.update
  36.       end
  37.       for i in 0..10
  38.         carol3_66RPG.opacity -= 30
  39.         carol3_66RPG.contents_opacity -= 30
  40.         Graphics.update
  41.       end
  42.       carol3_66RPG.dispose
  43.     end
  44.     return true
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   # ● 增减物品
  48.   #--------------------------------------------------------------------------
  49.   def command_126
  50.     value = operate_value(@parameters[1], @parameters[2], @parameters[3])
  51.     if $game_party.item_number(@parameters[0]) + value > ITEMS_MAX
  52.       value = ITEMS_MAX - $game_party.item_number(@parameters[0])
  53.     end
  54.     if value <= 0
  55.       $game_party.full_top
  56.       return true
  57.     end
  58.     $game_party.gain_item(@parameters[0], value)
  59.     if $game_switches[$不显示物品窗口]==false
  60.       carol3_66RPG_item = $data_items[@parameters[0]]
  61.       carol3_66RPG = Window_Base.new((640-300)/2,128,300,100)
  62.       carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
  63.       if value >= 0
  64.         carol3_66RPG.contents.draw_text(0,0,240,32,"获得物品:")   
  65.         #——声效,可以自己改
  66.         Audio.se_play("Audio/SE/"+"006-System06",80,100)
  67.       else
  68.         carol3_66RPG.contents.draw_text(0,0,240,32,"失去物品:")   
  69.         #——声效,可以自己改
  70.         Audio.se_play("Audio/SE/"+"005-System05",80,100)
  71.       end
  72.       carol3_66RPG_bitmap = RPG::Cache.icon(carol3_66RPG_item.icon_name)
  73.       carol3_66RPG.contents.blt(0, 32, carol3_66RPG_bitmap, Rect.new(0, 0, 24, 24), 255)
  74.       carol3_66RPG.contents.draw_text(0 + 28, 32, 212, 32, carol3_66RPG_item.name, 0)
  75.       carol3_66RPG.contents.draw_text(0, 32, 268, 32, "×"+value.abs.to_s, 2)
  76.       carol3_66RPG.opacity = 160
  77.       for i in 0..30
  78.         Graphics.update
  79.       end
  80.       for i in 0..10
  81.         carol3_66RPG.opacity -= 30
  82.         carol3_66RPG.contents_opacity -= 30
  83.         Graphics.update
  84.       end
  85.       carol3_66RPG.dispose
  86.     end
  87.     return true
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● 增减武器
  91.   #--------------------------------------------------------------------------
  92.   def command_127
  93.     value = operate_value(@parameters[1], @parameters[2], @parameters[3])
  94.     if $game_party.weapon_number(@parameters[0]) + value > ITEMS_MAX
  95.       value = ITEMS_MAX - $game_party.weapon_number(@parameters[0])
  96.     end
  97.     if value <= 0
  98.       $game_party.full_top
  99.       return true
  100.     end
  101.     $game_party.gain_weapon(@parameters[0], value)
  102.     if $game_switches[$不显示武器窗口]==false
  103.       carol3_66RPG_item = $data_weapons[@parameters[0]]
  104.       carol3_66RPG = Window_Base.new((640-300)/2,128,300,100)
  105.       carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
  106.       if value >= 0
  107.         carol3_66RPG.contents.draw_text(0,0,240,32,"获得武器:")   
  108.         #——声效,可以自己改
  109.         Audio.se_play("Audio/SE/"+"006-System06",80,100)
  110.       else
  111.         carol3_66RPG.contents.draw_text(0,0,240,32,"失去武器:")   
  112.         #——声效,可以自己改
  113.         Audio.se_play("Audio/SE/"+"005-System05",80,100)
  114.       end
  115.       carol3_66RPG_bitmap = RPG::Cache.icon(carol3_66RPG_item.icon_name)
  116.       carol3_66RPG.contents.blt(0, 32, carol3_66RPG_bitmap, Rect.new(0, 0, 24, 24), 255)
  117.       carol3_66RPG.contents.draw_text(0 + 28, 32, 212, 32, carol3_66RPG_item.name, 0)
  118.       carol3_66RPG.contents.draw_text(0, 32, 268, 32, "×"+value.abs.to_s, 2)
  119.       carol3_66RPG.opacity = 160
  120.       for i in 0..30
  121.         Graphics.update
  122.       end
  123.       for i in 0..10
  124.         carol3_66RPG.opacity -= 30
  125.         carol3_66RPG.contents_opacity -= 30
  126.         Graphics.update
  127.       end
  128.       carol3_66RPG.dispose
  129.     end
  130.     return true
  131.   end
  132.   #--------------------------------------------------------------------------
  133.   # ● 增减防具
  134.   #--------------------------------------------------------------------------
  135.   def command_128
  136.     value = operate_value(@parameters[1], @parameters[2], @parameters[3])
  137.     if $game_party.armor_number(@parameters[0]) + value > ITEMS_MAX
  138.       value = ITEMS_MAX - $game_party.armor_number(@parameters[0])
  139.     end
  140.     if value <= 0
  141.       $game_party.full_top
  142.       return true
  143.     end
  144.     $game_party.gain_armor(@parameters[0], value)
  145.     if $game_switches[$不显示防具窗口]==false
  146.       carol3_66RPG_item = $data_armors[@parameters[0]]
  147.       carol3_66RPG = Window_Base.new((640-300)/2,128,300,100)
  148.       carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
  149.       if value >= 0
  150.         carol3_66RPG.contents.draw_text(0,0,240,32,"获得:")   
  151.         #——声效,可以自己改
  152.         Audio.se_play("Audio/SE/"+"006-System06",80,100)
  153.       else
  154.         carol3_66RPG.contents.draw_text(0,0,240,32,"失去:")   
  155.         #——声效,可以自己改
  156.         Audio.se_play("Audio/SE/"+"005-System05",80,100)
  157.       end
  158.       carol3_66RPG_bitmap = RPG::Cache.icon(carol3_66RPG_item.icon_name)
  159.       carol3_66RPG.contents.blt(0, 32, carol3_66RPG_bitmap, Rect.new(0, 0, 24, 24), 255)
  160.       carol3_66RPG.contents.draw_text(0 + 28, 32, 212, 32, carol3_66RPG_item.name, 0)
  161.       carol3_66RPG.contents.draw_text(0, 32, 268, 32, "×"+value.abs.to_s, 2)
  162.       carol3_66RPG.opacity = 160
  163.       for i in 0..30
  164.         Graphics.update
  165.       end
  166.       for i in 0..10
  167.         carol3_66RPG.opacity -= 30
  168.         carol3_66RPG.contents_opacity -= 30
  169.         Graphics.update
  170.       end
  171.       carol3_66RPG.dispose
  172.     end
  173.     return true
  174.   end
  175. end



  176. #==============================================================================
  177. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  178. #==============================================================================
复制代码

作者: XVI    时间: 2015-2-16 18:55
恐惧剑刃 发表于 2015-2-16 18:46

undefined method 'tip' for #<Interpreter:0x2846d18>
作者: XVI    时间: 2015-2-16 19:09
芯☆淡茹水 发表于 2015-2-16 18:26
用这个改过的 物品提示 ,放 main 上面 ,另外把以前改过的事件解释器删掉。 ...

刚刚以为只有一个回复 没看见不好意思 以前的事件解释器是指?
作者: XVI    时间: 2015-2-16 19:16
芯☆淡茹水 发表于 2015-2-16 18:26
用这个改过的 物品提示 ,放 main 上面 ,另外把以前改过的事件解释器删掉。 ...

我就放在main前面依然显示如上报错
作者: XVI    时间: 2015-2-16 20:16
芯☆淡茹水 发表于 2015-2-16 18:26
用这个改过的 物品提示 ,放 main 上面 ,另外把以前改过的事件解释器删掉。 ...

是的,是否可能与其他脚本冲突
作者: XVI    时间: 2015-2-16 20:29
芯☆淡茹水 发表于 2015-2-16 18:26
用这个改过的 物品提示 ,放 main 上面 ,另外把以前改过的事件解释器删掉。 ...

undefined method 'tip' for #<Interpreter:0x2846d18>
作者: XVI    时间: 2015-2-16 20:35
芯☆淡茹水 发表于 2015-2-16 18:26
用这个改过的 物品提示 ,放 main 上面 ,另外把以前改过的事件解释器删掉。 ...

好吧 谢谢你的回复 自己消化一下冲突好了
作者: 952193683    时间: 2015-2-20 18:03
XVI 发表于 2015-2-16 20:35
好吧 谢谢你的回复 自己消化一下冲突好了

我也需要这两个脚本整合!你整好了没?围观下{:2_286:}
作者: XVI    时间: 2015-2-20 18:38
952193683 发表于 2015-2-20 18:03
我也需要这两个脚本整合!你整好了没?围观下

把我的第二个脚本换成二楼脚本就行了
作者: 952193683    时间: 2015-2-21 02:07
XVI 发表于 2015-2-20 18:38
把我的第二个脚本换成二楼脚本就行了

谢谢,试一下。
作者: 952193683    时间: 2015-2-21 15:37
楼主怎么办?怎么办?我是背包限制放在前面提示放在后面!

J2Z4 (91.49 KB, 下载次数: 9)

J2Z4

作者: 952193683    时间: 2015-2-21 15:39
952193683 发表于 2015-2-21 15:37
楼主怎么办?怎么办?我是背包限制放在前面提示放在后面!

抱歉看错了!没事了!好了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1