| 
 
| 赞 | 13 |  
| VIP | 9 |  
| 好人卡 | 3 |  
| 积分 | 51 |  
| 经验 | 27577 |  
| 最后登录 | 2024-4-5 |  
| 在线时间 | 1004 小时 |  
 Lv4.逐梦者 【欧皇】 
	梦石3 星屑2050 在线时间1004 小时注册时间2013-8-19帖子3486 
 | 
| 本帖最后由 欧买歌 于 2015-7-1 20:12 编辑 
 1491968808 发表于 2015-7-1 13:18 ![]() 如此这般这般如此
 
 主要来源于VIPArcherd的方法,加以改进。
然后复制代码class Scene_Shop
  def update_number
    # 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
      # 设置个数输入窗口为不活动·非可视状态
      @number_window.active = false
      @number_window.visible = false
      # 命令窗口光标位置分支
      case @command_window.index
      when 0  # 购买
        # 窗口状态转向购买模式
        @buy_window.active = true
        @buy_window.visible = true
      when 1  # 卖出
        # 窗口状态转向卖出模式
        @sell_window.active = true
        @sell_window.visible = true
        @status_window.visible = false
      end
      return
    end
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      $game_variables[444] = 1
      # 演奏商店 SE
      $game_system.se_play($data_system.shop_se)
      # 设置个数输入窗口为不活动·非可视状态
      @number_window.active = false
      @number_window.visible = false
      # 命令窗口光标位置分支
      case @command_window.index
      when 0  # 购买
        # 购买处理
        $game_party.lose_gold(@number_window.number * @item.price)
        case @item
        when RPG::Item
          $game_party.gain_item(@item.id, @number_window.number)
        when RPG::Weapon
          $game_party.gain_weapon(@item.id, @number_window.number)
        when RPG::Armor
          $game_party.gain_armor(@item.id, @number_window.number)
        end
        # 刷新各窗口
        @gold_window.refresh
        @buy_window.refresh
        @status_window.refresh
        # 窗口状态转向购买模式
        @buy_window.active = true
        @buy_window.visible = true
      when 1  # 卖出
        # 卖出处理
        $game_party.gain_gold(@number_window.number * (@item.price / 2))
        case @item
        when RPG::Item
          $game_party.lose_item(@item.id, @number_window.number)
        when RPG::Weapon
          $game_party.lose_weapon(@item.id, @number_window.number)
        when RPG::Armor
          $game_party.lose_armor(@item.id, @number_window.number)
        end
        # 刷新各窗口
        @gold_window.refresh
        @sell_window.refresh
        @status_window.refresh
        # 窗口状态转向卖出模式
        @sell_window.active = true
        @sell_window.visible = true
        @status_window.visible = false
      end
      return
    end
  end
end
商店处理
 条件分支:444变量是否等于1
 呵呵
 否则
 额呵呵
 分支结束
 变量444=0
 ----------------------------------------
 我这个更准确,你那个玩家要是买一个东西然后再卖两个同样的东西就BUG(26行的变量自行更改)
 原理:
 首先我们开启商店
 在成功购买的脚本最后加上一个变量=1
 然后关掉商店窗口
 进行条件分支
 分支结束后又要让变量再次归零以便下次再用
 @︶ㄣ牛排ぶ 结帖,我要好人卡,
 | 
 评分
查看全部评分
 |