フラグの使い方(質問掲示板

投稿: User icon mini mrburein 投稿:2015/04/07 20:19:07(最新:2015/04/08 16:11:08)
フラグを使ってイベントを作りたいのですができません



m=getItemIndexWithId(19405)
if m==-1
speak("きみ!\n俺のファンにプレゼントをくれてやってくれないか")

case speakWithSelect(2,"はい","いいえ",
"引き受けますか?")
when 0
getFlag("ファン2")
speak("プレゼントをもらった")
giveItem(19405)

end
else
speak("よろしくね!")
end
when 1
speak("やっぱダメか…")
end

m=getItemIndexWithId(19405)
if m==-1
getFlag("ファン3")
speak("やってくれたのか!\nありがとう!\nハートを2つやる!")
giveItem(19399)
giveItem(19399)
else

コメントする

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

コメント一覧

Icon mini cdv30200(投稿日:2015/04/08 09:13, 履歴)
「できません」とありますが、どういうエラーが出て
どういう現象が起きたのか書いた方が良いです。
あと、関係するスクリプトはなるべく全部載せることです(^^)

フラグを設定する時にsetFlag関数、
フラグを設定したか確認する時にgetFlag関数を使います。

例えばこんな感じになります。

依頼人
#プレゼントの所持の有無をmで判定
m = getItemIndexWithId(19405)

if getFlag("渡す")
#プレゼントを渡したとき
speak("やってくれたのか!\nありがとう!\nハートを2つやる!")
giveItem(19399)
giveItem(19399) 
elsif m == -1
#プレゼントを持っていない
  speak("きみ!\n俺のファンにプレゼントをくれてやってくれないか")
    case speakWithSelect(2,"はい","いいえ",
"引き受けますか?")
    when 0
    speak("よろしくね!")
    speak("プレゼントをもらった")
    giveItem(19405)
    setFlag("引き受ける", true)
    when 1
    speak("やっぱダメか…")
    end
else
#すでにプレゼントを持っている
speak("頼んだぞ。")
end

受取人
m = getItemIndexWithId(19405)

if getFlag("渡す")
#プレゼントを渡した
speak("どうもありがとう!")
elsif getFlag("引き受ける") && m != -1
#依頼を受けてプレゼントを持っている
speak("わー、プレゼントだ!\nどうもありがとう!")
speak("プレゼントを渡した")
removeItemWithIndex(m)
setFlag("渡す", true)
elsif getFlag("引き受ける") && m == -1
#依頼を受けたが、プレゼントを捨てるなどしたため持っていない
speak("プレゼント?\n何も持ってないじゃん")
elsif !getFlag("引き受ける") && m != -1
#依頼を受けていないがプレゼントは持っている
speak("わー、いいなあ\nほしいなあ")
else
#依頼を受けていないしプレゼントを持っていない
speak("こんにちは")
end

もしプレゼントを渡す前に捨ててしまっても
依頼人にもう一度話せば最初からやり直せます。

スクリプトを載せる場合はRmake記法の「pre 表記(整形済みテキスト)」を参考にして下さい。
User icon mini mrburein(投稿日:2015/04/08 16:11, 履歴)
ありがとうございます