コメント

このコメントは、【トピック】スイッチへのコメントです。

コメントの内容

Material 6858 mini akasata(投稿日:2009/08/16 00:08/16/09)
Rmakeのご利用ありがとうございます!

一度人から受け取ったアイテムをもう受け取れないようにするには、
if文とgetFlag関数とsetFlag関数を組み合わせる必要があります。

以下のように書いてみてください。

if getFlag("アイテムを受け取った")
  speak("もうアイテムは渡したよ!")
else
  speak("アイテムをやろう。")
  # アイテムを渡す処理は省略します。。。
  setFlag("アイテムを受け取った",true)
end


上記を簡単に解説すると、(1) setFlag関数でアイテムを受け取った
ことを記録する、(2) getFlag関数とif文で受け取っているかどうかを
確認する、という処理を行っています。

if文については以下を参照してください。

スクリプト言語のマニュアル
http://rmake.jp/document/script_manual

スイッチや宝箱のように、アイコンを変わるようにするのは
もう少し難しくなります。手順としては、以下のようになります。

(1) キャラクタとマップチップにスイッチを準備する

キャラクタ画像に押されていないスイッチを準備します。次に、
マップチップに押したあとのスイッチを準備します。

マップ上に、まずマップチップで押したあとのスイッチを表示し、
その上からキャラクタ画像で押されていないスイッチを上乗せ
します。(つまり、押されていないスイッチの上に押されている
スイッチを乗せるということです。)

(2) イベントエディタの「有効条件(スクリプト)」を使う

イベントエディタの「有効条件(スクリプト)」に以下のように
書きます。

!getFlag("スイッチを押したよ")


getFlag関数の前に「!」が入っていることに注意してください。
「!」は否定を意味していて、スイッチを押していないことを
表現しています。

有効条件を設定すると、条件を満たしていないとそのイベント
キャラクタは表示されなくなります。つまり、これを設定する
ことによって、押されていないスイッチを消去して押されている
スイッチを表示することになります。

(3) 「イベント実行内容(スクリプト)」を書く

あとは、「イベント実行内容(スクリプト)」で、フラグを
設定します。

# スイッチを押したときの処理うんたらかんたら
setFlag("スイッチを押したよ",true)


以上で、設定完了です。

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

Material 6858 mini akasata(投稿日:2009/08/16 00:08/16/09)
Rmakeのご利用ありがとうございます!

一度人から受け取ったアイテムをもう受け取れないようにするには、
if文とgetFlag関数とsetFlag関数を組み合わせる必要があります。

以下のように書いてみてください。

if getFlag("アイテムを受け取った")
  speak("もうアイテムは渡したよ!")
else
  speak("アイテムをやろう。")
  # アイテムを渡す処理は省略します。。。
  setFlag("アイテムを受け取った",true)
end


上記を簡単に解説すると、(1) setFlag関数でアイテムを受け取った
ことを記録する、(2) getFlag関数とif文で受け取っているかどうかを
確認する、という処理を行っています。

if文については以下を参照してください。

スクリプト言語のマニュアル
http://rmake.jp/document/script_manual

スイッチや宝箱のように、アイコンを変わるようにするのは
もう少し難しくなります。手順としては、以下のようになります。

(1) キャラクタとマップチップにスイッチを準備する

キャラクタ画像に押されていないスイッチを準備します。次に、
マップチップに押したあとのスイッチを準備します。

マップ上に、まずマップチップで押したあとのスイッチを表示し、
その上からキャラクタ画像で押されていないスイッチを上乗せ
します。(つまり、押されていないスイッチの上に押されている
スイッチを乗せるということです。)

(2) イベントエディタの「有効条件(スクリプト)」を使う

イベントエディタの「有効条件(スクリプト)」に以下のように
書きます。

!getFlag("スイッチを押したよ")


getFlag関数の前に「!」が入っていることに注意してください。
「!」は否定を意味していて、スイッチを押していないことを
表現しています。

有効条件を設定すると、条件を満たしていないとそのイベント
キャラクタは表示されなくなります。つまり、これを設定する
ことによって、押されていないスイッチを消去して押されている
スイッチを表示することになります。

(3) 「イベント実行内容(スクリプト)」を書く

あとは、「イベント実行内容(スクリプト)」で、フラグを
設定します。

# スイッチを押したときの処理うんたらかんたら
setFlag("スイッチを押したよ",true)


以上で、設定完了です。