敵が倒された時の実行内容について(質問掲示板)
投稿: tomato
投稿:2010/07/19 23:53:19(最新:2010/07/22 09:24:22)
いくつかのモンスターにフラグを仕込んで、それらを倒した時にイベントを発生させたいのですが、上手くいきません。
どうやらフラグの設定がまずいようです。
そこで、敵が倒された時の実行内容に、フラグを設定する場合どうやったらいいのでしょうか。
ちなみに私はよくわからないまま
倒された時の実行内容、
setFlag("フラグ", true)
発生するイベントの実行内容、
if getflag("フラグ")
speak("")
else
end
という風に作りました。自動再生式なので、延々とイベントが再生されます。
初歩的な質問で申し訳ありません。
ツイート
どうやらフラグの設定がまずいようです。
そこで、敵が倒された時の実行内容に、フラグを設定する場合どうやったらいいのでしょうか。
ちなみに私はよくわからないまま
倒された時の実行内容、
setFlag("フラグ", true)
発生するイベントの実行内容、
if getflag("フラグ")
speak("")
else
end
という風に作りました。自動再生式なので、延々とイベントが再生されます。
初歩的な質問で申し訳ありません。
コメントする
コメントするには、ログインする必要があります。
コメント一覧
条件を && でつないでない場合そういうことが起こりうるかと思います。
有効条件スクリプトや && については以下を参照してください。
http://rmake.jp/document/script_manual
もし、問題が起こった場合問題がありそうな場所の
コードなどを合わせて提示いただけると
答えが得やすい場合もあるかと思います。
Rmake記法の
{{{code
}}}
を使うとコードを表示しやすいです。
実際に使う場合は全角の中括弧は半角にしてください。
よろしくお願いします。
有効条件スクリプトや && については以下を参照してください。
http://rmake.jp/document/script_manual
もし、問題が起こった場合問題がありそうな場所の
コードなどを合わせて提示いただけると
答えが得やすい場合もあるかと思います。
Rmake記法の
{{{code
}}}
を使うとコードを表示しやすいです。
実際に使う場合は全角の中括弧は半角にしてください。
よろしくお願いします。
テスト用に別のゲームとマップシーンを用意して作ったら問題なく自動再生されました。
私の方に原因があるみたいです(;゚д゚)
とりあえずイベントは再生されるので、フラグの設定と取得は大丈夫みたいですが。
だとしたら他のイベントに問題があるのでしょうか。
マップは一つ。
他のイベントは話しかけて発生するタイプばかり七つ。
うち四つはいまだによくわかっていない変数を、二つは選択肢を使っています。
まだ全部確認していませんが、どのイベントに話しかけても、最後に自動再生のイベントが発生するようです。
ちなみに他のイベントに有効条件は用いていません。
あぁ、なんだか沢山回答していただいたのに、ふがいない返答ばかりで申し訳ありませんorz
これからもう一回見直してみます。
お力添えに物凄く感謝しています。本当にありがとうございます。
私の方に原因があるみたいです(;゚д゚)
とりあえずイベントは再生されるので、フラグの設定と取得は大丈夫みたいですが。
だとしたら他のイベントに問題があるのでしょうか。
マップは一つ。
他のイベントは話しかけて発生するタイプばかり七つ。
うち四つはいまだによくわかっていない変数を、二つは選択肢を使っています。
まだ全部確認していませんが、どのイベントに話しかけても、最後に自動再生のイベントが発生するようです。
ちなみに他のイベントに有効条件は用いていません。
あぁ、なんだか沢山回答していただいたのに、ふがいない返答ばかりで申し訳ありませんorz
これからもう一回見直してみます。
お力添えに物凄く感謝しています。本当にありがとうございます。
shirosaboten(投稿日:2010/07/20 22:54,
履歴)
tomatoさんの『ほかのイベント』というのは自動実行のイベントではないですか?
たとえば二つのイベントが同じ有効条件で自動実行、もしくは有効条件は別でもともに条件を満たしている場合、座標の小さいほうから順番に実行されると思います。
イベントをコピーして使った場合なんかに有効条件がそのままだった、ということがあるのかな、と…
あと、setFlag("フラグ", true)にしても同イベントの実行内容に続きがある場合はその内容を実行してから、自動実行イベントに移ります。
と、そういうわけでもないのかな…?^^;
たとえば二つのイベントが同じ有効条件で自動実行、もしくは有効条件は別でもともに条件を満たしている場合、座標の小さいほうから順番に実行されると思います。
イベントをコピーして使った場合なんかに有効条件がそのままだった、ということがあるのかな、と…
あと、setFlag("フラグ", true)にしても同イベントの実行内容に続きがある場合はその内容を実行してから、自動実行イベントに移ります。
と、そういうわけでもないのかな…?^^;
shirosaboten(投稿日:2010/07/20 13:28,
履歴)
こんにちは。
自動実行のイベントは有効条件を満たしている限り実行するので、これだとこのマップに入ったとたんキャラが動かなくなっていませんか?
発生するイベント側の有効条件と実行内容の使い分けをする必要があります。
希望通りの動きを実現する方法ですが
有効条件:getFlag("フラグ")
実行内容:speak("なんたらかんたら")
setFlag("フラグ", false)
これでよろしいかと。
有効条件にフラグや変数の状況を設定すれば、それ以外のとき(条件を満たさないとき)はこの自動実行のイベントは実行されません。
かならず実行内容の最後に有効条件を満たさなくさせる内容を入れてください。これがないと有効条件が『有効』なままなので、イベントがループします。
有効条件もいろいろな変数、フラグを組み合わせられるので、必ずしも敵を倒したことによって得られるようになるフラグを再度オフにする必要はないです(敵を倒したフラグが敵の出現条件にもなってるときなど…)
自動実行のイベントは有効条件を満たしている限り実行するので、これだとこのマップに入ったとたんキャラが動かなくなっていませんか?
発生するイベント側の有効条件と実行内容の使い分けをする必要があります。
希望通りの動きを実現する方法ですが
有効条件:getFlag("フラグ")
実行内容:speak("なんたらかんたら")
setFlag("フラグ", false)
これでよろしいかと。
有効条件にフラグや変数の状況を設定すれば、それ以外のとき(条件を満たさないとき)はこの自動実行のイベントは実行されません。
かならず実行内容の最後に有効条件を満たさなくさせる内容を入れてください。これがないと有効条件が『有効』なままなので、イベントがループします。
有効条件もいろいろな変数、フラグを組み合わせられるので、必ずしも敵を倒したことによって得られるようになるフラグを再度オフにする必要はないです(敵を倒したフラグが敵の出現条件にもなってるときなど…)
条件どうしをつないだら、上手く行きました。
ご迷惑おかけしました。