複雑なスクリプトの質問(質問掲示板)
投稿:
naoki
投稿:2011/07/06 22:48:06(最新:2011/07/07 15:17:07)
setVariable("素材1「数」", 3)
setVariable("素材2「数」", 1)
setVariable("素材3「数」", 2)
setVariable("武器名", "ライムソード")
setVariable("素材1", "青い皮入手")
setVariable("素材1「画面表示名前」", "「ライムソード」素材1「青い皮」")
setVariable("素材2", "柔らかい骨入手")
setVariable("素材2「画面表示名前」", "「ライムソード」素材2「柔らかい骨」")
setVariable("素材3", "青色の成分入手")
setVariable("素材3「画面表示名前」", "「ライムソード」素材3「青色の成分」")
aa = getVariable("素材1")
bb = getVariable("素材1「数」")
if((aa >= bb))
setTextFontColor(250, 250, 250)
else
setTextFontColor(250, 250, 0)
end
setVariable("", getVariable("素材1「画面表示名前」"), "",
createText(512 - 440, 10, 160, 22))
setText(getVariable(getVariable("", getVariable("素材1「画面表示名前」"), "",
"", getVariable("素材1"), "","", getVariable("素材1「画面表示名前」"), ""), "", getVariable("素材1「数」"), "")
cc = getVariable("素材2")
dd = getVariable("素材2「数」")
if((cc >= dd))
setTextFontColor(250, 250, 250)
else
setTextFontColor(250, 250, 0)
end
setVariable("", getVariable("素材2「画面表示名前」"), "",
createText(512 - 440, 10, 160, 22))
setText(getVariable(", getVariable(""素材2「画面表示名前」"), "",
"", getVariable("素材2"), "","", getVariable("素材2「画面表示名前」"), ""), "", getVariable("素材2「数」"), "")
ee = getVariable("素材3")
ff = getVariable("素材3「数」")
if((ee >= ff))
setTextFontColor(250, 250, 250)
else
setTextFontColor(250, 250, 0)
end
setVariable("", getVariable("素材3「画面表示名前」"), "",
createText(512 - 440, 10, 160, 22))
setText(getVariable(", getVariable(""素材3「画面表示名前」"), "",
"", getVariable("素材3"), "","", getVariable("素材3「画面表示名前」"), ""), "", getVariable("素材3「数」"), "")
case speakWithSelect(2,"はい","いいえ",
"{店員}\nこの素材だけど、いい?")
when 0
deleteText(getVariable("", getVariable("素材1「画面表示名前」"), ""))
deleteText(getVariable("", getVariable("素材2「画面表示名前」"), ""))
deleteText(getVariable("", getVariable("素材3「画面表示名前」"), ""))
aa = getVariable("素材1")
cc = getVariable("素材2")
ee = getVariable("素材3")
bb = getVariable("素材1「数」")
dd = getVariable("素材2「数」")
ff = getVariable("素材3「数」")
if((aa >= bb) && (cc >= dd) && (ee >= ff))
hideImage()
speak("{店長}\nはい。これが「", getVariable("武器名"), "」だ。\n大事にしろよ。")
setVariable("", getVariable("素材1"), "",getVariable("", getVariable("素材1"), "")- getVariable("素材1「数」"))
setVariable("", getVariable("素材2"), "",getVariable("", getVariable("素材2"), "")-getVariable("素材2「数」"))
setVariable("", getVariable("素材3"), "",getVariable("", getVariable("素材3"), "")-getVariable("素材3「数」"))
else
hideImage()
speak("{店長}\n素材が足りないぞ・・・。")
end
when 1
hideImage()
deleteText(getVariable("", getVariable("素材1「画面表示名前」"), ""))
deleteText(getVariable("", getVariable("素材2「画面表示名前」"), ""))
deleteText(getVariable("", getVariable("素材3「画面表示名前」"), ""))
end
と言う複雑なスクリプトですが、
25行目がエラーしました。何故でしょうか。
誰か教えてください!
コメントする
コメントするには、ログインする必要があります。
コメント一覧
12行:関数名誤字
19行:createTextの使い方直ってないです。
22行:setTextの使い方直ってないです。
19行:createTextの使い方直ってないです。
22行:setTextの使い方直ってないです。
早速、少し改良して、
と、開始スクリプトに入れる事にしました。
とエラーしました。変数の名前もかえました。
25行目でどんなエラーが出たのでしょうか?
setVariable("buki", "ライムソード") #aは素材名。bは素材の数。cは表示の名前
setVariable("sozai1a", "青い皮")
setVariable("sozai1b", 3)
setVariable("sozai1c", "「ライムソード」素材1「青い皮」")
setVariable("sozai2a", "柔らかい骨入手")
setVariable("sozai2b", 1)
setVariable("sozai2c", "「ライムソード」素材2「柔らかい骨」")
setVariable("sozai3a", "青色の成分入手")
setVariable("sozai3b", 2)
setVariable("sozai3c", "「ライムソード」素材3「青色の成分」")
def mise()
aa = getVariable("sozaai1a")
bb = getVariable("sozai1b")
if((aa >= bb))
setTextFontColor(250, 250, 250)
else
setTextFontColor(250, 250, 0)
end
setVariable("", getVariable("sozai1c"), "",
createText(512 - 440, 10, 160, 22))
setText(getVariable(getVariable("", getVariable("sozai1c"), "",
"", getVariable("sozai1a"), " ","", getVariable("sozai1c"), ""), "", getVariable("sozai1b"), "")
cc = getVariable("sozai2a")
dd = getVariable("sozai2a")
if((cc >= dd))
setTextFontColor(250, 250, 250)
else
setTextFontColor(250, 250, 0)
end
setVariable("", getVariable("sozai2c"), "",
createText(512 - 440, 10, 160, 22))
setText(getVariable(", getVariable(""sozai2c"), "",
"", getVariable("sozai2a"), "","", getVariable("sozai2c"), ""), "", getVariable("sozai2b"), "")
ee = getVariable("sozai3a")
ff = getVariable("sozai3b")
if((ee >= ff))
setTextFontColor(250, 250, 250)
else
setTextFontColor(250, 250, 0)
end
setVariable("", getVariable("sozai3c"), "",
createText(512 - 440, 10, 160, 22))
setText(getVariable(", getVariable(""sozai3c"), "",
"", getVariable("sozai3a"), "","", getVariable("sozai3s"), ""), "", getVariable("sozai3b"), "")
case speakWithSelect(2,"はい","いいえ",
"{店員}\nこの素材だけど、いい?")
when 0
deleteText(getVariable("", getVariable("sozai1c"), ""))
deleteText(getVariable("", getVariable("sozai2c"), ""))
deleteText(getVariable("", getVariable("sozai3c"), ""))
aa = getVariable("sozai1a")
cc = getVariable("sozai2a")
ee = getVariable("sozai3a")
bb = getVariable("sozai1b")
dd = getVariable("sozai2b")
ff = getVariable("sozai3b")
if((aa >= bb) && (cc >= dd) && (ee >= ff))
hideImage()
speak("{店長}\nはい。これが「", getVariable("buki"), "」だ。\n大事にしろよ。")
setVariable("", getVariable("sozai1a"), "",getVariable("", getVariable("sozai1a"), "")- getVariable("sozaai1b"))
setVariable("", getVariable("sozai2a"), "",getVariable("", getVariable("sozai2a"), "")-getVariable("sozai2b"))
setVariable("", getVariable("sozai3a"), "",getVariable("", getVariable("sozai3a"), "")-getVariable("sozai3b"))
else
hideImage()
speak("{店長}\n素材が足りないぞ・・・。")
end
when 1
hideImage()
deleteText(getVariable("", getVariable("sozai1c"), ""))
deleteText(getVariable("", getVariable("sozai2c"), ""))
deleteText(getVariable("", getVariable("sozai3c"), ""))
end
end
と、開始スクリプトに入れる事にしました。
開始スクリプト : syntax error, コードに文法的な間違いがあります。 line(行): 25
とエラーしました。変数の名前もかえました。
25行目でどんなエラーが出たのでしょうか?
何故大文字にしたし。
ざっくり該当部抜き出して改変。
createText,setTextの使い方が変。
(GV=)getVariableの使い方が変。
こんな感じに使うのではないかと思う。
SV("Mt1Cnt",3)
SV("Mt1","青い皮入手")
SV("Mt1Name","「ライムソード」素材1「青い皮」")
SV("", GV("Mt1Name"), "",
createText(512 - 440, 10, 160, 22))
setText(GV(GV("", GV("M1Name"), "",
"", GV("Mt1"), "","", GV("Mt1Name"), ""), "", GV("Mt1Cnt"), "")ざっくり該当部抜き出して改変。
createText,setTextの使い方が変。
(GV=)getVariableの使い方が変。
SV("テキスト枠1",createText(512 - 440, 10, 160, 22))
setText(GV"テキスト枠1",
GV("Mt1")+" "+GV("Mt1Name")+" "+GV("Mt1Cnt"))こんな感じに使うのではないかと思う。
[CODE SV("Mt1Cnt",3)
SV("Mt1","青い皮入手")
SV("Mt1Name","「ライムソード」素材1「青い皮」")
SV("", GV("Mt1Name"), "",
createText(512 - 440, 10, 160, 22))
setText(GV(GV("", GV("M1Name"), "",
"", GV("Mt1"), "","", GV("Mt1Name"), ""), "", GV("Mt1Cnt"), "")
]
ざっくり該当部抜き出して改変。
createText,setTextの使い方が変。
(GV=)getVariableの使い方が変。
SV("テキスト枠1",createText(512 - 440, 10, 160, 22))
setText(GV"テキスト枠1",
GV("Mt1")+" "+GV("Mt1Name")+" "+GV("Mt1Cnt"))
こんな感じに使うのではないかと思う。
ざっくり該当部抜き出して改変。
createText,setTextの使い方が変。
(GV=)getVariableの使い方が変。
SV("テキスト枠1",createText(512 - 440, 10, 160, 22))
setText(GV"テキスト枠1",
GV("Mt1")+" "+GV("Mt1Name")+" "+GV("Mt1Cnt"))
こんな感じに使うのではないかと思う。
エラーが出た、ではなくエラーメッセージもコピペした方が良いのですが、
とりあえず「どんなものを作ろうとしているのか」を先に説明すべきかも。
数値の入っている変数と、文字列の入っている変数を、>=で比較してるのでおそらく書き直しかな。
素材を持っている数をカウントしておいて、必要数より多ければ合成して作れる、という形で良いのかな?
つまり扱う変数の準備の段階から考え直す事になるので、もはや文法エラーとかぶっちゃけどーでもイイ感じですな。
それからgetVariable(),setVariable()の書き方を正しく覚えましょー。
naoki様は配列変数は使えましたっけ?
とりあえず「どんなものを作ろうとしているのか」を先に説明すべきかも。
数値の入っている変数と、文字列の入っている変数を、>=で比較してるのでおそらく書き直しかな。
素材を持っている数をカウントしておいて、必要数より多ければ合成して作れる、という形で良いのかな?
つまり扱う変数の準備の段階から考え直す事になるので、もはや文法エラーとかぶっちゃけどーでもイイ感じですな。
それからgetVariable(),setVariable()の書き方を正しく覚えましょー。
#変数abc に文字列「あいう」を入れる
#変数の名前と、それに入れる値の二つしかカッコの中には書かない
setVariable("abc","あいう")
#変数abcの中身をメッセージウインドウに表示してみる
#ゲットの方はカッコの中に書くのは変数名ひとつのみ
#speak()だけは、カンマで区切っていくつでも並べる事が可能
speak("変数abc = ", getVariable("abc") )
setText(getVariable(getVariable("", getVariable("素材1「画面表示名前」"), "",
"", getVariable("素材1"), "","", getVariable("素材1「画面表示名前」"), ""), "", getVariable("素材1「数」"), "")
22行目と23行目がこんな感じです。
どうしたいのかもよくわからないのですが(^^;)
変数の名前はできる限り簡潔に書かないとややこしくなりますよ。
setText(getVariable(getVariable("", getVariable("a"), "",
"", getVariable("b"), "","", getVariable("c"), ""), "", getVariable("d"), "")
と書いて、とりあえず「こうしたいのかなぁ?」という感じに直すと
setText(getVariable("a"),getVariable("b"),getVariable("c"),getVariable("d"))
で、最初の変数名に戻すと
setText(getVariable("素材1「画面表示名前」"),getVariable("素材1"),getVariable("素材1「画面表示名前」"),getVariable("素材1「数」"))
ひょっとして、setTextは初めて使いますか?
という書き方はダメです。
カッコの中に値はふたつ。
ひとつめは、変数名を文字列で与えましょー。名前の無い変数は在りえません。
createTextの返り値は「テキスト表示位置番号」です。
もしこのテキストが、
イベント内でのみ表示して、イベントが終われば消してしまうものであるならば、
ローカル変数に入れても大丈夫です。
#例 setVariable("abc","かきく") setTextFontColor(255,255,0) test=createText(512 - 440, 10, 160, 22) w="あいうえお\n"+getVariable("abc")+"けこ" setText(test,w) setTextFontColor(255,255,255) speak("ok") #イベント終了時に deleteTextAll()それから、文字列と数値を大小で比べる意味があるか、考えてみましょー。