コメント

このコメントは、【トピック】カスタムメニューで図鑑を表示させたいのですが…へのコメントです。

コメントの内容

User icon mini 退会したユーザー(投稿日:2012/11/18 14:11/18/12)
今更かもですがどうしても気になるので整理。
setCustomParamMenuEnable(true)
setCustomParamMenuName("a")

setVariable("testParamValue", 1)
setVariable("testaParamValue", 28)

def onShowCustomParameter()

  setCustomParamName(0, "test")
  setCustomParamValue(0, getVariable("testParamValue"))
  setCustomParamName(1, "testa")
  setCustomParamValue(1, getVariable("testaParamValue"))

  setCustomParamName(2, "delete")
  setCustomParamValue(2, 30)
  deleteCustomParam(2)

  drawCustomParam()

  imageHandle =  showImagePosition(300, 32, 74)

  #開始スクリプトなどで設定 
  setVariable("項目",createArray()) # 5項目ある図鑑をすべて???にする 
  i = 0 
  while i < 5 
   getVariable("項目")[i]= "???" #ゲットしていない物を???という項目にする 
   i = i + 1
  end

  setVariable("説明文",createArray()) #説明文を考える
  getVariable("説明文")[0] = "アイテム1"
  getVariable("説明文")[1] = "アイテム2"
  getVariable("説明文")[2] = "アイテム3"
  getVariable("説明文")[3] = "アイテム4"
  getVariable("説明文")[4] = "アイテム5"

  #図鑑を参照したとき(本棚にイベントをはっつけるなど)
  i = 0
  while i < 1 #図鑑ループ開始
    #都合により無駄に改行してます(←見易くする意味があるなら無駄じゃない)
    case speakWithSelect(6, getVariable("項目")[0], getVariable("項目")[1],
                             getVariable("項目")[2], getVariable("項目")[3],
                             getVariable("項目")[4], "やめる",
                            "参照したい項目を選んでね")
      when 0 n = 0
      when 1 n = 1
      when 2 n = 2
      when 3 n = 3
      when 4 n = 4
      when 5 speak("図鑑を閉じた");  i = 1
    end #項目caseのend

    if i == 0
      if getVariable("項目")[n] == "???"
        speak("まだ参照できません")
      else
        speak(getVariable("説明文")[n])
      end
    end
  end #図鑑ループend


  #デパック用?
  speak("カスタムパラメーター長 ",
        getCustomParamLength())

  speak("getCustomParamMenuEnable = ",
        getCustomParamMenuEnable(),
       "\ngetCustomParamMenuName = ",
        getCustomParamMenuName())

end #onShowCustomParameter関数end


スクリプト/コツ/文法エラーを出しにくいスクリプトの書き方
見やすく書くことは結構重要なことですよ。


ついでにちょっと修正
setCustomParamMenuEnable(true)
setCustomParamMenuName("a")

setVariable("testParamValue", 1)
setVariable("testaParamValue", 28)

def onShowCustomParameter()

  setCustomParamName(0, "test")
  setCustomParamValue(0, getVariable("testParamValue"))
  setCustomParamName(1, "testa")
  setCustomParamValue(1, getVariable("testaParamValue"))

  setCustomParamName(2, "delete")
  setCustomParamValue(2, 30)
  deleteCustomParam(2)

  drawCustomParam()

  imageHandle =  showImagePosition(300, 32, 74)

  #開始スクリプトなどで設定 
  setVariable("項目",createArray())
  i = 0; max = 5 #後々増やす可能性も考えて変数に項目数を入れとく
  while i < max
   getVariable("項目")[i]= "???" #すべての項目を???にする 
   i = i + 1
  end

  setVariable("説明文",createArray()) #説明文入力
  getVariable("説明文")[0] = "アイテム1"
  getVariable("説明文")[1] = "アイテム2"
  getVariable("説明文")[2] = "アイテム3"
  getVariable("説明文")[3] = "アイテム4"
  getVariable("説明文")[4] = "アイテム5"

  #図鑑を参照したとき(本棚にイベントをはっつけるなど)
  serect = 0
  while serect < max #図鑑ループ開始
    serect = speakWithSelect(6, getVariable("項目")[0], getVariable("項目")[1],
                                getVariable("項目")[2], getVariable("項目")[3],
                                getVariable("項目")[4], "やめる",
                                "参照したい項目を選んでね")
    
    if serect == max then speak("図鑑を閉じた")
    else #「やめる」を選んでなければ項目参照
      if getVariable("項目")[n] == "???"
        speak("まだ参照できません")
      else
        speak(getVariable("説明文")[n])
      end
    end 

  end #図鑑ループend


  #デパック用?
  speak("カスタムパラメーター長 ",
        getCustomParamLength())

  speak("getCustomParamMenuEnable = ",
        getCustomParamMenuEnable(),
       "\ngetCustomParamMenuName = ",
        getCustomParamMenuName())

end #onShowCustomParameter関数end


池ちゃん(さん)の方法のほうが早いけど
二次元配列が苦手ならとりあえずこれでも。

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

User icon mini 退会したユーザー(投稿日:2012/11/18 14:11/18/12)
今更かもですがどうしても気になるので整理。
setCustomParamMenuEnable(true)
setCustomParamMenuName("a")

setVariable("testParamValue", 1)
setVariable("testaParamValue", 28)

def onShowCustomParameter()

  setCustomParamName(0, "test")
  setCustomParamValue(0, getVariable("testParamValue"))
  setCustomParamName(1, "testa")
  setCustomParamValue(1, getVariable("testaParamValue"))

  setCustomParamName(2, "delete")
  setCustomParamValue(2, 30)
  deleteCustomParam(2)

  drawCustomParam()

  imageHandle =  showImagePosition(300, 32, 74)

  #開始スクリプトなどで設定 
  setVariable("項目",createArray()) # 5項目ある図鑑をすべて???にする 
  i = 0 
  while i < 5 
   getVariable("項目")[i]= "???" #ゲットしていない物を???という項目にする 
   i = i + 1
  end

  setVariable("説明文",createArray()) #説明文を考える
  getVariable("説明文")[0] = "アイテム1"
  getVariable("説明文")[1] = "アイテム2"
  getVariable("説明文")[2] = "アイテム3"
  getVariable("説明文")[3] = "アイテム4"
  getVariable("説明文")[4] = "アイテム5"

  #図鑑を参照したとき(本棚にイベントをはっつけるなど)
  i = 0
  while i < 1 #図鑑ループ開始
    #都合により無駄に改行してます(←見易くする意味があるなら無駄じゃない)
    case speakWithSelect(6, getVariable("項目")[0], getVariable("項目")[1],
                             getVariable("項目")[2], getVariable("項目")[3],
                             getVariable("項目")[4], "やめる",
                            "参照したい項目を選んでね")
      when 0 n = 0
      when 1 n = 1
      when 2 n = 2
      when 3 n = 3
      when 4 n = 4
      when 5 speak("図鑑を閉じた");  i = 1
    end #項目caseのend

    if i == 0
      if getVariable("項目")[n] == "???"
        speak("まだ参照できません")
      else
        speak(getVariable("説明文")[n])
      end
    end
  end #図鑑ループend


  #デパック用?
  speak("カスタムパラメーター長 ",
        getCustomParamLength())

  speak("getCustomParamMenuEnable = ",
        getCustomParamMenuEnable(),
       "\ngetCustomParamMenuName = ",
        getCustomParamMenuName())

end #onShowCustomParameter関数end


スクリプト/コツ/文法エラーを出しにくいスクリプトの書き方
見やすく書くことは結構重要なことですよ。


ついでにちょっと修正
setCustomParamMenuEnable(true)
setCustomParamMenuName("a")

setVariable("testParamValue", 1)
setVariable("testaParamValue", 28)

def onShowCustomParameter()

  setCustomParamName(0, "test")
  setCustomParamValue(0, getVariable("testParamValue"))
  setCustomParamName(1, "testa")
  setCustomParamValue(1, getVariable("testaParamValue"))

  setCustomParamName(2, "delete")
  setCustomParamValue(2, 30)
  deleteCustomParam(2)

  drawCustomParam()

  imageHandle =  showImagePosition(300, 32, 74)

  #開始スクリプトなどで設定 
  setVariable("項目",createArray())
  i = 0; max = 5 #後々増やす可能性も考えて変数に項目数を入れとく
  while i < max
   getVariable("項目")[i]= "???" #すべての項目を???にする 
   i = i + 1
  end

  setVariable("説明文",createArray()) #説明文入力
  getVariable("説明文")[0] = "アイテム1"
  getVariable("説明文")[1] = "アイテム2"
  getVariable("説明文")[2] = "アイテム3"
  getVariable("説明文")[3] = "アイテム4"
  getVariable("説明文")[4] = "アイテム5"

  #図鑑を参照したとき(本棚にイベントをはっつけるなど)
  serect = 0
  while serect < max #図鑑ループ開始
    serect = speakWithSelect(6, getVariable("項目")[0], getVariable("項目")[1],
                                getVariable("項目")[2], getVariable("項目")[3],
                                getVariable("項目")[4], "やめる",
                                "参照したい項目を選んでね")
    
    if serect == max then speak("図鑑を閉じた")
    else #「やめる」を選んでなければ項目参照
      if getVariable("項目")[n] == "???"
        speak("まだ参照できません")
      else
        speak(getVariable("説明文")[n])
      end
    end 

  end #図鑑ループend


  #デパック用?
  speak("カスタムパラメーター長 ",
        getCustomParamLength())

  speak("getCustomParamMenuEnable = ",
        getCustomParamMenuEnable(),
       "\ngetCustomParamMenuName = ",
        getCustomParamMenuName())

end #onShowCustomParameter関数end


池ちゃん(さん)の方法のほうが早いけど
二次元配列が苦手ならとりあえずこれでも。