SSブログ

メイプルのことがんばって更新します。たまに他のことも更新

超適当スクリプト集~動作の保障は絶対しない~ [ポケモンROM改造]

超適当スクリプト集~動作の保障は絶対しない~

基本LGでしか動作確認していないので間違ってたりする場合は
某避難所にでも書いてくれれば直すと思う。
まあ解決できる問題なら、の話だが。
25 ** ** 02まとめの方も合わせて見ると色々できるようになるかも。
by ERROR

--------------------------------------------------------------------------
■プログラムを作った事が無い人が読むと混乱するかもしれない補足

・人IDについて
人IDは単なるフラグだと考えて良い。
Javaで言うboolean変数みたいなもの。
ようするに「オブジェクト消去」や「オブジェクト復活」は
人IDにそれぞれfalse,trueの値を代入する操作だと考えれば良い。
ここでは一応便宜上、ゲーム中の人や物などの
オブジェクトが見えている状態をON,
見えていない状態をOFFと呼ぶ事にしている。

・フラグNOについて
AdvanceMapで確認した時にフラグNOの下に不明って
書いてある所があって、その部分にも数値が入力できますよね?
フラグNOは、C言語のunsigned short型みたいなもので、
フラグNOの下の不明の数値部分がそのフラグNOに格納された値か否かで
スクリプトが発動するかどうかが決まるわけです。
つまり、下記の「踏むと発動するスクリプトの復活、消去」は
フラグNOに値を代入する操作をしていると考えてください。

--------------------------------------------------------------------------
■記号の説明

●@@ @@ @@ セリフオフセット
●SS SS SS 別のスクリプトの先頭オフセット
●IS IS IS 商品のオフセット
●MV MV MV 移動コマンドのオフセット
●ss 任意のスクリプト
●$$ $$ アイテムコード
●II 個数
●** ** ポケモンコード
●## レベル
●hn 人NO
●hh hh 人ID(逆順で入力)
●tt tt 何も処理をしない時間
●mm mm飛ばすマップ(AMのマップ番号&マップNOを16進数に変換する)
●ww ワープNo(AMのワープNOを16進数で)
	一致するものがあればワープNOの場所に、一致するものがない場合は指定した座標にワープする
●++ マップのX座標
●-- マップのY座標
●xx 画像のX座標
●yy 画像のY座標
●MM MM パレットの番号(逆順で入力)
●mo 移動可、不可の設定 00なら可、01なら不可
●YY YY YY "はい"の時実行するスクリプトの先頭オフセット
●No "いいえ"の時実行するスクリプトを入力する
●Yes "はい"の時実行するスクリプトを入力する
●gg 画面全体に対するなんらかの効果
	00 暗転 01 真っ黒 02 フラッシュ 03 真っ白
●GG バッジの値
	(FR,LG)
	1個目 20 2個目 21 3個目 22 4個目 23
	5個目 24 6個目 25 7個目 26 8個目 27
	(RS)
	1個目 07 2個目 08 3個目 09 4個目 0A
	5個目 0B 6個目 0C 7個目 0D 8個目 0E
	(E)
	1個目 67 2個目 68 3個目 69 4個目 6A
	5個目 6B 6個目 6C 7個目 6D 8個目 6E
●>> 覚えさせたい技
	(FR,LG)
	00 メガトンパンチ 01 つるぎのまい
	02 メガトンキック 03 のしかかり
	04 すてみタックル 05 カウンター
	06 ちきゅうなげ   07 ものまね
	08 ゆびをふる     09 タマゴうみ
	0A ゆめくい       0B でんじは
	0C だいばくはつ   0D いわなだれ
	0E みがわり
●<< 交換するポケモン(pokemon_Synthesisの通信交換エディターを参考にする事)
●NO NO フラグNO(AMを参考にする事)
●ST ST フラグNOの下の値(AMを参考にする事)
●SK SK 技コード
●TT TT トレーナーの番号を逆順で入力(pokemon_Synthesisを参考にする事)
●KK KK KK KK 金額を逆順で入力
●KA kA コイン
●WW 天候(AdvanceMapの天候の項目を参考に上から00,01,…)
●WA WA ファンファーレ(文書じゃわかりにくいのでhttp://www.nicovideo.jp/watch/sm1676584)
	(FR,LG)
	00 01 ポケモンセンターの回復音
	01 01 アイテムを手に入れた時や技を覚えた時の効果音
	02 01 テンテレッテッテッテッテー
	03 01 テーテーテーテレテテッテテー
	04 01 ジムバッジ貰った時の音
	05 01 テッテテテーッテッテッテッテー
	06 01 テーレテテテテ

	0C 01 テレテテーテテテテーッテッ
	0D 01 テッテテテッテテテレテレレッ
	0E 01 テレレレレレテッテッテッテッテッテッテッ
	0F 01 テッテッテッテー

	3D 01 テレテレテレテレテッレッレー
	3E 01 テンテレテンテレテンテレテンテレテー

●MU MU 曲(Advance MapのHeader viewタブの所にあるSpecify欄を参考にしながら逆順に入力。)
	前に作った超適当なまとめ持ってる奴はそれを見ながらやってもいいかもね。
●Sh 移動先
	00 クチバシティ
	01 1の島
	02 2の島
	03 3の島
	04 4の島
	05 5の島
	06 6の島
	07 7の島
	08 グレン島
	09 臍の岩
	0A 誕生の島
●BH 選択した人物
	00 オーキド	01 ナナミ	02 タケシ	03 カスミ
	04 マチス	05 エリカ	06 キョウ	07 ナツメ
	08 カツラ	09 カンナ	0A シバ		0B キクコ
	0C ワタル	0D マサキ	0E フジ		0F サカキ
●BN 噂をしてる人(00~05)
●FP 最初に貰ったポケモン
	00 フシギダネ又はまだ何も貰っていない時
	01 ゼニガメ
	02 ヒトカゲ
●PO 4の島に預けたポケモン
	00 何も預けていない
	02 一匹だけ預けた
	03 二匹預けた
●co co 数字
●wo 予約語
●mt アクション(移動タイプ) AMを参考にする事
●mn メニュー番号
●e1 縦方向の揺れ幅
●e2 横方向の揺れ幅
●t1 揺らす時間
●t2 揺れる頻度(値が小さいほど何度も揺れる)
●ts タイルセット番号
●GN 画像No
●pc 全滅時の移動場所(ポケモンセンター)
	01 マサラタウン		02 トキワシティ		03 ニビシティ		04 ハナダシティ
	05 シオンタウン		06 クチバシティ		07 タマムシシティ	08 セキチクシティ
	09 グレンじま		0A セキエイこうげん	0B ヤマブキシティ	0C 4ばんどうろ
	0D 10ばんどうろ		0E 1のしま			0F 2のしま			10 3のしま
	11 4のしま			12 5のしま			13 7のしま			14 6のしま
●ac アクションタイプ
	00から大気モーションで下下上左右下下上上の順に並んでいる。
	一周すると今度は歩きモーションで同様に下下上左右下下上上の順に並んでいる。
	それが終わると走りモーションで(ry
●on オブジェクトナンバー


--------------------------------------------------------------------------
■スクリプト

●特定のマップに入った瞬間にスクリプトを発動させる場合のやり方
01 SS SS SS 08 00 02
上記のスクリプトの先頭オフセットを
マップヘッダーの数字の列の簡易まとめを見ながら
????????の部分に逆順で入力してやる。

●特定のマップに入った瞬間にスクリプトを発動させる場合のやり方
03 SS SS SS 08 00 02
上記のスクリプトの先頭オフセットを
マップヘッダーの数字の列の簡易まとめを見ながら
????????の部分に逆順で入力してやる。
01~とは違って暗闇や天候の変化等を即時繁栄させる
動作をしたような気がする。

●別のオフセットを参照
04 SS SS SS 08 02
・参照先のスクリプトは02ではなく03で終わらせる事

●別のオフセットへジャンプ
05 SS SS SS 08 02

●会話1
0F 00 @@ @@ @@ 08 09 02 02

●踏むと発動するスクリプトの復活、消去
16 NO NO ST ST 02
・NO NO、ST STが一致するスクリプトは復活する
・NO NOが一致してST STが異なるスクリプトは消去される
・具体的にはNO NOと言う番号にST STと言う値を代入する操作である。

●見つけた数に追加
16 04 80 ** ** 25 63 01 02

●ボイスチェッカー
16 04 80 BH 00 16 05 80 BN 00 25 73 01 02
・画像無しじゃ説明が難しい・・・。BHのキャラのBN番目の項目が参照可能になる。

●地震っぽいエフェクト
16 04 80 e1 00 16 05 80 e2 00 16 06 80 t1 00 16 07 80 t2 00 25 36 01 02
・画面が揺れます。
・最後の25 36 01の後ろに27を入れると揺れが収まるまで次の操作(スクリプト)に移行しない。

●手持ちの卵が孵る1
16 04 80 nn 00 25 C2 00 02
・手持ちのnn+1番目の卵が孵る
・卵じゃなくても孵る。その場合指定されたポケモンがLV5になる

●技教え
16 05 80 >> 00 25 8D 01 27 21 0D 80 00 00 06 01 SS SS SS 08 02
・SS SS SSは技を覚えなかった時に使うスクリプトの先頭オフセットを入力する
・セリフ→技教えの流れにしたい場合は67 @@ @@ @@ 08 09 04を最初に追加する事
・覚えさせたい技を変更する場合は下のように技コードで検索してそれを各自変更すればよい。
 05 00 0E 00 19 00 22 00 ←メガトンパンチつるぎのまいメガトンキックのしかかりの技コード
・ただポケモンが技教えで技を覚えるかどうかを変更する箇所が何処かわからん

●船に乗って指定したマップへ移動
16 06 80 Sh 00 25 7B 01 02
・クチバや七島に移動する。

●ポケモンの交換
16 08 80 << 00 19 04 80 08 80 26 0D 80 FC 00 19
09 80 0D 80 25 9F 00 27 19 0A 80 04 80 21 04 80
06 00 06 04 SS SS SS 08 19 05 80 0A 80 26 0D 80
FF 00 19 0B 80 0D 80 22 0D 80 09 80 06 05 SS SS
SS 08 19 04 80 08 80 19 05 80 0A 80 25 FD 00 25
FE 00 27 02
・どんなポケモンが欲しいのかの台詞を組み込んでないので自分達で台詞のスクリプトを追加する事
・最初のSS SS SSはポケモンを選ばなかった時に使うスクリプトのオフセット
・最後のSS SS SSは相手の希望するポケモンじゃなかった時に使うスクリプトのオフセット
・このままでは何回でも交換できてしまうので人IDを消去するとかの工夫が必要

●足し算
17 NO NO nn 00 02
・指定したNO NOのST STの値nn増やす

●引き算
18 NO NO nn 00 02
・指定したNO NOのST STの値をnn減らす

●値のコピー
19 NO NO NO NO 02
・指定したNO NOに別のNO NOのST ST値をコピーする。
・最初のNO NOが指定したNO NOで、後ろのNO NOがコピーしたい物

●アイテム入手1
1A 00 80 $$ $$ 1A 01 80 II 00 09 01 02
・「~手に入れた!」って説明が表示される
・人IDを設定してる場合は人IDがOFFになる
・IIの数だけアイテムが手に入る
・手に入る個数の説明はしてくれない

●踏むと発動するスクリプトの値で条件分岐
21 NO NO ST ST 06 01 SS SS SS 08 ss 02
・ST STの値が一致していればSS SS SSのオフセットへ飛ぶ
・そうでなければssを実行

●最初に貰ったポケモンで条件分岐
21 31 40 FP 00 06 01 SS SS SS 08 ss 02
・最初に貰ったポケモンがFPならSS SS SSのアドレスへ飛ぶ
・そうでなければssを実行

●主人公の向きで条件分岐
21 0C 80 nn 00 06 01 SS SS SS 08 ss 02
・主人公の現在の向きがnnならSS SS SSのオフセットへ飛ぶ
 (nnの値が01なら下、02なら上、03なら左、04なら右)
・そうでなければssを実行
・nnの値は自分で操作しなければ変更しない。
 つまり、オブジェクトの向き変更等のスクリプトを使って
 向きを変えるだけではだめらしい。
 スクリプトで向きを変えた後に判定を行いたいのなら
 このスクリプトで判定する前に
 「16 0C 80 nn」と打ち込んで、意図的に値を操作してやる必要がある。

●色々な操作
25 ?? ?? 02
・25----02まとめ参照

●時計の設定(RSE専用)
25 9A 00 27 02

●時計の確認(RSE専用)
25 9B 00 27 02
・このスクリプトの後にスクリプトを続けて書いても動作しない。

●手持ちの卵が孵る2
25 DB 00 27 21 04 80 06 00 06 04 SS SS SS 08 25 C2 00 02
・手持ちから卵を一個指定させ、それを孵化させる
・卵じゃなくても孵る。その場合指定されたポケモンがLV5になる
・指定せずキャンセルされた場合SS SS SSのオフセットへ飛ぶ

●画面をスライドする
25 13 01 4F 7F 00 MV MV MV 08 51 00 00 25 14 01 02
・25 13 01で画面を固定した状態で移動スクリプトの人NOの部分を7Fにすると
 主人公の位置が固定されたまま画面をスライドさせる事ができる。
 スライドする方向は移動コマンドで決まるので管理人氏や初心氏の
 移動オフセットまとめを見て自分達で何とかする事。
 51 00 00の直ぐ後に色々処理を入れると様々な演出ができるはず。

●5番道路の育てやにポケモンを預けているかで条件分岐
26 0D 80 78 01 21 0D 80 01 00 06 01 SS SS SS 08 ss 02
・預けていればSS SS SSのオフセットへ飛ぶ
・そうでなければssを実行

●図鑑が全国図鑑かどうかで条件分岐
26 0D 80 93 01 21 0D 80 01 00 06 01 SS SS SS 08 ss 02
・全国図鑑ならSS SS SSのオフセットへ飛ぶ
・全国図鑑でないならssを実行

●野生戦の結果で条件分岐
26 0D 80 B4 00 21 0D 80 nn 00 06 01 SS SS SS 08 ss 02
・野生のポケモンとの戦闘するスクリプトの後に使う
・nnの値が
 01なら倒した時
 04なら逃げた時
 07なら捕まえた時 SS SS SSのオフセットに飛ぶ
・そうでなければssを実行
・複数の条件で判定したい時(例えば倒した時はAのオフセット、逃げた時ははBのオフセットへ等)は
 ssの部分に21 0D 80 nn 00 06 01 SS SS SS 08 ssをいれてやれば良い。

●4の島の育て屋にポケモンを預けているかで条件分岐
26 0D 80 B6 00 21 0D 80 PO 00 06 01 SS SS SS 08 ss 02
・値がP0ならSS SS SSのオフセットへ飛ぶ
・そうでなければssを実行

●空白時間
28 tt tt C5 02
・当然の事ながら逆順で入力
・FF FFとかにすると長すぎてひどい事になる

●オブジェクト消去2
29 hh hh 02
・一致した人IDのオブジェクトを消去する。
・画面内に対象が合ってもその場では消去されない。その場合は画面を切り替える事

●バッジ入手
29 GG 08 02
・バッジはただ単に人IDで判定してるだけなので対応した
 人IDを消去させればそのバッジを持ってる事になる。
・要するにGG 08はただの人ID

●オブジェクト復活
2A hh hh 02
・一致した人IDのオブジェクトを復活させる。
・復活するタイミングは実行中のスクリプト終了後

●バッジ紛失
2A GG 08 02
・バッジはただ単に人IDで判定してるだけなので対応した
 人IDを復活させればそのバッジを持ってる事になる。
・要するにGG 08はただの人ID

●持ってるバッジで条件分岐
2B GG 08 06 01 SS SS SS 08 ss 02
・バッジを持っていればSS SS SSのオフセットへ飛ぶ
・そうでなければssを実行

●人IDで条件分岐
2B hh hh 06 01 SS SS SS 08 ss 02
・人IDがOFFの場合はSS SS SSのオフセットへ飛ぶ
・そうでなければssを実行
・人IDはAMを参考にする事

●効果音を流す1
2F nn 00 02

●効果音を流す2
2F nn 00 30 02
・1と違って効果音が鳴り終わるまで次の処理をしない

●ファンファーレを流す1
31 WA WA 02

●ファンファーレを流す2
31 WA WA 32 02
・1と違ってファンファーレが鳴り終わるまで次の処理をしない

●曲の変更1
33 MU MU 00 02
・変更した音楽を終わらせて本来そのマップに流れてる音楽に戻したい時は任意のタイミングで35 02を使う事。

●本来そのマップに流れてる音楽を流す
35 02
・曲の変更した後、元の音楽に戻したい時使う。

●曲の変更2
36 MU MU 02
・1よりも流れ始めるタイミングが若干遅い。

●曲のフェードアウト
37 tt 00 02
・指定した時間操作不能になる
・指定した時間の終わりに曲がフェードアウトする(というか音量が0になる?)

●曲のフェードイン
38 tt 00 02

●ワープスクリプト1
39 mm mm ww ++ 00 -- 00 02
・洞窟に入る時などに使う

●ワープスクリプト2
3A mm mm ww ++ 00 -- 00 02 
・移動する時の音やアニメーションは無し

●ワープスクリプト3
3B mm mm ww ++ 00 -- 00 02 
・自動ドアの音、アニメーション

●ワープスクリプト4
3C mm mm 02
・水中から浮上or上から降ってくる
・移動前のマップで主人公がいた座標と同じ座標に移動する。教えてくれた人サンクス。

●ワープスクリプト5
3D mm mm ww 02 
・ワープタイルでワープした時のアニメーション

●手持ちの数で条件分岐
43 21 0D 80 nn 00 06 01 SS SS SS 08 ss 02
・手持ちがnn匹ならSS SS SSのオフセットへ飛ぶ
・そうでなければssを実行

●アイテム入手2
44 $$ $$ II 00 02
・1と違って「~手に入れた!」って説明は無し
・IIの数だけアイテムが手に入る

●アイテム消去
45 $$ $$ II 00 02
・アイテム所持数がIIに満たない場合は消去しない

●アイテム所持で条件分岐
47 $$ $$ II 00 21 0D 80 01 00 06 01 SS SS SS 08 ss 02
・アイテムをIIだけ持っていればSS SS SSのオフセットへ飛ぶ
・そうでなければssを実行

●オブジェクトの移動
4F hn 00 MV MV MV 08 51 00 00 02
・一致した人NOのオブジェクトが指定された動きをする。
・オブジェクトの動作内容はMV MV MVのオフセットに記述する。
・移動コマンドに関してはどっかのまとめでも見れば良いと思うよ。
・hn 00の部分を0F 80にすると移動するオブジェクトの指定が
 このスクリプトを実行中のオブジェクトになるので覚えておくと便利かも。

●オブジェクト消去4
53 hn 00 02
・画面内にいる一致した人NOのオブジェクトが強制的に消去される。
・人IDを設定してる場合は同じ人IDのものも消去対象になるが画面を切り替えるまでは残ったまま

●オブジェクト消去
53 0F 80 02
・これを実行しているオブジェクトがただちに消去される
・人IDを設定してる場合は同じ人IDのものも消去対象になるが画面を切り替えるまでは残ったまま

●オブジェクトの表示
55 hn 00 02
・画面内にいる一致した人NOのオブジェクトが強制的に表示される。
・つまり人IDがOFFでも人やアイテムボール等が見えるようになる。
・画面から外れると効果は消える。

●オブジェクトの位置変更2
57 hn 00 ++ 00 -- 00 02
・一致した人NOのオブジェクトをただちに任意の座標に移動させる
・hnをFFと指定した場合は主人公が移動するが、画面は固定されたままなのでちょっと困った事になる。
・hn 00の部分を0F 80にすると移動するオブジェクトの指定が
 このスクリプトを実行中のオブジェクトになるので覚えておくと便利かも。

●主人公が現れる
58 FF 00 00 00 02
・下の主人公が隠れるスクリプトの後にこのスクリプトを使うと
 主人公のオブジェクトが再び表示される。

●主人公が隠れる
59 FF 00 00 00 02
・主人公のオブジェクトが非表示になる。
・見えなくなるだけでオブジェクト自体はその場所にいる。

●オブジェクトがプレイヤーの方向を向く
5A 02

●オブジェクトの向き変更
5B hn 00 nn 02
・一致した人Noのオブジェクトをnnに対応した向きに変更させる。
 (nnの値が01なら下、02なら上、03なら左、04なら右を向く)

●任意のトレーナーとの戦闘に勝利してるかで条件分岐
60 TT TT 06 01 SS SS SS 08 ss 02
・戦闘に勝利していればSS SS SSのオフセットへ飛ぶ
・そうでなければssを実行

●トレーナーと既に戦闘をしていた事にする
61 TT TT 02

●トレーナーとの戦闘を無かった事にする
62 TT TT 02

●オブジェクトの位置変更1
63 hn 00 ++ 00 -- 00 02
・一致した人NOのオブジェクトを任意の座標に移動させる
・画面内に指定した人NOのオブジェクトがある場合は画面を切り替えるまでは移動しない
・hn 00の部分を0F 80にすると移動するオブジェクトの指定が
 このスクリプトを実行中のオブジェクトになるので覚えておくと便利かも。

●オブジェクトのアクション(移動タイプ)を変更
65 hn 00 mt 02
・画面内に対象のオブジェクトがいる場合は一旦画面外に出さないと繁栄されない

●買い物
66 86 IS IS IS 08 6C 02
・商品のオフセット先はアイテムコードを連続して入力し、最後に00 00 6C 02と打ち込む。
 例えばマスターボール、ハイパーボール、スーパーボールを売っている店にしたいのなら
 01 00 02 00 03 00 00 00 6C 02と打ち込んでやれば良い。
・66 86~ではなく66 87~や66 88~でも同じような動作をするけど違いがわからない。

●メニューを呼び出す
66 6F xx yy mn 00
21 0D 80 00 00 06 01 SS SS SS 08
21 0D 80 01 00 06 01 SS SS SS 08
21 0D 80 02 00 06 01 SS SS SS 08
・・・
02
・マサキ君のお気に入りリストや引換所、エレベーター等で使われてるメニューを表示する
・「21 0D 80 nn 00 06 01 SS SS SS 08」はメニューの上からnn-1番目を選択した時に
 SS SS SSのオフセットへジャンプすると言う意味。

●会話2
67 @@ @@ @@ 08 09 02 02
・0F 00~との違いは不明

●質問するスクリプト
67 @@ @@ @@ 08 09 05 21 0D 80 01 00 06 01 YY YY YY 08 No 6C 02 Yes 6C 02
・Yesの部分もNoの部分も後ろの6C 02とちゃんと繋がるよう工夫して使う事
・06 01を06 00にするとYesとNoの関係が逆転する

●プレイヤーの操作をロック1
69 02
・6Bで解除

●プレイヤーの操作をロック2
6A 02
・6Cで解除

●プレイヤーの操作のロックを解除1
6B 02
69でロックされている場合はこれで解除する

●プレイヤーの操作のロックを解除1
6C 02
6Aでロックされている場合はこれで解除する

●AかBボタンを押すまで固定
6D

●ポケモンの画像表示
75 ** ** xx yy 6D 76 6C 02
・画面外にでない値の範囲はxx:00~14、yy:00~0A
・画像を表示してる間にスクリプトを挟みたい場合はyyと6Dの間に挿入する事

●ポケモンの画像表示付きのメッセージ
75 ** ** xx yy 67 @@ @@ @@ 08 09 04 76 6B 02

●点字
78 @@ @@ @@ 08 6D 6B 02

●ポケモン入手
79 ** ** ## $$ $$ 00 00 00 00 00 00 00 00 00 02
・ポケモン入手スクリプトの超簡易版
・ただ貰うだけ
・貰った時にニックネームを付けられない
・手持ちがいっぱいだとメッセージ無しでパソコンに預けられる
・後ろに21 0D 80 nn 00 SS SS SS 08 ss 02を入れる事で分岐可能。
 nnの値がそれぞれ下の値の時はSS SS SSのオフセットへ飛ぶ。
 手持ちに追加される場合:0
 手持ちがいっぱいの場合:1
 手持ちもボックスもいっぱいの場合:2

●タマゴ入手
7A ** ** 02
・ポケモンコードに対応したポケモンのタマゴを入手する
・進化後だろうがなんだろうがLV5で生まれる
・手持ちがいっぱいの場合はメッセージ無しでパソコンに預けられる
・上記の問題は卵入手オフセットやポケモン入手スクリプト見ながら適当にごにょごにょやれば多分・・・

●技の変更
7B n1 n2 SK SK 02
・手持ちのn1番目のポケモンのn2番目の技を指定した技に変更する。

●覚えてる技で条件分岐
7C SK SK 21 0D 80 06 00 06 01 SS SS SS 08 ss 02
・パーティ内のポケモンが技を覚えていなければSS SS SSのオフセットへ飛ぶ
・そうでなければssを実行

●○○は~を使った!のアニメーション表示
7C SK SK 21 0D 80 06 00 06 01 SS SS SS 08 9D 00 0D 80 68 9C 28 00 27 02
・パーティ内のポケモンが技を覚えていなければSS SS SSのオフセットへ飛ぶ
・アニメーション表示前に別の処理を入れたければ9D 00 0D 80のすぐ後に
 表示後に入れたければ27の後ろに挿入する事。

●会話イベントの変数に指定した文字列を代入する
・このスクリプトの後ろに台詞イベントを入れる場合
台詞のFD 02,FD 03,FD 04の部分が設定した文字列に置き換わる。
(vaが00ならFD 02、01ならFD 03、02ならFD 04に指定した文字列を代入する)
・選択したポケモンの名前
7D va ** ** 02
・先頭のポケモンの名前
7E va 02
・手持ちの上からnn番目のポケモンの名前
7F va nn 00 02
・選択したアイテムの名前
80 va $$ $$ 02
・選択した技の名前
82 va SK SK 02
・選択した数値
83 va co co 02
・予め設定されている言葉(※「うつくしさ」や「クリムゾン」、「ゴールド」など)
84 va wo 00 02



●ランダム条件分岐
8F nn 00 21 0D 80 00 00 06 01 SS SS SS 08
21 0D 80 01 00 06 01 SS SS SS 08
21 0D 80 02 00 06 01 SS SS SS 08
21 0D 80 03 00 06 01 SS SS SS 08
21 0D 80 04 00 06 01 SS SS SS 08
・・・
21 0D 80 [nn-1] 00 06 01 SS SS SS 08 ss 02
・「8F nn 00」の部分で0~nn-1の範囲の実数値がランダムに入力される。
・つまり乱数を発生させると言う事。
・そのランダムの数値がnxの時、「21 0D 80 nx 00 06 01 SS SS SS 08」の
 SS SS SSのオフセットへジャンプする。

●所持金を増やす
90 KK KK KK KK 00 02

●所持金を減らす
91 KK KK KK KK 00 02

●金をいくら持ってるかで条件分岐
92 KK KK KK KK 00 21 0D 80 00 00 06 01 SS SS SS 08 ss 02
・金額に満たない場合はSS SS SSのオフセットへ飛ぶ
・そうでなければssを実行

●所持金画面を表示する
93 00 00 00 02
・このスクリプトが実行されるとその次の会話イベント発生時に同時に所持金を表示する。
・画面に所持金を表示してる状態で所持金を増減させても画面に表示されている金額は変化しない

●所持金画面の表示を止める
94 00 00 6C 02

●所持金画面を更新する
95 00 00 00 02
・画面に所持金を表示してる状態で所持金を増減させた後このスクリプトを使えば画面に表示されている金額が変化する

●画面効果
97 gg 02

●画面効果2
98 gg nn 02
・1と違ってnnの値の分徐々に変化していく

●暗闇
99 nn 00 02
・主人公周辺以外は真っ黒になって何も見えなくなる
・nnの数値が大きいほど見える範囲が狭くなる
・図鑑やポケモンメニューを開くなどして一旦画面を切り替えないと何故か繁栄されない

●光が差し込む
9A nn 02
・上の暗闇のスクリプトの後に使う
・主人公周辺の見える範囲が広くなる
・暗闇のnnより小さい値にする事
・ムロジムの仕掛け

●会話3
9B @@ @@ @@ 08 09 02 02
・67~や0F 00~との違いは不明

●アニメーション
9C nn 00 02
・nnの値が00だと主人公の上に「!」を表示
・01で居合い切り(草むら)
・02で居合い切り

●全滅時の復活場所の設定
9F pc 00 02
・目の前が真っ暗になった時pcの値に応じた場所(ポケモンセンター)へ移動します。
・他のポケモンセンターに入ると設定場所がそのポケモンセンターに変わるので注意。

●性別で条件分岐
A0 21 0D 80 00 00 06 01 SS SS SS 08 ss 02
・主人公が男の子ならSS SS SSのオフセットへ飛ぶ
・女の子ならssを実行

●ポケモンの鳴き声
A1 ** ** 02 00 02

●マップタイルの変更(カンナ倒した後に入り口が開くとかそういうやつ)
A2 ++ 00 -- 00 MM MM mo 00 02
・パレットの番号はAMのステータスバーのBlock:~を参考にする事
・マップを切り替えると変更されたタイルが元に戻る
・元々移動不可の場所を移動可能にする場合、移動エリアの設定が0になる
・元々移動できる場所を移動可能のままにする場合、移動エリアの設定を引き継ぐ

●マップで設定している天候に戻す
A3 A5 02

●天候の操作
A4 WW 00 A5 02

●タイルセットの変更
A7 ts nn 02
・そのマップで使用するタイルセットを一時的に任意の番号に変更する。
・nnが00ならタイルセット1を、01ならタイルセット2をtsに変更する。
・AMの使用するタイルセットを参照。
・例によって図鑑や手持ちのポケモン等を見て画面を切り替えなくてはいけない。

●オブジェクトの生成
AA GN on ++ 00 -- 00 00 ac 02
・現在自分のいるマップに新しく人を設置する
・GNはAMの画像Noを参考にする事
・生成した人物は背景扱いになってるっぽいので
 オブジェクトの生成とは言えないかも。
・acの値に応じて生成されたオブジェクトがアクションをするので、
 いろいろ数値を弄ってみるといいかもしれない。
・onは生成時に自分で適当に決めても良い。
 ただ、番号を重複させるとAB on ac 02の
 スクリプトを動かす時に面倒な事になるので注意。

●生成したオブジェクトのアクション変更
AB on ac 02
・オブジェクトの生成で生成されたオブジェクトのアクションを変更する。
・変更したいオブジェクトのonの値と、このスクリプトonの値は同じでなければならない。

●扉を開く1
AC ++ 00 -- 00 02
・x座標が++,y座標が--の扉のタイルをアニメーションさせて扉を開く。
・自動ドアでも手動ドアでも動作するから扉以外のものも動くかもしれないと思ったものの
 氷のタイル(割れるやつ)は動かなかったから気のせいだろう。

●扉を開く2
AC ++ 00 -- 00 AE 02
・この後ろにスクリプトを追加する場合は1と違って開く動作の
 アニメーションが終了してから次のスクリプトが動作する。

●扉を閉める1
AD ++ 00 -- 00 02
・x座標が++,y座標が--の扉のタイルをアニメーションさせて扉を閉める。

●扉を閉める2
AD ++ 00 -- 00 AE 02
・この後ろにスクリプトを追加する場合は1と違って閉じる動作の
 アニメーションが終了してから次のスクリプトが動作する。

●扉を開く3
AF ++ 00 -- 00 02
・x座標が++,y座標が--の扉のタイルを扉が開いた状態の画像に変更する。
・1、2と違ってアニメーションはしない。

●扉を閉める3
B0 ++ 00 -- 00 02
・x座標が++,y座標が--の扉のタイルを扉が閉じた状態の画像に変更する。
・1、2と違ってアニメーションはしない。

●持ってるコインの数で条件分岐
B3 0D 80 21 0D 80 KA KA 06 00 SS SS SS 08 ss 02
・コインがKA KAより少なければSS SS SSのオフセットへ飛ぶ
・そうでなければssを実行

●コインを増やす
B4 KA KA 02

●コインを減らす
B5 KA KA 02

●野生のポケモンとの戦闘
B7 02
・直前に「B6 ** ** ## $$ $$」または「16 04 80 ** ** 16 05 80 ## 00 16 06 80 $$ $$ 25 BB 01」
 と入力する事で出現するポケモンを選択する。
・通常ミュウとデオキシスは正規の方法じゃないと捕まえても言う事を聞かないが、
 「16 04 80 ** ** 16 05 80 ## 00 16 06 80 $$ $$ 25 BB 01」で出現ポケモンを選択した場合の戦闘で
 捕獲すると言う事をちゃんと聞くようになるっぽい。
・野生のポケモンが何も落とさない場合 
 (pokemon_Synthesisの野生で持っている道具の項目が無しになっている場合) 
 は何故かアイテムコードを入力しても何も持ってない状態になる。

●所持しているコインの数を画面に表示する
C0 00 00 02
・このスクリプトが実行されるとその次の会話イベント発生時に同時にコインの数を表示する。
・画面にコインを表示してる状態でコインを増減させても画面に表示されている金額は変化しない。

●コインの数の表示を止める
C1 00 00 02

●コインの数の表示を更新する
C2 00 00 02
・画面にコインの数を表示してる状態でコインを増減させた後このスクリプトを使えば画面に表示されている金額が変化する

●オブジェクト消去3
D0 hh hh 02
・29~との違いがわからん。
・もともとは空を飛ぶでいける行き先を変更する部分で使われていた。


--------------------------------------------------------------------------
■条件分岐系のスクリプトについての補足
06 01 SS SS SS 08~って所を07 01 SS SS SS 08~に変更すると
条件を満たしたときにSS SS SSのオフセットに飛ぶのではなく
条件を満たしたときにSS SS SSのオフセットを参照する風に変わる。
何が違うのかと言うと、SS SS SSのオフセットのスクリプトが02ではなく
03で終わった場合、条件分岐のスクリプトに戻ってくるので
オフセットを参照した後SS SS SS 08 ss 02のssの部分を実行できるようになる。

--------------------------------------------------------------------------
■スクリプトの複合の仕方

スクリプトの最後の02はそこで処理が終わってるよって意味の
いわば蓋のようなものなので複合させる時にはそれを取り外して
別のスクリプトとくっつけてやればおk。

例)会話の後に野生ポケモンと戦闘だ!
・会話 67 @@ @@ @@ 08 09 02 02
・野生との戦闘 B6 ** ** ## $$ $$ B7 02
この2つをくっつけると
↓
こうなる
67 @@ @@ @@ 08 09 02 B6 ** ** ## $$ $$ B7 02

nice!(0)  トラックバック(0) 
共通テーマ:ゲーム

nice! 0

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。