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

Project1

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

[已经解决] 关于物品存储脚本。会改的帮下。

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-8-16
帖子
19
跳转到指定楼层
1
发表于 2009-8-21 02:57:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-8-16
帖子
19
2
 楼主| 发表于 2009-8-21 21:09:45 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3309
在线时间
3620 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

3
发表于 2009-8-21 23:06:31 | 只看该作者
物品仓库脚本有两个,你这个是柳柳的?
我用的是另外一个,那个取的时候可以输入数字,要免费的话把价格改成0,具体哪改可以在脚本中搜索一下那个价格的数字(比如价格是1,你搜索1),然后自己分辨一下是不是,是的话就改成0。(分辨不出的话可以多试试)
回复 支持 反对

使用道具 举报

Lv3.寻梦者

小柯的徒弟

梦石
0
星屑
1535
在线时间
1157 小时
注册时间
2008-5-24
帖子
3085

贵宾

4
发表于 2009-8-23 20:56:39 | 只看该作者
  1. class Window_ShopStatus_Vb < Window_Base
  2.   def refresh
  3.     self.contents.clear
  4.     self.contents.font.color = system_color
  5.     self.contents.draw_text(0, 0, 202, 32, "")
  6.     self.contents.draw_text(0, 34, 202, 32, "")
  7.   end
  8. end
  9. class Window_ShopCommand_Vb < Window_Selectable_Vb
  10.   def initialize
  11.     super(0, 64, 480, 64)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.     @item_max = 3
  14.     @column_max = 3
  15.     @commands = ["存入物品", "取出物品", "   离开"]
  16.     refresh
  17.     self.index = 0
  18.   end
  19. end


  20. class Scene_Shop_Vb
  21.   def update_sell
  22.     # 按下 B 键的情况下
  23.     if Input.trigger?(Input::B)
  24.       # 演奏取消 SE
  25.       $game_system.se_play($data_system.cancel_se)
  26.       # 窗口状态转向初期模式
  27.       @command_window.active = true
  28.       @dummy_window.visible = true
  29.       @sell_window.active = false
  30.       @sell_window.visible = false
  31.       @status_window.visible = true
  32.       @status_window.item = nil
  33.       # 删除帮助文本
  34.       @help_window.set_text("")
  35.       return
  36.     end
  37.     # 按下 C 键的情况下
  38.     if Input.repeat?(Input::C)
  39.       # 获取物品
  40.       @item = @sell_window.item
  41.       # 物品无效的情况下、或者价格为 0 (不能卖出) 的情况下
  42.       if @item == nil# or @item.price == 0
  43.         # 演奏冻结 SE
  44.         $game_system.se_play($data_system.buzzer_se)
  45.         return
  46.       end
  47.       # 演奏确定 SE
  48.       $game_system.se_play($data_system.decision_se)
  49.       # 获取物品的所持数
  50.       case @item
  51.       when RPG::Item
  52.         number = $game_party.item_number(@item.id)
  53.       when RPG::Weapon
  54.         number = $game_party.weapon_number(@item.id)
  55.       when RPG::Armor
  56.         number = $game_party.armor_number(@item.id)
  57.       end
  58.       # 最大卖出个数 = 物品的所持数
  59.       # 窗口状态转向个数输入模式
  60.       @sell_window.active = false
  61.       @sell_window.visible = false
  62.       @status_window.visible = true
  63.         # 卖出处理
  64.        # $game_party.lose_gold(@number_window.number)
  65.         temp = 0
  66.         case @item
  67.         when RPG::Item
  68.           $game_party.lose_item(@item.id, @number_window.number)
  69.         when RPG::Weapon
  70.           $game_party.lose_weapon(@item.id, @number_window.number)
  71.           temp = 1
  72.         when RPG::Armor
  73.           $game_party.lose_armor(@item.id, @number_window.number)
  74.           temp = 2
  75.         end
  76.         # 刷新各窗口
  77.         goods_del(temp,@item.id,-@number_window.number)
  78.         @buy_window = Window_ShopBuy_Vb.new($game_system.goods[@shop_now])
  79.         @buy_window.active = false
  80.         @buy_window.visible = false
  81.         @buy_window.help_window = @help_window
  82.         @gold_window.refresh
  83.         @sell_window.refresh
  84.         @status_window.refresh
  85.         # 窗口状态转向卖出模式
  86.         @sell_window.active = true
  87.         @sell_window.visible = true
  88.     end
  89.   end
  90.   def update_buy
  91.     # 设置状态窗口的物品
  92.     @status_window.item = @buy_window.item
  93.     # 按下 B 键的情况下
  94.     if Input.trigger?(Input::B)
  95.       # 演奏取消 SE
  96.       $game_system.se_play($data_system.cancel_se)
  97.       # 窗口状态转向初期模式
  98.       @command_window.active = true
  99.       @dummy_window.visible = true
  100.       @buy_window.active = false
  101.       @buy_window.visible = false
  102.       @status_window.visible = true
  103.       @status_window.item = nil
  104.       # 删除帮助文本
  105.       @help_window.set_text("")
  106.       return
  107.     end
  108.     # 按下 C 键的情况下
  109.     if Input.repeat?(Input::C)
  110.       # 获取物品
  111.       @item = @buy_window.item
  112.       # 物品无效的情况下、或者价格在所持金以上的情况下
  113.       if @item == nil# or @item.price > $game_party.gold
  114.         # 演奏冻结 SE
  115.         $game_system.se_play($data_system.buzzer_se)
  116.         return
  117.       end
  118.       # 获取物品所持数
  119.       case @item
  120.       when RPG::Item
  121.         number = $game_party.item_number(@item.id)
  122.       when RPG::Weapon
  123.         number = $game_party.weapon_number(@item.id)
  124.       when RPG::Armor
  125.         number = $game_party.armor_number(@item.id)
  126.       end
  127.       # 如果已经拥有了 99 个情况下
  128.       if number == 99
  129.         # 演奏冻结 SE
  130.         $game_system.se_play($data_system.buzzer_se)
  131.         return
  132.       end
  133.       # 演奏确定 SE
  134.       $game_system.se_play($data_system.decision_se)
  135.       # 计算可以最多购买的数量
  136.       max = @item.price == 0 ? 99 : $game_party.gold / @item.price
  137.       max = [[max, 99 - number].min,@buy_window.item_number].min
  138.       # 窗口状态转向数值输入模式
  139.       @buy_window.active = false
  140.       @buy_window.visible = false
  141.       # 购买处理
  142.         temp = 0
  143.         case @item
  144.         when RPG::Item
  145.           $game_party.gain_item(@item.id, @number_window.number)
  146.         when RPG::Weapon
  147.           $game_party.gain_weapon(@item.id, @number_window.number)
  148.           temp = 1
  149.         when RPG::Armor
  150.           $game_party.gain_armor(@item.id, @number_window.number)
  151.           temp = 2
  152.         end
  153.         goods_del(temp,@item.id,@number_window.number)
  154.         # 刷新各窗口
  155.         @buy_window = Window_ShopBuy_Vb.new($game_system.goods[@shop_now])
  156.         @buy_window.help_window = @help_window
  157.         @gold_window.refresh
  158.         @buy_window.refresh
  159.         @status_window.refresh
  160.         # 窗口状态转向购买模式
  161.         @buy_window.active = true
  162.         @buy_window.visible = true
  163.     end
  164.   end
  165. end
复制代码
放到Main脚本前,不需删除原脚本。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-10 16:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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