したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

MUGENについて語るスレpart709

838blank:2024/04/22(月) 11:30:44
chainIDはその技が「chainIDに設定されたIDの技から飲み連続ヒットする」ようにする数値、なので
例えば技1(ID:1)にhitdefID = 2と記述されていれば技1はID:2である技2から飲み連続ヒットでき、
それ以外の技からは連続ヒットしない(硬直差的に間に合うタイミングで重なると空振りになる)というものですね
chainID = -1と設定すると特に制限無く何の技からでも硬直差的に間に合ってさえいれば連続ヒットしてくれるようになり、記述省略だとこれの扱いになります

普段はあんまり使わない(設定しない)パラメータですがもともと他の技からはコンボになって欲しくない技(投げ技とか)や
特定技ヒット時に飲みだせる追加入力派生技を作る際などに(派性だけを当てて悪さしたりを防ぐ目的で)使う場合があります
(余談ですがchainIDにその技自身のIDを設定すると自分の技をループコンボすること「だけ」が可能になります)

gethitvar(chainID)で参照した場合、取得しているのはやられ側が食らった技そのもののIDではなく、食らった技が「そこからなら連続ヒットする」と設定されている別の技のIDですが、
>>831 >>833 >>834のような目的で使えるか使えないかで言えば、そこに区別したい各技がそれぞれ違う数値を設定してさえいればいいので、
実際使えます(一般的なhitdefでは省略されていることが多いので区別の役に立たないことが多いが、
この場合targetstateで送る自作ステート内で使うので参照するのも自分の技のhitdefなので記述忘れていない限り設定無しの恐れは無い)

勿論事前の前提として当てる方の技(攻撃側)のhitdefにchainIDが設定されていなければならないので、必然的に
この特殊やられを流用する一連の技はいずれも「指定の特定技以外からは連続ヒットしない(コンボ中継に使えない)単発技」か「ある技の派生としてのみ出て連続ヒットする系の技」
に限られる問題はあります(chainIDに区別目的の為だけだからと存在しない技のIDを入れてた場合は絶対に他から連続ヒットしない技になる、そういう性能にする場合はそれがいい)

一応、ifelseなどを使うことで複数のやられ挙動パターンの一つだけは普通にchainID設定無しを使うことはできますが(ifelse(gethitvar(chainID)=x,A,B)みたいな記述)

ただ>>832も指摘しているように、やられ挙動に必要な数値(vel関係とかfall.recover関係とか)はgethitvarを使うのであれば直接それらの数値を取得もできるので、
gethitvar(chainID)よりはgethitvar(fall.recover)とかgethitvar(fall.recovertime)とかgethitvar(x(y)vel)とかを使った方が早く、
それらが絡まない挙動の変更(そこからさらにchangestateの必要がありその飛び先指定とか)が必要な場合のみ使用すればいい気はします
(というか技の区別だけなら要は設定されている定数に違いがあればいいので、極論gethitvar(damage)とかを最初に取得して使ってもいい)




掲示板管理者へ連絡 無料レンタル掲示板