查看: 2710|回复: 8

[已经解决] 对于默认系统的装备和商店问题(貌似灵异事件)

[复制链接]
梦石
0
星屑
50
在线时间
518 小时
注册时间
2010-6-16
回帖
1047
发表于 2010-11-21 13:22:58 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
在VX的默认系统比如拉尔夫身上装备了个皮盾,
然后去商店买了99个皮盾,这样的话身上就有100个皮盾了啊!
一旦拆下皮盾,道具窗中的皮盾依然是99个(好灵异啊~),
这样的话一个皮盾就这样灵异地消失了!?
原因都是默认商店脚本的问题,在商店购买时没计算角色身上是否装备着购买中的装备,
所以想写个脚本 ,购买装备(或防具)时,会连角色身上装备也一起计算,
但在下脚本未精,所以……(说了这么久就是求脚本吧?)
哈哈~被发现了~第一回当伸手党
或者给个语句类似角色身上是否装备?这样的也行~

神隐的主犯

梦石
0
星屑
553
在线时间
271 小时
注册时间
2008-2-22
回帖
7534

贵宾

发表于 2010-11-21 13:40:09 | 显示全部楼层
本帖最后由 八云紫 于 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
复制代码
未测试~~

《天空之城 —— 破碎的命运》
回复

使用道具 举报

梦石
0
星屑
1047
在线时间
1692 小时
注册时间
2009-7-25
回帖
512

开拓者

发表于 2010-11-21 13:47:27 | 显示全部楼层
本帖最后由 烁灵 于 2010-11-21 14:03 编辑

我的脚本错了,防止误解,编辑回收

点评

感谢帮助  发表于 2010-11-21 14:27
测试出错,咱技术还不行。。。  发表于 2010-11-21 14:02
和八云紫前辈一样142行那里  发表于 2010-11-21 13:53
放在第几行?  发表于 2010-11-21 13:51
回复

使用道具 举报

梦石
0
星屑
50
在线时间
518 小时
注册时间
2010-6-16
回帖
1047
 楼主| 发表于 2010-11-21 13:48:14 | 显示全部楼层
回复 八云紫 的帖子

Untitled2.png
很奇妙地能多买一个了!?
  #--------------------------------------------------------------------------
  # ● 更新买入选择
  #--------------------------------------------------------------------------
  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
回复

使用道具 举报

神隐的主犯

梦石
0
星屑
553
在线时间
271 小时
注册时间
2008-2-22
回帖
7534

贵宾

发表于 2010-11-21 13:52:02 | 显示全部楼层
好吧, 看错了, 应该是 加 才对

number += 1

抱歉

《天空之城 —— 破碎的命运》
回复

使用道具 举报

梦石
0
星屑
50
在线时间
518 小时
注册时间
2010-6-16
回帖
1047
 楼主| 发表于 2010-11-21 13:57:43 | 显示全部楼层
Untitled2.png
成功了!但颜色不会变暗?
回复

使用道具 举报

神隐的主犯

梦石
0
星屑
553
在线时间
271 小时
注册时间
2008-2-22
回帖
7534

贵宾

发表于 2010-11-21 14:07:39 | 显示全部楼层
Window_ShopBuy 55 行, 一样的改法

《天空之城 —— 破碎的命运》
回复

使用道具 举报

梦石
0
星屑
50
在线时间
518 小时
注册时间
2010-6-16
回帖
1047
 楼主| 发表于 2010-11-21 14:37:35 | 显示全部楼层
回复 八云紫 的帖子

改了又改~错误连篇~八云大还是给我语句吧~
还有发现武器有99个了还能继续1个1个地购买?
回复

使用道具 举报

神隐的主犯

梦石
0
星屑
553
在线时间
271 小时
注册时间
2008-2-22
回帖
7534

贵宾

发表于 2010-11-21 14:47:42 | 显示全部楼层
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
复制代码
基本上都差不多.  粗略测试了下, 有效~~~

评分

参与人数 2星屑 +1010 收起 理由
小幽的马甲 + 1000
Rion幻音 + 10 感谢帮助~认可

查看全部评分


《天空之城 —— 破碎的命运》
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部