図鑑(質問掲示板

投稿: User icon mini happy123287 投稿:2011/05/28 20:23:28(最新:2011/05/31 18:42:31)
アクションrpgで.装備などのメニューがあるじゃないですか。
そのメニューにモンスター図鑑やら集めたレシピやらを追加するにはどうしたらよいでしょうか?
ufoの大冒険や.悪夢の町ポートレムなどで行われていたのですが。

コメントする

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

コメント一覧

User icon mini happy123287(投稿日:2011/05/31 18:42, 履歴)
ありがとうございます。
000 1  mini naoki(投稿日:2011/05/29 14:33, 履歴)
とりあえず、「リストの作り方」にあったスクリプトを
書いてみました。
#開始スクリプトなどで設定 
setVariable("項目",createArray()) # 5項目ある図鑑をすべて???にする 
i = 0 
while i < 5 
 getVariable("項目")[i] = "???" #ゲットしていない物を???という項目にする

 i  = i + 1 
end 
 
setVariable("説明文",createArray()) #説明文を考える 
getVariable("説明文")[0] = "HPを30回復" 
getVariable("説明文")[1] = "MPを30回復" 
getVariable("説明文")[2] = "HPを50回復できる魔法" 
getVariable("説明文")[3] = "少し強い武器" 
getVariable("説明文")[4] = "最強の武器"

これを開始スクリプトに書きます。
getVariable("説明文")[0] = "HPを30回復" 

の"HPを30回復"の部分は説明文なので変えましょう。
# アイテム取得時 
giveItem(ゲットしたアイテムの番号) 
speak("草を手に入れた") 
getVariable("項目")[0] = "草" 

これで項目0に「草」が入ります。
で、肝心の図鑑は、
#図鑑を参照したとき(本棚にイベントをはっつけるなど) 
i = 0  
while i < 1 
 case speakWithSelect(6, getVariable("項目")[0], getVariable("項目")[1], 
getVariable("項目")[2], getVariable("項目")[3], 
 getVariable("項目")[4],  "やめる",#都合により無駄に改行してます 
    "参照したい項目を選んでね") 
  when 0 
    n = 0 
  when 1 
    n = 1 
  when 2 
    n = 2 
  when 3 
    n = 3 
  when 4 
    n = 4 
  when 5 
    speak("図鑑を閉じた") 
    i = 1 
 end 
 if i == 0 
  if getVariable("項目")[n] == "???"  
      speak("まだ参照できません") 
  else 
      speak(getVariable("説明文")[n]) 
  end 
 end 
end

これでOK。
詳しい説明は出来ませんので、詳しくは「リストの作り方」を。
   mini ___(投稿日:2011/05/29 12:40, 履歴)
先のリンク先のそのように作ってください。
コメント文多めで分かりやすく書かれていますよ。
ぶっちゃけ私なら辟易しながら作ることになりそうなレベルだと思います。

図鑑のデータ自体を二次元配列で管理しています。
要素0ではモンスターの番号、要素1ではそのモンスターの情報。
説明文だけでなく、載せようと思えば全ステータスとかも可能かと。
フラグを使用することで、倒した敵だけを、という表現も可能です。
User icon mini happy123287(投稿日:2011/05/29 06:58, 履歴)
はい。どのように書くのか教えてもらえるとありがたいです。
000 1  mini naoki(投稿日:2011/05/28 21:46, 履歴)
あ、たしかにUFOの大冒険に使われてました。
これは、リストの作り方という掲示板で質問してましたよ。
分からないならスクリプトでも書きますが。
よろしくお願いします。
User icon mini happy123287(投稿日:2011/05/28 21:10, 履歴)
はい?
Logo mini hightoller(投稿日:2011/05/28 20:44, 履歴)