Project1

标题: 对于默认系统的装备和商店问题(貌似灵异事件) [打印本页]

作者: Rion幻音    时间: 2010-11-21 13:22
标题: 对于默认系统的装备和商店问题(貌似灵异事件)
在VX的默认系统比如拉尔夫身上装备了个皮盾,
然后去商店买了99个皮盾,这样的话身上就有100个皮盾了啊!
一旦拆下皮盾,道具窗中的皮盾依然是99个(好灵异啊~),
这样的话一个皮盾就这样灵异地消失了!?
原因都是默认商店脚本的问题,在商店购买时没计算角色身上是否装备着购买中的装备,
所以想写个脚本 ,购买装备(或防具)时,会连角色身上装备也一起计算,
但在下脚本未精,所以……(说了这么久就是求脚本吧?)
哈哈~被发现了~第一回当伸手党
或者给个语句类似角色身上是否装备?这样的也行~
作者: 八云紫    时间: 2010-11-21 13:40
本帖最后由 八云紫 于 2010-11-21 13:41 编辑

Scene_Shop 142 添加:

  1. number = $game_party.item_number(@item)
  2. for actor in $game_party.members
  3.    number -= 1 if actor.equips.include?(@item)
  4. end
复制代码
未测试~~
作者: 烁灵    时间: 2010-11-21 13:47
本帖最后由 烁灵 于 2010-11-21 14:03 编辑

我的脚本错了,防止误解,编辑回收
作者: Rion幻音    时间: 2010-11-21 13:48
回复 八云紫 的帖子


很奇妙地能多买一个了!?
  #--------------------------------------------------------------------------
  # ● 更新买入选择
  #--------------------------------------------------------------------------
  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)
      for actor in $game_party.members
        number -= 1 if actor.equips.include?(@item)
      end
      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
作者: 八云紫    时间: 2010-11-21 13:52
好吧, 看错了, 应该是 加 才对

number += 1

抱歉
作者: Rion幻音    时间: 2010-11-21 13:57

成功了!但颜色不会变暗?
作者: 八云紫    时间: 2010-11-21 14:07
Window_ShopBuy 55 行, 一样的改法
作者: Rion幻音    时间: 2010-11-21 14:37
回复 八云紫 的帖子

改了又改~错误连篇~八云大还是给我语句吧~
还有发现武器有99个了还能继续1个1个地购买?
作者: 八云紫    时间: 2010-11-21 14:47
Window_ShopBuy 56
  1. number = $game_party.item_number(item)
  2.     for actor in $game_party.members
  3.       number += 1 if actor.equips.include?(item)
  4.     end
  5.     number = number >= 99 ? 99 : number
复制代码
Scene_Shop  142
  1. for actor in $game_party.members
  2.         number += 1 if actor.equips.include?(@item)
  3.       end
  4.       number = number >= 99 ? 99 : number
复制代码
基本上都差不多.  粗略测试了下, 有效~~~





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