サイトロゴ

フリーのRTSRPG「Millennium Legend」をメインとしたブログ、その他すぴブレの改造講座など。
 
今回はあまりにも説明しづらくてまとめあげるのがかなり遅れた攻撃スキルについての講座です。

今回の大まかな流れとしては
・System/AttackObj.xmlを編集しスキルの大本を作成
・Data/Skill.xmlにAttackObjで作成したスキルを登録
・キャラやアイテムに追加

今回は単なるスキルの追加の部分の呼応里なっています、詳しい内容はまた今度の機会に。

あらかじめの補足:
すぴブレの講座にて距離の定義が明確になっていないために以下の通りの例を基準に考えています。

キャラがX座標に40動いた = キャラが右に40ピクセル動いた
マップ座標X=500,Y=200  = マップの左上端のX 0:Y 0からX+500ピクセル Y+200ピクセル

という風にこの講座ではピクセルとしています(ドットの方が正しいかもしれませんが座標1につき1ピクセルです

あと時間に関しては1秒が1000となっています

★System/AttackObj.xmlの改造手順
1.AttackObj.xmlのバックアップを取る(最重要)
  追加してテストプレイをしようと思った際に既存のスキル以外のスキルが使えない!となったときに
  AttackObj.xmlの変更箇所を元に戻し(もしくは削除し)たにも関わらず使えない!という事態を回避するため
2.技のテスト用にData/Skill.xmlであらかじめ登録をしておき、キャラがすぐに使えるようにしておく。
3.いよいよ技の作成に取り掛かる。



まずは以下の6行をData/Skill.xmlの一番下の方に追加する。
------------------------------------------------------------------
    <Skill type="a" name="test" str="テスト" help="詳細" x="0" y="0" w="24" h="24">
        <Level lev="1" pow="1" range="100"/>
        <Level lev="2" pow="1" range="100"/>
        <Level lev="3" pow="1" range="100"/>
        <Level lev="4" pow="1" range="100"/>
    </Skill>
------------------------------------------------------------------

次にキャラもしくはアイテムにスキルを付けるためにいずれかを追加
キャラクターの場合:
        <Skill lev="1" name="test"/>
アイテムの場合:
        <Skill name="test" level="1"/>

テストの際ならばアイテムに追加することを強くお勧めします、ID:0の「何もない」に追加するのが最も楽です。

ここまでの時点でキャラ・アイテムに「テスト」という技が装着されるはずです。
しかし使用しても何も起きません、中身が入っていないのです。

ここからが本番、スキルの中身を作ってみましょう。

今回はどこかで見たことがあるような一行をAttackObj.xmlに追加します。
追加する場所は<Obj name="f_recover" mp="30"/>よりも下でお願いします。

<Ex name="test" type="simple" speed="450" range="8" mp="5" poly="fire" wave="fire" mag="1" knock="2" shake="500" failhit="1"/>

思いっきりエディタマニュアルに書いてあるものそのままです。

結果は火の弾が敵に飛んでいきます、これにてスキルは完成です。(ここから先が難関だったりします?)

AttackObj.xmlに追加した物の解説(<EX/>内)

name:半角英数字で付けてください、Skill.xmlに追加したnameと同じにしてください。

type:これに関してはものすっごい説明が長くなるため次の機会に

speed:見ての通りスピードです、恐らく1秒間にspeedピクセル分進むという事であっていると思います。

range:これはtypeによりますがこの講座で追加したもの(simple)の場合は、着弾時のあたり判定です、中央から半径rangeピクセルとなります。

mp:1発あたりの使用MPです、スキルの場合は消費されません。

poly:Polyフォルダに入っている物を指定できます、もちろんhouseでもいけます。

wave:効果音です、System/WaveDefine.xmlで定義されている物をつかえます。

mag:エディタマニュアルに書いてありますが0で物理、1で魔法となります、0ならアヴォイド他,1ならアンチマジック他で回避できたりします。

knock:当たった場合knockピクセル分吹き飛ばされるのですか?

shake:<Act name="当たった相手" action="damage" time="shake"/> だいたいこんな感じになります、アンシェイクで変動します。

failhit:1にするとあたり判定が発生した際に味方にもダメージが入ります。failhitを0にしない限り味方に当たります。



実のところ上記の説明はtypeがsimpleの物です、typeが変わると内容が変わるものが出てくるので注意が必要です。

次回はtypeの説明をメインにしようかと思っています。
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://stnsllethouse.blog.fc2.com/tb.php/95-664553d7
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック