コード > 命令文

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

*アイテム効果コード 【B[**]など、独特の構文について】
. ** を先頭として

B 1BYTE
W 2BYTE(WORD)
D 4BYTE(DWORD)

の値を示す。

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

05~08 ステータス参照

ステータス参照。
05,07は使用者。06,08は対象のキャラデータを参照する。
05,06は0100台、07,08は0200台を参照。
【構文】

05 *1 *2 *3

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 数値表示

属性色などに対応した数値を表示する。

0D 装備品参照

自分の装備しているアイテムを参照。
【構文】

0D *0 *1 *2 *3

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コード発動時に対象が存在しない場合、自分自身が対象となる。
      

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
と一致する。

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

忘れないように
これを付け忘れると、プログラムは FF を検出するまでひたすらメモリを読み続ける事になり、実行結果が不明になる。


名前:
コメント:

すべてのコメントを見る
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。