赞 | 0 |
VIP | 20 |
好人卡 | 0 |
积分 | 1 |
经验 | 10248 |
最后登录 | 2020-5-5 |
在线时间 | 122 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 73
- 在线时间
- 122 小时
- 注册时间
- 2009-2-7
- 帖子
- 55
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 discain 于 2010-11-10 22:40 编辑
某些特殊物品,只能在商店购买获得,且只能买到一次,不采用事件,能不能用脚本解决。
感谢大家灵感找到了,最后还是用了备注,现在与大家分享一下
首先是在物品的备注里写上“唯一”两个字,然后插入以下脚本。
另外,此贴原本是求助贴,现在改成分享,不知道是不是要移版???
- $Nor = []
- #==============================================================================
- # ■ Scene_Shop
- #------------------------------------------------------------------------------
- # 处理商店画面的类。
- #==============================================================================
- class Scene_Shop < Scene_Base
- #--------------------------------------------------------------------------
- # ● 更新买入选择
- #--------------------------------------------------------------------------
- def update_buy_selection
- @status_window.item = @buy_window.item
- if Input.trigger?(Input::B)
- Sound.play_cancel
- @command_window.active = true
- @dummy_window.visible = true
- @buy_window.active = false
- @buy_window.visible = false
- @status_window.visible = false
- @status_window.item = nil
- @help_window.set_text("")
- return
- end
- if Input.trigger?(Input::C)
- @item = @buy_window.item
- number = $game_party.item_number(@item)
- if @item.note.include?("唯一")
- if @item == nil or @item.price > $game_party.gold or number == 1
- Sound.play_buzzer
- else
- if $Nor[@item.id] == true
- Sound.play_buzzer
- else
- Sound.play_decision
- max = @item.price == 0 ? 1 : $game_party.gold / @item.price
- max = [max, 1 - number].min
- @buy_window.active = false
- @buy_window.visible = false
- @number_window.set(@item, max, @item.price)
- @number_window.active = true
- @number_window.visible = true
- $Nor[@item.id] = true
- end
- end
- else
- if @item == nil or @item.price > $game_party.gold or number == 99
- Sound.play_buzzer
- else
- Sound.play_decision
- max = @item.price == 0 ? 99 : $game_party.gold / @item.price
- max = [max, 99 - number].min
- @buy_window.active = false
- @buy_window.visible = false
- @number_window.set(@item, max, @item.price)
- @number_window.active = true
- @number_window.visible = true
- end
- end
- end
- end
- end
- #==============================================================================
- # ■ Window_ShopBuy
- #------------------------------------------------------------------------------
- # 商店画面、浏览显示可以购买的商品的窗口。
- #==============================================================================
- class Window_ShopBuy < Window_Selectable
- #--------------------------------------------------------------------------
- # ● 绘制商品
- # index : 商品索引
- #--------------------------------------------------------------------------
- def draw_item(index)
- item = @data[index]
- number = $game_party.item_number(item)
- if item.note.include?("唯一")
- if $Nor[item.id] == true
- enabled = false
- else
- enabled = (item.price <= $game_party.gold and number < 1)
- end
- else
- enabled = (item.price <= $game_party.gold and number < 99)
- end
- rect = item_rect(index)
- self.contents.clear_rect(rect)
- draw_item_name(item, rect.x, rect.y, enabled)
- rect.width -= 4
- self.contents.draw_text(rect, item.price, 2)
- end
- end
复制代码 |
评分
-
查看全部评分
|