掲示板:スクリプト/冒険に役立つスクリプト

最終投稿者:Nyan mini rurun9 更新(最新コメント):2011/11/20 14:39:54

コメントする

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

コメント一覧

User icon mini 退会したユーザー(投稿日:2011/11/20 14:39, 履歴)
無答ワロタ
User icon mini 退会したユーザー(投稿日:2011/11/20 10:39, 履歴)
ちなみにスクリプトはこれです
case speakWithSelect(4,"図鑑","ストーリー","目的","説明", 
    "なにを読みますか?")
  when 0
    case speakWithSelect(2,"モンスター図鑑","レアモンスター図鑑", 
    "どれを見ますか?")
  when 0
    b=createArray() 
i=0 
while i<getVariable("max") 
 if getVariable("モンスター図鑑")[i][0] 
   pushArray(b,getVariable("モンスター図鑑")[i][1]) #図鑑に載っている品だけの選択肢配列 b をつくる 
 end 
i=i+1 
end 
pushArray(b,"図鑑を閉じる") #終わらせる選択肢も追加 
 
k=true 
while k 
 c=speakWithSelectArray(b,"参照したい項目を選んでね") 
 i=0 
 while i<getVariable("max") 
  if b[c]==getVariable("モンスター図鑑")[i][1] #選んだのと同じものを図鑑一覧から探して詳細を表示 
    speak("No.",i," : ",getVariable("モンスター図鑑")[i][1],"\n ",getVariable("モンスター図鑑")[i][2]) 
  elsif b[c]=="図鑑を閉じる" 
    k=false 
  end 
 i=i+1 
 end 
end #kループ終

  when 1
    
end

  when 1
    speak("~ストーリー~\n前置き\nこのストーリーはこのモンスターたちと出会う前からの話です。\n")
    speak("ある日、あなたは1匹のモンスターを拾いました。\nそのモンスターはひどく弱っていて今にも死にそうでした。\nなのであなたはご飯をあげてそのモンスターを助けました。\nそこであなたはある情報を耳にします。それは、コロシアムでモンスターの大会が行われるということでした。\nなのであなたはこの1匹のモンスターを野生のモンスターを戦わせて\n強くすることにしました。")
  when 2
    speak("~目的~\n前置き\nストーリーを読んでいれば分かっているかも")
    speak("このモンスターを野性のモンスターを戦わせて\n強くし、コロシアムで優勝することが目的です。\nコロシアムで優勝すれば賞品としてモンスターエッグが贈られます\nもちろん賞金も贈られます。")
  when 3
case speakWithSelect(2,"メニューの説明","パーティの説明", 
    "どれを読みますか?")
  when 0
    speak("~メニューの説明~\n前置き\nXキーかCキーを押すことででてくるメニューの説明をします")
    speak("このメニューはステータス、モンスター手帳、アイテム、パーティ整列、\nバックログ、セーブ、ロード、メニューを閉じるの7つで出来ています\nステータスでは、今モンスターが何レベかを見ることができます\nモンスター手帳ではお金、モンスターに出会った数、モンスターを捕まえた数、\nレアモンスターに出会った数、レアモンスターを捕まえた数が書いてあります\nアイテムでは、今もっているアイテムを見ることができ、\n使えるものはZキーを押して使うで使うことができます\nパーティ整列では、パーティメンバーの順番を入れ替えることが出来ます\nバックログでは過去の文章を読み直すことが出来ます。\nセーブは今の状態でセーブをします。\nロードは過去にセーブした場所にセーブしたときのデータで\nロードすることが出来ます\nメニューを閉じるでメニューを閉じます")
  when 1
    speak("~パーティの説明~\n前置き\nこのゲームの中で最も重要なパーティについて説明します")
    speak("下の黒いバーは今のパーティを示しています。\n書いてある画像と数字はその画像のパーティメンバーの体力と魔力です。\nパーティメンバーはメニューのパーティ整列から\n順番を変えることが出来ます。\nパーティーメンバーを外したり加えたり、逃がしたりするときは、モンスターに話しかけてください")
end

end

User icon mini 退会したユーザー(投稿日:2011/11/20 10:38, 履歴)
今まで
b=createArray() 
i=0 
while i<getVariable("max") 
 if getVariable("a")[i][0] 
   pushArray(b,getVariable("a")[i][1]) #図鑑に載っている品だけの選択肢配列 b をつくる 
 end 
i=i+1 
end 
pushArray(b,"図鑑を閉じる") #終わらせる選択肢も追加 
 
k=true 
while k 
 c=speakWithSelectArray(b,"参照したい項目を選んでね") 
 i=0 
 while i<getVariable("max") 
  if b[c]==getVariable("a")[i][1] #選んだのと同じものを図鑑一覧から探して詳細を表示 
    speak("No.",i," : ",getVariable("a")[i][1],"\n ",getVariable("a")[i][2]) 
  elsif b[c]=="図鑑を閉じる" 
    k=false 
  end 
 i=i+1 
 end 

で、できていたのに、
aの変数名を変えると

1st argument is not array. line : 40
1st argument is not array. line : 41
と出てきました。

なぜでしょう?
      mini きゅうり(投稿日:2011/11/19 15:51, 履歴)
{{{code
文字
}}}

サンプル
文字
      mini きゅうり(投稿日:2011/11/19 15:51, 履歴)
{{{code
}}}

もしくは
[code
]

でokです。
User icon mini 退会したユーザー(投稿日:2011/11/17 19:11, 履歴)
あれ、どうだっけ、やべ、ど忘れした
User icon mini 退会したユーザー(投稿日:2011/11/17 19:10, 履歴)
↓なぜにまちがえたし
{{code
getVariable("a")[1][0]
}}}
User icon mini 退会したユーザー(投稿日:2011/11/17 19:05, 履歴)
つまり、{{{code
getVariable("a")[1][0]=true

}}}
とするといいのですね
User icon mini 退会したユーザー(投稿日:2011/11/17 19:02, 履歴)
なるほどー納得です
ありがとうございました
Nyan mini rurun9(投稿日:2011/11/17 18:09, 履歴)
図鑑用の配列aは開始スクリプトに書いた通り、コレは作ってる人が勝手に決めた俺ルール&意味なのです
a[何番のアイテムか][何]

何の部分…0...載ってるtrue 載って無いfalse, 1...アイテム名, 2...説明
でa[0][0]てのは、0番はポーションと決めてあるので、ゲット時に「図鑑に載ってるtrue」にしてるだけ。
つまり他のアイテムなら番号を変える。ハイポーションなら1番てこと。
仮にゲーム中のアイテムが50種なら開始スクリプトで50種つまり0~49番までを全部書いておく必要があるワケです

更に言うなら、アイテムとして作成してあるのだからアイテム名を表示する事も当然可能、つまりこの図鑑配列a[n][1]にアイテム名が入れてあるけど、実はコレも不要だったりするワケw
User icon mini 退会したユーザー(投稿日:2011/11/17 17:24, 履歴)
getVariable("a")[0][0]=true

の[0][0]のところっていじりますか?いじりませんか?
Nyan mini rurun9(投稿日:2011/11/04 12:02, 履歴)
単純追加版の方は、開始スクリプトにて図鑑に使う配列aをセットしないと動きませんよ
User icon mini 退会したユーザー(投稿日:2011/11/03 13:13, 履歴)
図鑑のスクリプト丸々コピーしたらエラーがでました。
第一引数は配列でなければいけませんというエラーが。
User icon mini 退会したユーザー(投稿日:2011/08/18 02:40, 履歴)
>two2様
僕は[3][4]に座標入れてwarp関数使ったりしました^^
Nyan mini rurun9(投稿日:2011/08/17 17:25, 履歴)
>two2様
speakで説明文を表示してる部分を書きかえれば良いのです。
     mini two2(投稿日:2011/08/15 10:08, 履歴)
この図鑑で、説明文ではなくなんかイベントが起こるような事をしたいのですが。
どうしたらいいでしょうか?
User icon mini 退会したユーザー(投稿日:2011/06/30 00:03, 履歴)
>#ここは引っかからない
の直前に全角スペースがあります。
あ、なんで全角入れる必要あったんだろ・・・
誤解を生んでしまいました。すみません。これではないようです。
>その改行は本当に見易くなってるんでしょうか…
改行しないと入らない所があるんです。したがって見易さとかではないです。
getVariable("a")[0][1]="まじたい"
getVariable("a")[0][2]=
"おっさん顔の公式キャラ。\nHP 25\nEXP 2\nGold 5"
getVariable("a")[0][3]=9329
getVariable("a")[1][1]="まじたいイエロー"
getVariable("a")[1][2]=
"まじたいの色違い。黄色は似合わないと思う。\nHP 90\nEXP 12\nGold 23"
Nyan mini rurun9(投稿日:2011/06/29 20:08, 履歴)
#ここは引っかからない
の直前に全角スペースがあります。実はコレがエラッタの原因て事はないですか?

a="あ"

b=
"い"
と書いてるワケですが、その改行は本当に見易くなってるんでしょうか…
User icon mini 退会したユーザー(投稿日:2011/06/27 22:20, 履歴)
文字数制限解決しました。ありがとうございます。
getVariable("a")[26][1]="ガーゴイル"
getVariable("a")[26][2]=
"" #ここは引っかからない
getVariable("a")[26][3]=9708
getVariable("a")[27][1]="巨大イカ"
getVariable("a")[27][2]=
"ただただ大きいだけのイカ。だけど強い。\nHP 1200\nEXP 300\nGold 800"
getVariable("a")[27][3]=9707
getVariable("a")[28][1]="ホワイトドラゴン"#220
getVariable("a")[28][2]=
"" #この行がおかしいらしい
getVariable("a")[28][3]=9709

何度もすみません。上のように文法エラーが出ます。
getVariable("a")[28]を消すと
getVariable("a")[26][1]="ガーゴイル"
getVariable("a")[26][2]=
"" #ここは引っかからない
getVariable("a")[26][3]=9708
getVariable("a")[27][1]="巨大イカ"
getVariable("a")[27][2]=#a
"ただただ大きいだけのイカ。だけど強い。\nHP 1200\nEXP 300\nGold 800"#ここでエラーになる
getVariable("a")[27][3]=9707

#aで改行するのが駄目なら、何故前の配列は引っかからず、最後のみエラーになるのでしょうか?
それともまた違う理由なのでしょうか?
User icon mini 退会したユーザー(投稿日:2011/06/25 21:10, 履歴)
3-IDを抜いて出ないようでしたらokだと思います
000 1  mini naoki(投稿日:2011/06/25 20:29, 履歴)
他に開始スクリプトを書き過ぎていませんか?
私も、作成中の「果てしない冒険の旅へ」で経験しましたが、
2032エラーは、開始スクリプトの文字数制限を超えていると思います。
開始スクリプトは、20000字まで書けますが。

ようするに、開始スクリプトに20000字以上書いていたら、2032エラーが起きたという
私の経験です。
User icon mini 退会したユーザー(投稿日:2011/06/25 18:30, 履歴)
# m...0=trueまたはfalse 持っているかどうか, 1=名前, 2=説明文, とします

これを
# m...0=trueまたはfalse 持っているかどうか, 1=名前, 2=説明文, 3=ID,とします

にしたら開始スクリプトが2032エラーで詰みました・・・

開始スクリプト
getVariable("a")[0][1]="まじたい"
getVariable("a")[0][2]="おっさん顔の公式キャラ。\nHP 25\nEXP 2\nGold 5"
getVariable("a")[0][3]=9329

通常イベント
 if b[c]==getVariable("a")[i][1]
    setEventCharacter("event19", getVariable("a")[i][3])#キャラ変更を利用し表示する
    speak("No.",i+1," : ",getVariable("a")[i][1],"\n ",getVariable("a")[i][2])
    setEventCharacter("event19", default)#透明に戻す
  elsif b[c]=="図鑑を閉じる"
    k=false
  end

なんでこうなったんでしょ。自分にはサッパリです。
User icon mini 退会したユーザー(投稿日:2011/06/19 10:57, 履歴)
ようやく解読できました^^
Nyan mini rurun9(投稿日:2010/11/03 16:23, 履歴)
それぞれ、枠で区切ってある部分までですよ。

配列変数が使えないと何やってるのかサッパリでしょうから、
やはり基礎から順に覚えていかないとワカラン事が多いかと思われます。
User icon mini 退会したユーザー(投稿日:2010/10/31 14:36, 履歴)
って図鑑ってやっぱり全て開始スクリプトですよね?
Nyan mini rurun9(投稿日:2010/10/31 02:38, 履歴)
経験値でレベルアップをパーティメンバー用に対応。
図鑑を単純追加式と2次元配列式に変更しました。

「こんな考え方がある」てのが伝われば良いので、どんどん改良していきましょー
User icon mini 退会したユーザー(投稿日:2010/10/27 16:09, 履歴)
図鑑ってこう作るんですね!
φ(。_。*)メモメモ