コメント

このコメントは、【トピック】アイテムについてへのコメントです。

コメントの内容

      mini shirosaboten(投稿日:2011/02/23 10:02/23/11)

剣を持っていて、かつ鎧を持っている場合話す内容が変わる

if文aのなかにif文bを作ることもできるし、if文aで条件を細かく設定することもできます。自分の書きやすいほうでやったらいいと思います。

例:①剣未所持、鎧未所持、②剣所持、鎧未所持、③剣未所持、鎧未所持
  ④剣所持、鎧所持の4つの場合で話が変わる
  剣のIDを「222」、鎧のIDを「333」とする。
※指定アイテムを装備している場合でも所持アイテム欄から参照できる。

パターンA

if getItemIndexWithId(222) == -1
  if getItemIndexWithId(333) == -1
    speak("竜の剣と光の鎧を持つ者を、王と認めよう。剣は竜の洞窟
に、鎧は光の塔にある。")
  else
    speak("光の鎧を手に入れたのだな。残るは竜の剣だ。剣は竜の洞窟
にある。")
  end
else
  if getItemIndexWithId(222) == -1
    speak("竜の剣を手に入れたのだな。残るは光の鎧だ。鎧は光の塔に
ある。")
  else
    speak("なんと竜の剣、光の鎧の両方を手に入れたのか。よろし
い、そなたをこの国の王と認めよう。")
  end
end


パターンB

##「!=」は「等しくない」を意味する
if getItemIndexWithId(222) == -1 && 
 getItemIndexWithId(333) == -1
    speak("竜の剣と光の鎧を持つ者を、王と認めよう。剣は竜の洞窟
に、鎧は光の塔にある。")
elsif getItemIndexWithId(222) == -1 && 
 getItemIndexWithId(333) != -1
    speak("光の鎧を手に入れたのだな。残るは竜の剣だ。剣は竜の洞窟
にある。")
elsif getItemIndexWithId(222) != -1 &&
 getItemIndexWithId(333) == -1
    speak("竜の剣を手に入れたのだな。残るは光の鎧だ。鎧は光の塔に
ある。")
elsif getItemIndexWithId(222) != -1 &&
 getItenIndexWithId(333) != -1
    speak("なんと竜の剣、光の鎧の両方を手に入れたのか。よろし
い、そなたをこの国の王と認めよう。")
end

これ以外にも書き方はあるはずです。研究してみてください。

他のキャラに立てたフラグを違うキャラが使う?

これはよく意味が分からないです。設定したフラグがtrueかfalseかはゲ
ーム自体が管理するものなので、どのイベントからも立ってるか立ってな
いかは参照できます。
例:赤白の2色の旗揚げをしている人がいる。(イベントA)
  それを遠くから見ている人がいる(イベントB)
##イベントA
case speakWithSelect(4,"赤上げて","白上げて","赤下げて","白下
げて", 
    "イベントA『俺は絶対間違えない』")
  when 0
    setFlag("赤", true)
    speak("イベントAは赤旗を上げた")   
  when 1
    setFlag("白", true)
    speak("イベントAは白旗を上げた")
  when 2
    setFlag("赤", false)
    speak("イベントAは赤旗を下げた")
  when 3
    setFlag("白". false)
    speak("イベントAは白旗を下げた")
end

##イベントB
if getFlag("赤") && getFlag("白")
  speak("イベントB『赤旗と白旗が上がっている』")
elsif getFlag("赤") && !getFlag("白")
  speak("イベントB『赤旗が上がっていて、白旗が下がっている』")
elsif !getFlag("赤") && getFlag("白")
  speak("イベントB『赤旗が下がっていて、白旗が上がっている』")
elsif !getFlag("赤") && !getFlag("白")
  speak("イベントB『赤旗と白旗が下がっている』")
end

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

      mini shirosaboten(投稿日:2011/02/23 10:02/23/11)

剣を持っていて、かつ鎧を持っている場合話す内容が変わる

if文aのなかにif文bを作ることもできるし、if文aで条件を細かく設定することもできます。自分の書きやすいほうでやったらいいと思います。

例:①剣未所持、鎧未所持、②剣所持、鎧未所持、③剣未所持、鎧未所持
  ④剣所持、鎧所持の4つの場合で話が変わる
  剣のIDを「222」、鎧のIDを「333」とする。
※指定アイテムを装備している場合でも所持アイテム欄から参照できる。

パターンA

if getItemIndexWithId(222) == -1
  if getItemIndexWithId(333) == -1
    speak("竜の剣と光の鎧を持つ者を、王と認めよう。剣は竜の洞窟
に、鎧は光の塔にある。")
  else
    speak("光の鎧を手に入れたのだな。残るは竜の剣だ。剣は竜の洞窟
にある。")
  end
else
  if getItemIndexWithId(222) == -1
    speak("竜の剣を手に入れたのだな。残るは光の鎧だ。鎧は光の塔に
ある。")
  else
    speak("なんと竜の剣、光の鎧の両方を手に入れたのか。よろし
い、そなたをこの国の王と認めよう。")
  end
end


パターンB

##「!=」は「等しくない」を意味する
if getItemIndexWithId(222) == -1 && 
 getItemIndexWithId(333) == -1
    speak("竜の剣と光の鎧を持つ者を、王と認めよう。剣は竜の洞窟
に、鎧は光の塔にある。")
elsif getItemIndexWithId(222) == -1 && 
 getItemIndexWithId(333) != -1
    speak("光の鎧を手に入れたのだな。残るは竜の剣だ。剣は竜の洞窟
にある。")
elsif getItemIndexWithId(222) != -1 &&
 getItemIndexWithId(333) == -1
    speak("竜の剣を手に入れたのだな。残るは光の鎧だ。鎧は光の塔に
ある。")
elsif getItemIndexWithId(222) != -1 &&
 getItenIndexWithId(333) != -1
    speak("なんと竜の剣、光の鎧の両方を手に入れたのか。よろし
い、そなたをこの国の王と認めよう。")
end

これ以外にも書き方はあるはずです。研究してみてください。

他のキャラに立てたフラグを違うキャラが使う?

これはよく意味が分からないです。設定したフラグがtrueかfalseかはゲ
ーム自体が管理するものなので、どのイベントからも立ってるか立ってな
いかは参照できます。
例:赤白の2色の旗揚げをしている人がいる。(イベントA)
  それを遠くから見ている人がいる(イベントB)
##イベントA
case speakWithSelect(4,"赤上げて","白上げて","赤下げて","白下
げて", 
    "イベントA『俺は絶対間違えない』")
  when 0
    setFlag("赤", true)
    speak("イベントAは赤旗を上げた")   
  when 1
    setFlag("白", true)
    speak("イベントAは白旗を上げた")
  when 2
    setFlag("赤", false)
    speak("イベントAは赤旗を下げた")
  when 3
    setFlag("白". false)
    speak("イベントAは白旗を下げた")
end

##イベントB
if getFlag("赤") && getFlag("白")
  speak("イベントB『赤旗と白旗が上がっている』")
elsif getFlag("赤") && !getFlag("白")
  speak("イベントB『赤旗が上がっていて、白旗が下がっている』")
elsif !getFlag("赤") && getFlag("白")
  speak("イベントB『赤旗が下がっていて、白旗が上がっている』")
elsif !getFlag("赤") && !getFlag("白")
  speak("イベントB『赤旗と白旗が下がっている』")
end