Project1

标题: 弱弱一问关于VX商店处理…… [打印本页]

作者: 碧璃风    时间: 2008-1-19 00:48
标题: 弱弱一问关于VX商店处理……
{/fd}在处理商店的时候发生“RGSS‘Scene_Map’的214行NameError发生错误  uninitialized constant Scene_Map::Scene_Shop”这个问题然后强行退出……请各位不吝赐教其原因……我下的是很H很BL殿发的那个完整整合版……
作者: Eclair    时间: 2008-1-19 01:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: clamp135    时间: 2008-1-19 01:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: 亿万星辰    时间: 2008-1-19 01:10
传一份Scripts.rvdata上来吧
作者: 妲己    时间: 2008-1-19 01:15
我也遇到这样的问题唉……莫非这个VX与XP的商店处理有什么不一样的么{/jy}
作者: 妲己    时间: 2008-1-19 01:27
发现了……在脚本编辑里发现Scene_Shop和Scene_Skill两个内容是一样的……怪说商店画面出不来{/pz}
作者: clamp135    时间: 2008-1-19 01:33
提示: 作者被禁止或删除 内容自动屏蔽
作者: 亿万星辰    时间: 2008-1-19 01:39
看来这是那个整合版带的问题.......
这是 Scene_Shop
  1. #==============================================================================
  2. # ■ Scene_Shop
  3. #------------------------------------------------------------------------------
  4. #  ショップ画面の処理を行うクラスです。
  5. #==============================================================================

  6. class Scene_Shop < Scene_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 開始処理
  9.   #--------------------------------------------------------------------------
  10.   def start
  11.     super
  12.     create_menu_background
  13.     create_command_window
  14.     @help_window = Window_Help.new
  15.     @gold_window = Window_Gold.new(384, 56)
  16.     @dummy_window = Window_Base.new(0, 112, 544, 304)
  17.     @buy_window = Window_ShopBuy.new(0, 112)
  18.     @buy_window.active = false
  19.     @buy_window.visible = false
  20.     @buy_window.help_window = @help_window
  21.     @sell_window = Window_ShopSell.new(0, 112, 544, 304)
  22.     @sell_window.active = false
  23.     @sell_window.visible = false
  24.     @sell_window.help_window = @help_window
  25.     @number_window = Window_ShopNumber.new(0, 112)
  26.     @number_window.active = false
  27.     @number_window.visible = false
  28.     @status_window = Window_ShopStatus.new(304, 112)
  29.     @status_window.visible = false
  30.   end
  31.   #--------------------------------------------------------------------------
  32.   # ● 終了処理
  33.   #--------------------------------------------------------------------------
  34.   def terminate
  35.     super
  36.     dispose_menu_background
  37.     dispose_command_window
  38.     @help_window.dispose
  39.     @gold_window.dispose
  40.     @dummy_window.dispose
  41.     @buy_window.dispose
  42.     @sell_window.dispose
  43.     @number_window.dispose
  44.     @status_window.dispose
  45.   end
  46.   #--------------------------------------------------------------------------
  47.   # ● フレーム更新
  48.   #--------------------------------------------------------------------------
  49.   def update
  50.     super
  51.     update_menu_background
  52.     @help_window.update
  53.     @command_window.update
  54.     @gold_window.update
  55.     @dummy_window.update
  56.     @buy_window.update
  57.     @sell_window.update
  58.     @number_window.update
  59.     @status_window.update
  60.     if @command_window.active
  61.       update_command_selection
  62.     elsif @buy_window.active
  63.       update_buy_selection
  64.     elsif @sell_window.active
  65.       update_sell_selection
  66.     elsif @number_window.active
  67.       update_number_input
  68.     end
  69.   end
  70.   #--------------------------------------------------------------------------
  71.   # ● コマンドウィンドウの作成
  72.   #--------------------------------------------------------------------------
  73.   def create_command_window
  74.     s1 = Vocab::ShopBuy
  75.     s2 = Vocab::ShopSell
  76.     s3 = Vocab::ShopCancel
  77.     @command_window = Window_Command.new(384, [s1, s2, s3], 3)
  78.     @command_window.y = 56
  79.     if $game_temp.shop_purchase_only
  80.       @command_window.draw_item(1, false)
  81.     end
  82.   end
  83.   #--------------------------------------------------------------------------
  84.   # ● コマンドウィンドウの解放
  85.   #--------------------------------------------------------------------------
  86.   def dispose_command_window
  87.     @command_window.dispose
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● コマンド選択の更新
  91.   #--------------------------------------------------------------------------
  92.   def update_command_selection
  93.     if Input.trigger?(Input::B)
  94.       Sound.play_cancel
  95.       $scene = Scene_Map.new
  96.     elsif Input.trigger?(Input::C)
  97.       case @command_window.index
  98.       when 0  # 購入する
  99.         Sound.play_decision
  100.         @command_window.active = false
  101.         @dummy_window.visible = false
  102.         @buy_window.active = true
  103.         @buy_window.visible = true
  104.         @buy_window.refresh
  105.         @status_window.visible = true
  106.       when 1  # 売却する
  107.         if $game_temp.shop_purchase_only
  108.           Sound.play_buzzer
  109.         else
  110.           Sound.play_decision
  111.           @command_window.active = false
  112.           @dummy_window.visible = false
  113.           @sell_window.active = true
  114.           @sell_window.visible = true
  115.           @sell_window.refresh
  116.         end
  117.       when 2  # やめる
  118.         Sound.play_decision
  119.         $scene = Scene_Map.new
  120.       end
  121.     end
  122.   end
  123.   #--------------------------------------------------------------------------
  124.   # ● 購入アイテム選択の更新
  125.   #--------------------------------------------------------------------------
  126.   def update_buy_selection
  127.     @status_window.item = @buy_window.item
  128.     if Input.trigger?(Input::B)
  129.       Sound.play_cancel
  130.       @command_window.active = true
  131.       @dummy_window.visible = true
  132.       @buy_window.active = false
  133.       @buy_window.visible = false
  134.       @status_window.visible = false
  135.       @status_window.item = nil
  136.       @help_window.set_text("")
  137.       return
  138.     end
  139.     if Input.trigger?(Input::C)
  140.       @item = @buy_window.item
  141.       number = $game_party.item_number(@item)
  142.       if @item == nil or @item.price > $game_party.gold or number == 99
  143.         Sound.play_buzzer
  144.       else
  145.         Sound.play_decision
  146.         max = @item.price == 0 ? 99 : $game_party.gold / @item.price
  147.         max = [max, 99 - number].min
  148.         @buy_window.active = false
  149.         @buy_window.visible = false
  150.         @number_window.set(@item, max, @item.price)
  151.         @number_window.active = true
  152.         @number_window.visible = true
  153.       end
  154.     end
  155.   end
  156.   #--------------------------------------------------------------------------
  157.   # ● 売却アイテム選択の更新
  158.   #--------------------------------------------------------------------------
  159.   def update_sell_selection
  160.     if Input.trigger?(Input::B)
  161.       Sound.play_cancel
  162.       @command_window.active = true
  163.       @dummy_window.visible = true
  164.       @sell_window.active = false
  165.       @sell_window.visible = false
  166.       @status_window.item = nil
  167.       @help_window.set_text("")
  168.     elsif Input.trigger?(Input::C)
  169.       @item = @sell_window.item
  170.       @status_window.item = @item
  171.       if @item == nil or @item.price == 0
  172.         Sound.play_buzzer
  173.       else
  174.         Sound.play_decision
  175.         max = $game_party.item_number(@item)
  176.         @sell_window.active = false
  177.         @sell_window.visible = false
  178.         @number_window.set(@item, max, @item.price / 2)
  179.         @number_window.active = true
  180.         @number_window.visible = true
  181.         @status_window.visible = true
  182.       end
  183.     end
  184.   end
  185.   #--------------------------------------------------------------------------
  186.   # ● 個数入力の更新
  187.   #--------------------------------------------------------------------------
  188.   def update_number_input
  189.     if Input.trigger?(Input::B)
  190.       cancel_number_input
  191.     elsif Input.trigger?(Input::C)
  192.       decide_number_input
  193.     end
  194.   end
  195.   #--------------------------------------------------------------------------
  196.   # ● 個数入力のキャンセル
  197.   #--------------------------------------------------------------------------
  198.   def cancel_number_input
  199.     Sound.play_cancel
  200.     @number_window.active = false
  201.     @number_window.visible = false
  202.     case @command_window.index
  203.     when 0  # 購入する
  204.       @buy_window.active = true
  205.       @buy_window.visible = true
  206.     when 1  # 売却する
  207.       @sell_window.active = true
  208.       @sell_window.visible = true
  209.       @status_window.visible = false
  210.     end
  211.   end
  212.   #--------------------------------------------------------------------------
  213.   # ● 個数入力の決定
  214.   #--------------------------------------------------------------------------
  215.   def decide_number_input
  216.     Sound.play_shop
  217.     @number_window.active = false
  218.     @number_window.visible = false
  219.     case @command_window.index
  220.     when 0  # 購入する
  221.       $game_party.lose_gold(@number_window.number * @item.price)
  222.       $game_party.gain_item(@item, @number_window.number)
  223.       @gold_window.refresh
  224.       @buy_window.refresh
  225.       @status_window.refresh
  226.       @buy_window.active = true
  227.       @buy_window.visible = true
  228.     when 1  # 売却する
  229.       $game_party.gain_gold(@number_window.number * (@item.price / 2))
  230.       $game_party.lose_item(@item, @number_window.number)
  231.       @gold_window.refresh
  232.       @sell_window.refresh
  233.       @status_window.refresh
  234.       @sell_window.active = true
  235.       @sell_window.visible = true
  236.       @status_window.visible = false
  237.     end
  238.   end
  239. end
复制代码

作者: 妲己    时间: 2008-1-19 01:43
非常感谢亿万星辰前辈的帮助{/hx}
作者: 碧璃风    时间: 2008-1-19 01:46
原来如此是脚本的问题啊{/jy}感谢各位的帮忙{/hx}
作者: clamp135    时间: 2008-1-19 01:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: clamp135    时间: 2008-1-19 02:21
提示: 作者被禁止或删除 内容自动屏蔽




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