| 赞 | 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
 
  复制代码 |   
 
评分
- 
查看全部评分
 
 
 
 
 
 |