コメント

このコメントは、【トピック】スクリプトのエラーへのコメントです。

コメントの内容

Cdv30200 aoi icon mini aoihikawa(投稿日:2015/02/14 20:02/14/15)
こういった、複数のcase文やif文を多用する場合
インデント(処理ごとの段落)を調整すると
見やすくなります

case speakWithSelect(3,"預ける","引き出す","今はいい", 
 "アイテム預かるかい?") 
  when 0
  #預ける
    case speakWithSelect(3,"水晶の実","太陽の実","やっぱりいい", 
      "何を預けるんだい?") 
      when 0 
      #水晶の実を預ける 
        case speakWithSelect(3,"1個","5個","10個", 
         "何個預けるんだい?") 
          when 0 
          #1個預ける 
            if getVariable("suisixyou") >= 1 
              a = getItemIndexWithId(19062) 
              removeItemWithIndex(a) 
              setVariable("soukosuisixyou", getVariable("soukosuisixyou") + 1) 
          when 1 
          #5個預ける 
            if getVariable("suisixyou") >= 5 
            b = getItemIndexWithId(19062) 
            removeItemWithIndex(b) 
            c = getItemIndexWithId(19062) 
            removeItemWithIndex(c) 
            d = getItemIndexWithId(19062) 
            removeItemWithIndex(d) 
            e = getItemIndexWithId(19062) 
            removeItemWithIndex(e) 
            f = getItemIndexWithId(19062) 
            removeItemWithIndex(f) 
            setVariable("soukosuisixyou", getVariable("soukosuisixyou") + 5) 
          when 2 
          #10個預ける 
            if getVariable("suisixyou") >= 10 
            g = getItemIndexWithId(19062) 
            removeItemWithIndex(g) 
            h = getItemIndexWithId(19062) 
            removeItemWithIndex(h) 
            i = getItemIndexWithId(19062) 
            removeItemWithIndex(i) 
            j = getItemIndexWithId(19062) 
            removeItemWithIndex(j) 
            k = getItemIndexWithId(19062) 
            removeItemWithIndex(k) 
            l = getItemIndexWithId(19062) 
            removeItemWithIndex(l) 
            m = getItemIndexWithId(19062) 
            removeItemWithIndex(m) 
            n = getItemIndexWithId(19062) 
            removeItemWithIndex(n) 
            o = getItemIndexWithId(19062) 
            removeItemWithIndex(o) 
            p = getItemIndexWithId(19062) 
            removeItemWithIndex(p) 
            
        end 
        
      when 1 
      #太陽の実を預ける 
      
      when 2 
      #やめる 
    
    end 
    #なにもない 
  
  when 1 
  #引き出す 
  
  when 2 
  #やめる 
end 


こうしてみると、
case文、if文それぞれに
終了時点をendでくくる必要がありますが、
各if文において
endの数が足りていないのが分かります

コメントの内容(一番最初の投稿)

Cdv30200 aoi icon mini aoihikawa(投稿日:2015/02/14 20:02/14/15)
こういった、複数のcase文やif文を多用する場合
インデント(処理ごとの段落)を調整すると
見やすくなります

case speakWithSelect(3,"預ける","引き出す","今はいい", 
 "アイテム預かるかい?") 
  when 0
  #預ける
    case speakWithSelect(3,"水晶の実","太陽の実","やっぱりいい", 
      "何を預けるんだい?") 
      when 0 
      #水晶の実を預ける 
        case speakWithSelect(3,"1個","5個","10個", 
         "何個預けるんだい?") 
          when 0 
          #1個預ける 
            if getVariable("suisixyou") >= 1 
              a = getItemIndexWithId(19062) 
              removeItemWithIndex(a) 
              setVariable("soukosuisixyou", getVariable("soukosuisixyou") + 1) 
          when 1 
          #5個預ける 
            if getVariable("suisixyou") >= 5 
            b = getItemIndexWithId(19062) 
            removeItemWithIndex(b) 
            c = getItemIndexWithId(19062) 
            removeItemWithIndex(c) 
            d = getItemIndexWithId(19062) 
            removeItemWithIndex(d) 
            e = getItemIndexWithId(19062) 
            removeItemWithIndex(e) 
            f = getItemIndexWithId(19062) 
            removeItemWithIndex(f) 
            setVariable("soukosuisixyou", getVariable("soukosuisixyou") + 5) 
          when 2 
          #10個預ける 
            if getVariable("suisixyou") >= 10 
            g = getItemIndexWithId(19062) 
            removeItemWithIndex(g) 
            h = getItemIndexWithId(19062) 
            removeItemWithIndex(h) 
            i = getItemIndexWithId(19062) 
            removeItemWithIndex(i) 
            j = getItemIndexWithId(19062) 
            removeItemWithIndex(j) 
            k = getItemIndexWithId(19062) 
            removeItemWithIndex(k) 
            l = getItemIndexWithId(19062) 
            removeItemWithIndex(l) 
            m = getItemIndexWithId(19062) 
            removeItemWithIndex(m) 
            n = getItemIndexWithId(19062) 
            removeItemWithIndex(n) 
            o = getItemIndexWithId(19062) 
            removeItemWithIndex(o) 
            p = getItemIndexWithId(19062) 
            removeItemWithIndex(p) 
            
        end 
        
      when 1 
      #太陽の実を預ける 
      
      when 2 
      #やめる 
    
    end 
    #なにもない 
  
  when 1 
  #引き出す 
  
  when 2 
  #やめる 
end 


こうしてみると、
case文、if文それぞれに
終了時点をendでくくる必要がありますが、
各if文において
endの数が足りていないのが分かります