Project1

标题: 帮我处理下BUG [打印本页]

作者: yangff    时间: 2007-12-21 21:37
看来烹饪系统没人想用 [LINE]1,#dddddd[/LINE]版主对此帖的评论:『36小时内不得自顶帖子,详情请看版规。』,积分『-10』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者: enghao_lim    时间: 2007-12-21 21:55
脚本写得很乱,也没有说明,所以我也懒得看了。[LINE]1,#dddddd[/LINE]看到几个错误,说一说好了。
       for i in liao
         if $game_party.item_number(liao) == 0
           @ok = false
         end
       end

要获取数值,必须:
for i in 0...liao.size
  if $game_party.item_nmuber(liao) == 0
    @ok = false
  end
end
[LINE]1,#dddddd[/LINE]
for i in $data_items.size

这个要是不报錯,那真的是神了。理论上是
for i in 0...$data_items.size

或者
for i in $data_items

还有很奇怪的一句:
q = $data_items.name == x

建议楼主下次写脚本时现拟好草稿,那些变量乱七八糟,叫人很难下手。 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: veal    时间: 2007-12-22 09:38
might try this:
       for i in liao
         if $game_party.item_number(liao) == 0
           @ok = false
         end
       end

=>
       for i in liao
         if $game_party.item_number(i) == 0
           @ok = false
         end
       end


The index checking is really redundant..

But I'm also wondering why there isn't an error when you send an array as an index number.. Maybe the "cook" method is never invoked o.o
作者: yangff    时间: 2009-6-12 08:00
标题: 帮我处理下BUG
不管有没有原料都会失败!

  1. $food = {}
  2. $food["火鸡"] = [1,2,3,4]
  3. $food["紫菜"] = [5,6,7,8]
  4. $food["你好"] = [5,6,7,8]
  5. $fod = ["火鸡","紫菜","你好"]
  6. $help = ["圣诞节的必须品,超级好吃哦!","紫菜,酸酸甜甜!","你好"]
  7. class Scene_Cook
  8.   def main
  9.      @halp_window = Window_Help.new
  10.      @tmp = []
  11.      @command_window = Window_Command.new(640,$fod)
  12.      @halp_window.x = 1
  13.      @halp_window.y = 2 * 32
  14.      @command_window.x = 1
  15.      @command_window.y = 4 * 32
  16.      Audio.me_stop
  17.      Audio.bgs_stop
  18.      # 执行过渡
  19.      Graphics.transition
  20.      @pic = Sprite.new
  21.      @picindex = RPG::Cache.picture($fod[@command_window.index])
  22.      @pic.bitmap = @picindex
  23.          @pic.y =  @command_window.y + @command_window.height
  24.    #  $index = @command_window.index
  25.      # 主循环
  26.      loop do
  27.        # 刷新游戏画面
  28.        Graphics.update
  29.        # 刷新输入信息
  30.        Input.update
  31.        # 刷新画面
  32.        update
  33.        # 如果画面被切换就中断循环
  34.        if $scene != self
  35.          break
  36.        end
  37.      end
  38.      @pic.bitmap.dispose
  39.      @pic.dispose
  40.      @halp_window.dispose
  41.      @command_window.dispose
  42.    end
  43.      def update
  44.        @command_window.update
  45.            if Input.trigger?(Input::B)
  46.              $scene = Scene_Map.new
  47.            end
  48.        if $index != @command_window.index
  49.          #刷新图片\HELP
  50.                  for i in 0...$fod.size
  51.            if i == @command_window.index
  52.              @halp_window.set_text($help[i])
  53.            end
  54.          end

  55.          $index = @command_window.index
  56.          @pic.bitmap.dispose
  57.          @picindex = RPG::Cache.picture($fod[@command_window.index])
  58.      @pic.bitmap = @picindex
  59.          @pic.y = @command_window.y + @command_window.height
  60.        end
  61.        if Input.trigger?(Input::C)
  62.          for i in 0...$fod.size
  63.            if i == @command_window.index
  64.              cook(i)
  65.            end
  66.          end
  67.        end
  68.      end
  69.      def cook(index)
  70.        @ok = true
  71.        x = $fod[index]
  72.        liao = $food[x]
  73.        for i in liao
  74.          if $game_party.item_number(liao) == 0
  75.            @ok = false
  76.          end
  77.        end
  78.        if @ok
  79.        for i in liao
  80.          $game_party.lose_item(i,1)
  81.        end
  82.            for i in $data_items.size
  83.             if $data_items[i].name == x
  84.               q = $data_items[i].name == x
  85.             end
  86.           end
  87.          $game_party.gain_armor(q,1)
  88.          @halp_window.set_text(x + "制作完成!")
  89.        else
  90.          @halp_window.set_text(x + "原料不足,制作失败!!!")
  91.       end
  92.      end
  93.    end
复制代码
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: yangff    时间: 2009-6-12 08:00
标题: 帮我处理下BUG
不管有没有原料都会失败!

  1. $food = {}
  2. $food["火鸡"] = [1,2,3,4]
  3. $food["紫菜"] = [5,6,7,8]
  4. $food["你好"] = [5,6,7,8]
  5. $fod = ["火鸡","紫菜","你好"]
  6. $help = ["圣诞节的必须品,超级好吃哦!","紫菜,酸酸甜甜!","你好"]
  7. class Scene_Cook
  8.   def main
  9.      @halp_window = Window_Help.new
  10.      @tmp = []
  11.      @command_window = Window_Command.new(640,$fod)
  12.      @halp_window.x = 1
  13.      @halp_window.y = 2 * 32
  14.      @command_window.x = 1
  15.      @command_window.y = 4 * 32
  16.      Audio.me_stop
  17.      Audio.bgs_stop
  18.      # 执行过渡
  19.      Graphics.transition
  20.      @pic = Sprite.new
  21.      @picindex = RPG::Cache.picture($fod[@command_window.index])
  22.      @pic.bitmap = @picindex
  23.          @pic.y =  @command_window.y + @command_window.height
  24.    #  $index = @command_window.index
  25.      # 主循环
  26.      loop do
  27.        # 刷新游戏画面
  28.        Graphics.update
  29.        # 刷新输入信息
  30.        Input.update
  31.        # 刷新画面
  32.        update
  33.        # 如果画面被切换就中断循环
  34.        if $scene != self
  35.          break
  36.        end
  37.      end
  38.      @pic.bitmap.dispose
  39.      @pic.dispose
  40.      @halp_window.dispose
  41.      @command_window.dispose
  42.    end
  43.      def update
  44.        @command_window.update
  45.            if Input.trigger?(Input::B)
  46.              $scene = Scene_Map.new
  47.            end
  48.        if $index != @command_window.index
  49.          #刷新图片\HELP
  50.                  for i in 0...$fod.size
  51.            if i == @command_window.index
  52.              @halp_window.set_text($help[i])
  53.            end
  54.          end

  55.          $index = @command_window.index
  56.          @pic.bitmap.dispose
  57.          @picindex = RPG::Cache.picture($fod[@command_window.index])
  58.      @pic.bitmap = @picindex
  59.          @pic.y = @command_window.y + @command_window.height
  60.        end
  61.        if Input.trigger?(Input::C)
  62.          for i in 0...$fod.size
  63.            if i == @command_window.index
  64.              cook(i)
  65.            end
  66.          end
  67.        end
  68.      end
  69.      def cook(index)
  70.        @ok = true
  71.        x = $fod[index]
  72.        liao = $food[x]
  73.        for i in liao
  74.          if $game_party.item_number(liao) == 0
  75.            @ok = false
  76.          end
  77.        end
  78.        if @ok
  79.        for i in liao
  80.          $game_party.lose_item(i,1)
  81.        end
  82.            for i in $data_items.size
  83.             if $data_items[i].name == x
  84.               q = $data_items[i].name == x
  85.             end
  86.           end
  87.          $game_party.gain_armor(q,1)
  88.          @halp_window.set_text(x + "制作完成!")
  89.        else
  90.          @halp_window.set_text(x + "原料不足,制作失败!!!")
  91.       end
  92.      end
  93.    end
复制代码
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~




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