「コード/命令文」の編集履歴(バックアップ)一覧はこちら
「コード/命令文」(2009/02/18 (水) 13:21:43) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
&bold(){}&bold(){}*アイテム効果コード
【B[**]など、独特の構文について】~
. ** を先頭として
|~B|1BYTE|
|~W|2BYTE(WORD)|
|~D|4BYTE(DWORD)|
の値を示す。
#contents
**00 アイテム破壊確率
破損率を設定。
-ItemBreak;
【構文】
00 **
- **に指定した確率(00~64)で個数が一つ減る。
**01 ジャンプ
-JMP;
無条件ジャンプ。~
【構文】
01 ** **
- ** **に指定したアドレスへジャンプ。
ただし、アイテムデータの先頭位置を00 00 としている事に注意。~
例えば、効果コードの先頭へ移動する場合は
01 90 00
とする。
**02 条件ジャンプ
-else;
条件ジャンプ。~
【構文】
(条件式) 02 ** **
条件がFALSE(非成立)の時[Addres]に指定したアドレスへジャンプ。~
ただし、アイテムデータの先頭位置を00 00 としている事に注意。~
これが無い場合、デフォルトは効果スクリプトの終了。 ~
条件については、10,11,12コード、或いは比較演算コードを参照のこと。
** 03・04 状態参照
自分(03)、対象(04)の状態を参照する。 ~
演算子コード使用可能。~
【構文】
03 *1 *2 *3
- *1は[[■状態参照コード>アドレス/行動状態]] を参照。 *2, *3 は [[■演算子コード>コード/演算子]] を参照の事。
~
【例】
03 03 01 04
使用者の向きを90度右方向へ回転させる。
**05~08 ステータス参照
ステータス参照。~
05,07は使用者。06,08は対象のキャラデータを参照する。~
05,06は0100台、07,08は0200台を参照。~
【構文】
05 *1 *2 *3
- *1 は[[■キャラクタデータ>アドレス/キャラクタ]]、 *2, *3 は [[■演算子コード>コード/演算子]] を参照の事。
~
【例】
05 4C 4C 20
使用者の現在HPを一時計算領域 W[20] へコピー。
**09・0A effect
エフェクト発動。~
09は発動者=使用者。0Aは発動者=対象。~
【構文】
09 *1 *2 *2
- *1 で効果、*2 で色を指定。
剣衝撃波・宝箱トラップなどを除いて基本的にダメージ・回復効果は発動しない(Resist表示)。~
詳細は[[■効果エフェクト>コード/特殊エフェクト(09・0A)]]を参照。
**0B 計算用バッファ参照
一時計算用領域を参照。~
20~32迄は使用できる事が確認済み。~
【構文】
0B *1 *2 *3
- *2, *3 は [[■演算子コード>コード/演算子]] を参照の事。
~
【例】
0B 20 0B 04
-一時計算領域 B[20] に 0以上 4未満の乱数を発生させる。
**0C 数値表示
属性色などに対応した数値を表示する。~
-&link_anchor(_a_13){13・14}を参照。
**0D 装備品参照
自分の装備しているアイテムを参照。~
【構文】
0D *0 *1 *2 *3
- *1 は[[アドレス/アイテム]]、 *2, *3 は [[■演算子コード>コード/演算子]]を参照の事。
- *0 には以下の値を入れる。
|~00|~01|~02|~03|~04|
|武器|防具|盾|装飾1|装飾2|
**0E 魔法
魔法発動。~
【構文】
0E *1 *2 *3 *3
- *1 は
|~00|Wiz系魔法|
|~01|Pri系魔法|
|~02|Fai系魔法|
|~03|ハーブ|
|~04~|特殊攻撃|
-[特殊攻撃]
|~*1 *2|~発動効果|
|~04 00|ウェイブ|
|~05 00|アロー(矢)|
|~06 00|スターダスト(フェアリー魔力弾)|
矢は04 01、魔法弾は04 02か05 01でも発動可能。~
~
その他 *2, *3 については [[■魔法効果>コード/魔法発動]] を参照の事。
**0F ビープ音
-BEEP;
実行不能音を出す。単体で使用する。~
【構文】
0F
**10 ターゲット指定1
-Target_Num;
「対象」をn番目の敵・味方に設定。~
【構文】
10 *1 *2
- *1 が 0 なら味方から、 1 なら敵から選ぶ。
- *2 は 0B で使用する一時領域を指定する。
いない場合、02 コードでジャンプ可能。
**11 ターゲット指定2
-Target_Slf;
「対象」を目の前の敵・味方に設定。~
【構文】
11 **
- ** が 0 なら味方から、 1 なら敵から選ぶ。
いない場合、02 コードでジャンプ可能。~
以下使用例
[390]11 00
[392]02 95 00
[395]12 2D
[397]FF
-効果:効果発動時に、
--目の前に11 00コードの対象者が居たら、その対象者の
--目の前に11 00コードの対象者が居なかったら、発動者自身の
HPが全回復する。
※つまり、11コード発動時に対象が存在しない場合、自分自身が対象となる。
&aname(_a_12){}
**12 状態変化
-Trans;
「対象」にステータス異常を起こさせる。~
【構文】
12 **
-抵抗された場合、02 コードでジャンプ可能。 ** で指定する値は以下のとおり。
|*|~+0|~+1|~+2|~+3|~+4|~+5|~+6|~+7|
|~00|E-Weapon|D-Enemy|D-Aliment|E-Fire|E-Earth|E-Wind|E-Water|Paralyze|
|~08|Confusion|Curse|Silence|Sleep|Stun|Stoned|Berserk|AT-Up|
|~10|AT-Down|DF-Up|DF-Down|Haste|Slow|MAT-Up|MAT-Down|MDF-Up|
|~18|MDF-Down|Ainti Circle|Invinicible|Weak|Lebitate|Dispel Magic|Poison|Feeble|
|~20|Drain|Regeneration|Anti Poison|Anti Paralyze|Anti Feeble|Sanity|Stone Fresh|Anti Poison?|
|~28|Anti Paralyze|Resurrection|Enagy recover|HP Heal(*注釈)|HP Heal(*注釈)|Restore|ReVive|Dead|
【注釈】
-「EQ・Bクエスト中の場合」
:2B|最後に発動した魔法の基本威力+装備修正を含めたMin/8(端数切捨て、MAX=124)
:2C|最後に発動した魔法の基本威力+装備修正を含めたMin/4(端数切捨て、MAX=249)
~
-「Bバトルロイヤルの場合」
:2B|最後に発動した魔法の基本威力+装備修正を含めたMin/8(端数切捨て、MAX=124)
:2C|最後に発動した魔法の基本威力/2+装備修正を含めたMin/8(端数切捨て、MAX=124)
~
さらに、この回復量は
ヒーリング=2B
リフレッシュ=2C
と一致する。
&aname(_a_13){}
**13・14 数値表示
属性色を持つ数値を表示。~
【構文】
13 *1 *2 *3
- *1 は表示する値のサイズ。
|~00|BYTE(1Byte)|
|~01|WORD(2Byte)|
|~02|DWORD(4Byte)|
- *3 は属性による色指定。
- *2 には 0B で参照する一時計算領域を指定。
余談だが、デバッグ・テストに重宝する。 ~
~
【例】
05 44 4C 20 13 01 20 00
-使用者のレベル(2バイト)を無属性の色(白)で使用者位置に表示。
***色についての補足
|~00|~01|~02|~03|~04|~05|~06|~07|~08|~09|~0A|~0B|~0C|
|明灰|緑|オレンジ|青|茶|緑|黄|暗灰|白|暗赤|赤|変(赤緑金)|黒|
|無属性|回復|火|水|地|風|光|闇|聖|邪|例:MPダメージ|例:ジェル入手|例:ジェル喪失|
**15 効果音
効果音発生。~
【構文】
15 *1 *2 *2 *3 *3
基本コードは【15 xx 00 04 00 15】で一通り聞いてみると良い。
- *1 は音の種類。:1Byte
- *2 は再生速度。:2Byte(値が大きければ速く、小さければ遅い音になる。速度と同時に音の高さも上下する。)
--普通にプレイしてて聞くサウンドは00 04で再生してる場合が多い。
--00 04を通常速度とする場合、00 08で2倍速、00 02で1/2倍速になる。
- *4 は再生音量。:2Byte(値が大きいほど大きな音になる)。
--正規のアイテムでは10 0C とか 10 15 位のボリュームが多い。
---(大きくても10 20くらいがよいかも)
**FF 終了位置
効果コード終了。~
【構文】
FF
&bold(){忘れないように}。~
これを付け忘れると、プログラムは FF を検出するまでひたすらメモリを読み続ける事になり、実行結果が不明になる。
----
#comment_num2(log=コード/命令文/comment)
// 大雑把にコピペ(Y’s)
&bold(){}&bold(){}*アイテム効果コード
【B[**]など、独特の構文について】~
. ** を先頭として
|~B|1BYTE|
|~W|2BYTE(WORD)|
|~D|4BYTE(DWORD)|
の値を示す。
#contents
**00 アイテム破壊確率
破損率を設定。
-ItemBreak;
【構文】
00 **
- **に指定した確率(00~64)で個数が一つ減る。
**01 ジャンプ
-JMP;
無条件ジャンプ。~
【構文】
01 ** **
- ** **に指定したアドレスへジャンプ。
ただし、アイテムデータの先頭位置を00 00 としている事に注意。~
例えば、効果コードの先頭へ移動する場合は
01 90 00
とする。
**02 条件ジャンプ
-else;
条件ジャンプ。~
【構文】
(条件式) 02 ** **
条件がFALSE(非成立)の時[Addres]に指定したアドレスへジャンプ。~
ただし、アイテムデータの先頭位置を00 00 としている事に注意。~
これが無い場合、デフォルトは効果スクリプトの終了。 ~
条件については、10,11,12コード、或いは比較演算コードを参照のこと。
** 03・04 状態参照
自分(03)、対象(04)の状態を参照する。 ~
演算子コード使用可能。~
【構文】
03 *1 *2 *3
- *1は[[■状態参照コード>アドレス/行動状態]] を参照。 *2, *3 は [[■演算子コード>コード/演算子]] を参照の事。
~
【例】
03 03 01 04
使用者の向きを90度右方向へ回転させる。
**05~08 ステータス参照
ステータス参照。~
05,07は使用者。06,08は対象のキャラデータを参照する。~
05,06は0100台、07,08は0200台を参照。~
【構文】
05 *1 *2 *3
- *1 は[[■キャラクタデータ>アドレス/キャラクタ]]、 *2, *3 は [[■演算子コード>コード/演算子]] を参照の事。
~
【例】
05 4C 4C 20
使用者の現在HPを一時計算領域 W[20] へコピー。
**09・0A effect
エフェクト発動。~
09は発動者=使用者。0Aは発動者=対象。~
【構文】
09 *1 *2 *2
- *1 で効果、*2 で色を指定。
剣衝撃波・宝箱トラップなどを除いて基本的にダメージ・回復効果は発動しない(Resist表示)。~
詳細は[[■効果エフェクト>コード/特殊エフェクト]](09・0A)を参照。
**0B 計算用バッファ参照
一時計算用領域を参照。~
20~32迄は使用できる事が確認済み。~
【構文】
0B *1 *2 *3
- *2, *3 は [[■演算子コード>コード/演算子]] を参照の事。
~
【例】
0B 20 0B 04
-一時計算領域 B[20] に 0以上 4未満の乱数を発生させる。
**0C 数値表示
属性色などに対応した数値を表示する。~
-&link_anchor(_a_13){13・14}を参照。
**0D 装備品参照
自分の装備しているアイテムを参照。~
【構文】
0D *0 *1 *2 *3
- *1 は[[アドレス/アイテム]]、 *2, *3 は [[■演算子コード>コード/演算子]]を参照の事。
- *0 には以下の値を入れる。
|~00|~01|~02|~03|~04|
|武器|防具|盾|装飾1|装飾2|
**0E 魔法
魔法発動。~
【構文】
0E *1 *2 *3 *3
- *1 は
|~00|Wiz系魔法|
|~01|Pri系魔法|
|~02|Fai系魔法|
|~03|ハーブ|
|~04~|特殊攻撃|
-[特殊攻撃]
|~*1 *2|~発動効果|
|~04 00|ウェイブ|
|~05 00|アロー(矢)|
|~06 00|スターダスト(フェアリー魔力弾)|
矢は04 01、魔法弾は04 02か05 01でも発動可能。~
~
その他 *2, *3 については [[■魔法効果>コード/魔法発動]] を参照の事。
**0F ビープ音
-BEEP;
実行不能音を出す。単体で使用する。~
【構文】
0F
**10 ターゲット指定1
-Target_Num;
「対象」をn番目の敵・味方に設定。~
【構文】
10 *1 *2
- *1 が 0 なら味方から、 1 なら敵から選ぶ。
- *2 は 0B で使用する一時領域を指定する。
いない場合、02 コードでジャンプ可能。
**11 ターゲット指定2
-Target_Slf;
「対象」を目の前の敵・味方に設定。~
【構文】
11 **
- ** が 0 なら味方から、 1 なら敵から選ぶ。
いない場合、02 コードでジャンプ可能。~
以下使用例
[390]11 00
[392]02 95 00
[395]12 2D
[397]FF
-効果:効果発動時に、
--目の前に11 00コードの対象者が居たら、その対象者の
--目の前に11 00コードの対象者が居なかったら、発動者自身の
HPが全回復する。
※つまり、11コード発動時に対象が存在しない場合、自分自身が対象となる。
&aname(_a_12){}
**12 状態変化
-Trans;
「対象」にステータス異常を起こさせる。~
【構文】
12 **
-抵抗された場合、02 コードでジャンプ可能。 ** で指定する値は以下のとおり。
|*|~+0|~+1|~+2|~+3|~+4|~+5|~+6|~+7|
|~00|E-Weapon|D-Enemy|D-Aliment|E-Fire|E-Earth|E-Wind|E-Water|Paralyze|
|~08|Confusion|Curse|Silence|Sleep|Stun|Stoned|Berserk|AT-Up|
|~10|AT-Down|DF-Up|DF-Down|Haste|Slow|MAT-Up|MAT-Down|MDF-Up|
|~18|MDF-Down|Ainti Circle|Invinicible|Weak|Lebitate|Dispel Magic|Poison|Feeble|
|~20|Drain|Regeneration|Anti Poison|Anti Paralyze|Anti Feeble|Sanity|Stone Fresh|Anti Poison?|
|~28|Anti Paralyze|Resurrection|Enagy recover|HP Heal(*注釈)|HP Heal(*注釈)|Restore|ReVive|Dead|
【注釈】
-「EQ・Bクエスト中の場合」
:2B|最後に発動した魔法の基本威力+装備修正を含めたMin/8(端数切捨て、MAX=124)
:2C|最後に発動した魔法の基本威力+装備修正を含めたMin/4(端数切捨て、MAX=249)
~
-「Bバトルロイヤルの場合」
:2B|最後に発動した魔法の基本威力+装備修正を含めたMin/8(端数切捨て、MAX=124)
:2C|最後に発動した魔法の基本威力/2+装備修正を含めたMin/8(端数切捨て、MAX=124)
~
さらに、この回復量は
ヒーリング=2B
リフレッシュ=2C
と一致する。
&aname(_a_13){}
**13・14 数値表示
属性色を持つ数値を表示。~
【構文】
13 *1 *2 *3
- *1 は表示する値のサイズ。
|~00|BYTE(1Byte)|
|~01|WORD(2Byte)|
|~02|DWORD(4Byte)|
- *3 は属性による色指定。
- *2 には 0B で参照する一時計算領域を指定。
余談だが、デバッグ・テストに重宝する。 ~
~
【例】
05 44 4C 20 13 01 20 00
-使用者のレベル(2バイト)を無属性の色(白)で使用者位置に表示。
***色についての補足
|~00|~01|~02|~03|~04|~05|~06|~07|~08|~09|~0A|~0B|~0C|
|明灰|緑|オレンジ|青|茶|緑|黄|暗灰|白|暗赤|赤|変(赤緑金)|黒|
|無属性|回復|火|水|地|風|光|闇|聖|邪|例:MPダメージ|例:ジェル入手|例:ジェル喪失|
**15 効果音
効果音発生。~
【構文】
15 *1 *2 *2 *3 *3
基本コードは【15 xx 00 04 00 15】で一通り聞いてみると良い。
- *1 は音の種類。:1Byte
- *2 は再生速度。:2Byte(値が大きければ速く、小さければ遅い音になる。速度と同時に音の高さも上下する。)
--普通にプレイしてて聞くサウンドは00 04で再生してる場合が多い。
--00 04を通常速度とする場合、00 08で2倍速、00 02で1/2倍速になる。
- *4 は再生音量。:2Byte(値が大きいほど大きな音になる)。
--正規のアイテムでは10 0C とか 10 15 位のボリュームが多い。
---(大きくても10 20くらいがよいかも)
**FF 終了位置
効果コード終了。~
【構文】
FF
&bold(){忘れないように}。~
これを付け忘れると、プログラムは FF を検出するまでひたすらメモリを読み続ける事になり、実行結果が不明になる。
----
#comment_num2(log=コード/命令文/comment)
// 大雑把にコピペ(Y’s)