スクリプトのエラー(質問掲示板

投稿: Rumina1218 mini rumina 投稿:2015/02/14 20:14:14(最新:2015/02/15 11:17:15)
アイテムを預けられるようにするために
通常変数を使い
頑張っていたのですが、エラーが出てしまい
自分なりに頑張ったのですが直りません。





    コメントする

    コメントするには、ログインする必要があります。

    コメント一覧

    Rumina1218 mini rumina(投稿日:2015/02/14 20:15, 履歴)
    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
    Cdv30200 aoi icon mini aoihikawa(投稿日:2015/02/14 20:47, 履歴)
    こういった、複数の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の数が足りていないのが分かります
    Rumina1218 mini rumina(投稿日:2015/02/14 21:02, 履歴)
    ありがとうございます!
    できればスクリプトを見やすくする方法を教えてくれませんか?
           256 mini 池ちゃん(翡翠ヶ池)(投稿日:2015/02/14 21:24, 履歴)
    横から失礼します。
    Rmake記法(pre 記)というモノを使うことで、できますよ。


    書き方
    [code サンプルの
        文章です。]
    


    実際に書くとこうなります
    サンプルの
        文章です。
    Rumina1218 mini rumina(投稿日:2015/02/15 11:01, 履歴)
    そうなんですか!
    ありがとうございます!
    Rumina1218 mini rumina(投稿日:2015/02/15 11:17, 履歴)
    『aoihikawaさん』ありがとうございました!
    ちゃんと動くようになりました!
    エラーが出たら、endが足りてるか確認して、
    それでもだめだったら、質問掲示板に書くようにします!