「SC-/HitDef」の編集履歴(バックアップ)一覧はこちら

SC-/HitDef」(2016/03/03 (木) 00:15:37) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

戻る→[[ステートコントローラーの一覧]] ---- :※解説修正情報※| //●&font(12,b){日付:修正部分の概要} ●&font(20,b){2015-04-30:GivePowerの不具合を再検証。HelperのPower管理の不具合と判明。} ●&font(12,b){2014-12-04:Guard.Distは省略時「変更しない」。初期値としてCNS設定が入っている。} ●&font(12,b){2014-11-04:HitFlagについて。省略しても一応命中する。指定内約は不明。}  … ●&font(20,b){2013-06-02:GetPower,GivePowerの不具合を再検証。GetPowerの不具合と判明。} これより古い情報については最下部に。 ---- //ほかページヘのリンクはLv0のみで。(Lv1~でリンクしようとすると煩雑になりそうなので) *■HitDef【通常攻撃判定定義】 :▼概要| ''自分の攻撃判定枠と相手のくらい判定枠''が重なった時にヒットさせる攻撃判定定義。 攻撃の各種パラメータが相手の状態へ当たる設定の場合ヒットする。 仕様上[[SC-/ReversalDef]]とは併用できない。 ステートが移動するか、ReversalDefなどが実行されるまで定義は持続する。 [[T-/MoveType]]はI以外でなければ機能せず、また''基本的にAでなければならない''。 HitDefの定義をもった攻撃判定へヒットするのが[[SC-/ReversalDef]]である。 :攻撃定義| 通常攻撃定義:[[SC-/HitDef]] 当て身投げ用定義:[[SC-/ReversalDef]] 飛び道具射出:[[SC-/Projectile]] [[SC-/Projectile]]は全て?、[[SC-/ReversalDef]]は一部、HitDefと同じパラメータを使用出来る。 関連:[[T-/GetHitVar()]] :▼必須記述| &b(){Attr = (Attr文字列型)} ;[[攻撃属性]]の指定 -詳しくは[[攻撃属性]]を参照。 &b(){HitFlag = (文字列)} ;命中する状態指定(省略時MA?、検証不足) -※複数指定可、''指定以外の状態には命中しない''。 --''H'':High、[[T-/StateType]]がSの相手 --''L'':Low、StateTypeがCの相手 --''M'':Medium、StateTypeがSかCの相手。「HL」指定と同じ --''A'':Air、StatetypeがAの相手(空中)。 --''F'':Fall、[[T-/HitFall]]が1でくらい状態にある相手(AかD必須) --''D'':Down、StatetypeがLの相手。(Fと組み合わせる必要がある) --''P'':Projectile、[[SC-/Projectile]]へ当たる。''Win版以降用''。 ---該当する項目が抜けている場合、その相手には当たらない。 ---指定例:MAF(ダウン追撃以外可能)、DF(ダウン追撃専用) --''+'':くらい状態の相手にのみ当たる --''-'':くらい状態の相手には当たらない。 ---''「命中判定時点で」のため移動した時点のフレームでも命中する''。 ---例:「-」指定でものけぞりから戻った時点から当てることができる。 ---つまり:相手の行動が不能なタイミングで繋ぐ事が可能。 ----投げ技などで制限する場合はトリガーでも制御すること。 :▼オプション| 文字列指定は、複数指定以外、頭文字で判定。 ''▼HitID'' &b(){ID = (Int型)} ;ヒットID。「[[Target]]ID」を決定する要素。''省略時:0'' -[[Target]]系の処理などを行う際、相手を区別するためのもの。 -ただし[[Target]]自体は自分側管理だが、Target用のID自体は相手側管理。 --細かいことは[[Target]]のページを参照。 &b(){ChainID = (Int型)} ;固定連続技指定 &b(){NoChainID = (Int型)} ;連続不可技指定「,」から2番目を指定可能。 -省略時:-1(全ての攻撃に有効) -特定のIDの後にしか命中しないのがChainID指定 -特定のIDの後では命中しないのがNoChainID指定 --ただし一部挙動が未解明に不安定のようなので注意。&br()使用するなら検証しつつ行うこと。 --NoChainは2つまで指定可能だが3つ以上は指定できない。ChainIDの方は1つのみ。 // ''▼攻撃対象・属性系'' &b(){GuardFlag = (文字列)} ;[[ガード]]が可能な体勢。複数指定可 -※基本HitFlagと同様で、''指定以外の状態ではガードできない''。 --''H'':High、[[T-/StateType]]がSの相手 --''L'':Low、StateTypeがCの相手 --''M'':Medium、StateTypeがSかCの相手。「HL」指定と同じ --''A'':Air、StatetypeがAの相手(空中)。 ---省略時:指定無し(ガード不可) ---なお''数値を入れるとエラーが流れる''。 &b(){AffectTeam = (文字列)} ;対象のチーム。省略時:E(敵のみ) -''E'':Enemy、敵のみ -''F'':Friend、''味方のみ'' -''B'':Both、敵味方両方の''無差別''。 --※''B指定でも出したキャラ自身には命中しない。'' --※&b(){その関係上、B指定の[[SC-/Projectile]]も本体キャラに命中しない。} &b(){Priority = (優先度Int型), (相打ち時文字列)} ;省略時:4 ,H -優先度は基本1~7の数値が望ましいが、一応それ以上・以下でも機能する。 --攻撃判定とくらい判定が互いに重なり同じタイミングで攻撃を受ける場合、&br()''優先度の高い方が一方的にヒットする'' --※''無敵などで片方が命中しない場合は命中する方が一方的に当たる。'' -優先度が同一で相打ちする場合、相打ち時の指定に従う。(省略可) --''H'':Hit、ヒット。相打ちする相手がDogeでなければ、攻撃が命中する。 --''M'':Miss、ミス。相打ちする相手に、自分側の攻撃が命中しない。 --''D'':Dodge、Doubleミス。互いに攻撃が命中しない。 ---P1StateNo指定する場合''Missでなければならない''。 ---またP2StateNo,P2GetP1Stateで[[ステート奪取]]する場合もMissが望ましい。 &b(){HitOnce = (bool型)} ;単一ヒットフラグ -省略時、通常0だが、Attr([[攻撃属性]])がT(投げ)の場合1に。 -1の場合は''複数の相手に重なっても一人にしか当たらない''。 --HitOnce=1の攻撃を当てると、''当てた相手以外のTargetを放棄する''。 -0の場合、相手が複数だと[[Target]]限度の8人まで同時ヒット可能。 --攻撃判定が持続してるならフレーム経過しても複数相手にヒット可能。 -細かくは[[Target]]のページを参照 // ''▼攻撃威力系'' &b(){Guard.Dist = (Int型) } ;攻撃予定範囲の指定 -省略時、''変更しない''。初期値値として最初から[[File-/CNSファイル]]の設定が適応されている。 --相手がガードを始動できる範囲。細かくは[[SC-/AttackDist]]を参照。 &b(){Damage = (ヒットInt型), ([[ガード]]Int型)} ;[[ダメージ]]の数値、省略0,0 -ヒットには攻撃力の補正がかかる。命中した場合のダメージ量は相手の防御力で減衰する。 --[[ガード]]のダメージ値には攻撃力の補正はかからない。 -''威力はHitDef実行時点の数値・攻撃力が使われる。'' --例:攻撃力2倍でHitDefを実行し、攻撃力0.5倍で命中した場合、&br()相手に与えるダメージは2倍側の数値で決定される。 -ダメージ値については[[ダメージ]]のページを参照。 &b(){Kill = (bool型)} ;KOフラグ 省略時:1(KOできる) &b(){Guard.Kill = (bool型)} ;ガード・削り時 -相手に与える[[ダメージ]]量が[[T-/Life]]を上回った場合、&br()[[ダメージ]]量をLife-1まで下げる。 --[[SC-/LifeAdd]]などと重なると0でも死亡する可能性がある。 --詳しくは[[ダメージ]]のページを参照。 &b(){PauseTime = (自分Int型), (相手Int型)} ;HitPauseの時間 &b(){Guard.PauseTime = (自分Int型), (相手Int型)} ;ガードされた場合の。 -PauseTimeの省略時は0,0。Guard.PauseTime省略時はPauseTimeの設定値に。 -命中した後の''停止時間''、ヒットポーズ時間。 --実際に停止するフレーム数は「PauseTime値-1」の模様。0と1では基本に変化はない。 --残り時間は攻撃側は[[T-/HitPauseTime]]で、受けた側は[[GetHitVar(HitShakeTime)>T-/GetHitVar()]]で確認。 ---→PauseTime=*,1と*,0では、GetHitVar(HitShakeTime)で認識する数値が異なる。HitPauseTimeは同一。 -ヒットポーズ中は''基本的な処理が一時的に停止する''。 --''IgnoreHitPause=0(省略含む)のステートコントローラーは無視'' --''アニメ処理も停止中は進まず、同じアニメを表示する'' --[[SC-/Pause]][[SC-/SuperPause]]のMoveTimeをPauseTime分得る? ---Pause中に攻撃を受けた場合、''PauseTime分だけ動ける''。そのためPauseTime=*,1以上ではダメージ処理が行われる。 ---*,0の場合Pause中はダメージ処理が行われず、ダメージは保存蓄積され、キャラが動き始める時点でダメージ処理が行われる。 &b(){Ground.HitTime = (Int型)} ;相手ヒットのけぞり硬直時間 省略時0 &b(){Air.HitTime = (Int型)} ;空中時 省略時20 &b(){Down.HitlTime = (Int型)} ;倒れ時 省略時?不明 -ヒット時、PauseTimeに加えて硬直時間分、相手は行動不能となる。 --''空中硬直はFallが0の場合、着地でも行動可能になる。'' --''空中硬直はFallが1の場合、Fall.Recoverが硬直時間に相当するる'' -Down.HitTimeは「ダウンのけぞり」に限る。 --ダウンのけぞりは倒れ中に受ける浮き上がらないくらい状態のこと。 ---つまりDown.VelocityのY速度が0で無いなら適応されない。 --ダウンのけぞりではDown.HitTime分、起き上がれない。 &b(){Guard.HitTime = (Int型)} ;ガードのけぞり時間 省略時0? &b(){Guard.CtrlTime = (Int型)} ;ガードのけぞり硬直時間  &b(){AirGuard.CtrlTime = (Int型)} ;空中時の硬直時間 -CtrlTime省略時はGuard.SlideTimeと同じ値になる。 -ガード時ののけぞり時間と硬直時間。''ヒットと違い別々'' --CtrlTimeとHitTimeの''どちらかを終えた時点''でCtrlが戻る。 --CtrlTime>HitTimeの場合、のけぞり終了時点で行動可能に。 --CtrlTime<HitTimeの場合、のけぞり終了前に、行動可能に。 ---つまりその場合→''Movetype=H&&Ctrl=1''の状態となる。 -※''Dos版の場合、Guard.HitTimeの反映値が半減する。'' --Dos版でもCtrlTime自体は指定値と同じ分になる。 &b(){Ground.SlideTime = (Int型)} ;地上ヒットバックの時間 省略時0 &b(){Guard.SlideTime = (Int型)} ;ガード時。省略時Ground.SlideTimeと同じ値 -指定時間の分、地上でのノックバックが残り続ける。空中には影響なし。 --ただし、元々摩擦が発生しているため、確実ではない。 --なおヒット時の指定時間後は毎フレーム0.6倍、ガード時はX速度が0になる。 --またHitTime分が0になった場合もノックバックは停止する。 -「硬直時間の差」の基本は --ヒット時:PauseTimeの差+HitTimeがのけぞり硬直時間~ --ガード時:PauseTimeの差+HitTimeかCtrlTimeのどちらか短い方~ ---そこに攻撃後の動作時間で、有利不利がおおよそ決定する。 --なお持続する時間で有利不利を一定にしたい場合 ---[[T-/AnimElemTime()]]に判定発生のElem番号を入れて減算する。 // ''▼ノックバック・ふっとび関係'' &b(){Ground.Velocity = (X速度Float型) ,(Y速度Float型)} ;ノックバック速度(地上) &b(){Air.Velocity = (X速度Float型) ,(Y速度Float型)} ;ノックバック速度(空中) &b(){Down.Velocity = (X速度Float型) ,(Y速度Float型)} ;ノックバック速度(倒れ) &b(){Guard.Velocity = (X速度Float型)} ;地上・ガード時 ※,を入れるとエラー &b(){AirGuard.Velocity = (X速度Float型) ,(Y速度Float型)} ;空中・ガード時 -それぞれで[[SC-/HitVelSet]]で適応される、ノックバックの初速量。 --[[Commonステート]]のくらいステートで、PauseTime後に適応される。 -Ground.Velocityと、Air.Velocityは省略時どちらも0,0 --Down.Velocityは省略時Air.Velocityと同一値 --Guard.Velocityは省略時Guround.VelocityのX速度と同じ値に。 --AirGuard.Velocityは省略時Air.Velocityの、X*1.5、Y/2の値に。 &b(){Yaccel = (Float型)} ;相手ふっとび中の重力加速度 -省略時:0.35 ※一覧では相手の重力依存とあるがWin以降で異なる? --くらいふっとび中、毎フレームこの値が加算される。 ---処理の関係上、ステートが変動した時二重以上適応される。 --この値が高いとすぐ落下する。低いとゆっくりと落下する。正数推奨。 &b(){P1Facing = (Int型) };向き変更(自分)省略時:無効 -''-1''設定にした場合、攻撃をヒットした時点で自身の向きを反転。 &b(){P1getP2Facing = (Int型) };向き変更(相手基準)省略時:0(無効) -''1''にするとヒットさせた相手と同じ方向、''-1''で相手とは反対向きにする。 &b(){P2Facing = (Int型) };相手向き変更)省略時:無効 -''1''で相手を自分と反対向き(向き合うよう)に、''-1''で同じ向きに。 ''Fall倒れ関係'' &b(){Fall = (bool型) };倒れフラグ 省略時:0? &b(){Air.Fall = (bool型) };空中倒れフラグ 省略時:Fallと同じ値 -与えた攻撃がFall=1の場合、相手の[[T-/HitFall]]は1となる。 --HitFallが1の状態では、Fall=0の攻撃を受けても1のまま。 ---HitFallは[[T-/MoveType]]がH以外になると0になる。 --HitFall=1だとくらいステートでは、何もしないとダウンする。 &b(){Fall.Recover = (bool型) };受け身可能フラグ 省略時:1(可能) -HitFall=1吹っ飛び中、5050番ステートで受け身が可能かどうか。 &b(){Fall.RecoverTime = (Int型) };受け身不能時間 省略時:4 -Fall.Recoverが1でもPauseTimeの後、指定時間分経過まで受け身不能。 --Fall.Recoverが1でFall.RecoverTimeが経過すると[[T-/CanRecover]]が1に --その状態+5050番ステート内で、受け身コマンド入力で受け身を取る。 -Fall.Recoverが1でも、Fall.RecoverTimeが非常に長い場合、&br()倒れる前に受け身可能にならないため実質受身不可。 &b(){Fall.XVelocity = (Float型) } ;倒れバウンドX速度・省略時無効 &b(){Fall.YVelocity = (Float型) } ;倒れバウンドY速度・省略-4.5 -[[SC-/HitFallVel]]で適応される速度値 --X速度は省略時[[GetHitVar(Fall.XVel)>T-/GetHitVar()]]が「-32760」&br()「''-32760''」の場合、[[SC-/HitFallVel]]実行時点のX速度の3/4となる。 ---もし吹っ飛び中に変化しても変化後の3/4で処理。 ---指定をした場合は吹っ飛び中にTarvetVeladdなどで変化させても指定値で実行。 &b(){Fall.Damage = (Int型) } ;ダウン時の[[ダメージ]]量 -[[SC-/HitFallDamage]]で適応される値。 --攻撃力・防御力による影響・補正が無い。 &b(){Fall.Kill = (bool型) };Fall.Damageによる殺害フラグだが… -[[T-/GetHitVar()]]では確認できるっぽい?が''機能しない模様'' --0に設定しても、Fall.Damageで死亡する? &b(){Down.Bounce = (bool型)} ;再度バウンドフラグ 省略時0 -通常、ダウン状態からの追い打ちで浮かんだ場合はダウンバウンドしない。 -これはDown.Bounceが0のためで、1にすると --ダウン状態への追い打ちで浮かんだ後、ダウン着地時にバウンドする。 --なお、一覧にdown.velocityのY速度が0の場合のみと書かれているが&br()''実際は0以外でないと適応されない模様?'' // ''▼ステート移動'' -有効設定にすると&b(){[[SC-/HitOverride]]が発揮する相手に命中しなくなる} --P1StateNo指定のみでもHitOverride命中しなくなる。 &b(){P1StateNo = (Int型) };自分ステート移動 省略時:無効 -攻撃がヒットした場合、自分のステートを変更する。 --※''使用する場合、必ずPriority設定をMissかDodgeにすること'' --※&b(){[[SC-/Projectile]]では指定しないこと。} --※ヒットを確認した時点で[[SC-/ChangeState]]する手もあるが&br()ヒットガード同時ヒット時などの確認が厄介。 &b(){P2StateNo = (Int型) };相手ステート移動 省略時:無効 &b(){P2GetP1State = (bool型) };[[ステート奪取]]フラグ -P2Get~省略時:P2StateNoがあるなら1([[ステート奪取]])、無いなら0 -攻撃がヒットした場合、相手のステートを変更・奪取する。 --※''使用する場合、なるべくPriority設定をMissかDodgeにすること'' --[[ステート奪取]]のページも参照。 // ''▼相手壁際時の自身のノックバック'' &b(){Ground.CornerPush.Veloff = (Float型)} ;地上時 &b(){Air.CornerPush.Veloff = (Float型)} ;空中時 省略時Groundと同一? &b(){Down.CornerPush.Veloff = (Float型)} ;倒れ時 省略時Groundと同一? &b(){Guard.CornerPush.Veloff = (Float型)} ;地上ガード 省略時Groundと同一? &b(){AirGuard.CornerPush.Veloff = (Float型)} ;空中ガード 省略時Groundと同一? -Groundの省略時は --Attr([[攻撃属性]])のStateType属性がA(空中)の場合? 0。 --Attrがそれ以外の場合は、Guard.Velocity*1.3、とのこと。 -''相手の背後が壁の場合、自分側のPauseTime終了時点で速度に加算される?'' --※''相手が壁へ向いている場合は無効。'' --永久制限として用いたい場合は、P2Facing必須。&br()前進するタイプの技の場合、その前進量より多くすること。 // ''▼表示相手アニメ系'' &b(){AnimType = (文字列)} ;相手ののけぞりの強さ・吹っ飛び方の指定(地上用) &b(){Air.AnimType = (文字列)} ;空中時の指定 &b(){Fall.AnimType = (文字列)} ;Fall時([[T-/HitFall]]が1の場合)の指定 -''L'':Light、弱(AnimType省略時) -''M'':Medium、中 -''H'':Hard、強 -''B'':Back、ふっとび系(地上のけぞりの場合はHardと同義) -''U'':Up、オプション:真上ふっとび(詳しくは[[File-/Airファイル]]参照) -''D'':Diagup、オプション:斜めふっとび(※安定した指定ではないため非推奨) --Up、Diagupは''必ず浮かせるタイプの攻撃で用いる事''。&br()地上のけぞりでは表示に不具合が発生する。 --基本的にのけぞりの「強さ」の設定。[[Commonステート]]で呼び出される。 --Air.AnimTypeは省略時、AnimTypeと同じ。 --Fall.AnimTypeは省略時Airがupならup、up以外ならbackに。 &b(){Ground.Type = (文字列)} ;のけぞりタイプ(地上用) &b(){Air.Type = (文字列)} ;空中でののけぞりタイプ -''H'':High、上のけぞり -''L'':Low、下のけぞり -''T'':Trip、転倒属性を持ち、''専用のくらいステート''を使う。 -n:non、無し※''非推奨'' --屈みくらい、AnimtypeがB,U,D(空中吹っ飛び系)の場合は関係ない。 &b(){ForceStand = (bool型)} ;立たせフラグ -屈んでいる相手にヒットした場合、相手を立たせるかどうか。 -省略時、Ground.VelocityのY速度値が0なら0、0以外なら1(立たせる) // ''▼エフェクト'' &b(){SparkNo = (Int型) };ヒットエフェクトの番号 &b(){Guard.SparkNo = (Int型) };ガードされた場合の。 -省略時、[[File-/CNSファイル]]の設定が適応される。-1指定で無表示。 -通常[[File-/fightfxファイル]]のアニメを使用。詳しくは該当ページ参照。 -指定を「S(Int値)」とすると自分(Self)のアニメをエフェクトとして代用できる。 -ちなみにステコン一覧ではS2000,0という例が出ているが、,0指定は不可のはず? &b(){SparkXY = (X座標Int型),(Y座標Int型) };ヒットエフェクトの位置指定 -省略時0,0 XとYで座標の基準が異なる。 -''X座標は相手の座標+相手のキャラ幅基準''・''Y座標は自分の座標'' --Xは位置的に[[T-/P2BodyDist X]]に近いが計算しても速度分はズレる。 --自身基準で出したい場合は[[SC-/Explod]]のが確実だが表示は遅れる。 --なお[[SC-/Projectile]]の場合はProjの座標基準? &b(){HitSound = (グループInt型),(アイテムInt型) };ヒット音の番号 &b(){GuardSound = (グループInt型),(アイテムInt型) };ガードされた場合の -省略時?。通常指定の場合[[File-/Common.Snd]]の音声を指定。 --基本「5,0(弱ヒット)~5,4(大打撃音)」と「6,0(ガード音)」。 --指定を「S(グループInt型),(アイテムInt型)」にすれば自身の音声を使用。 // &b(){▼ヒット時?の相手の[[SC-/PalFX]]} &b(){PalFX.Time = (Int型) };PalFXのTIme値 省略時:0 &b(){PalFX.Mul = (Int型),(Int型),(Int型) };PalFXのMul値 &b(){PalFX.Add = (Int型),(Int型),(Int型) };PalFXのAdd値 以下3種もステコン一覧に記述はないが使用可能([[SC-/PalFX]]のパラメーターは全て使える) &b(){PalFX.color = (Int型) };PalFXのColor値 &b(){PalFX.InvertAll = (bool型) };PalFXのInvertAll値 &b(){PalFX.sinAdd = (Int型),(Int型),(Int型) ,(Int型) };PalFXのsinAdd値 &b(){▼ヒット時?の[[SC-/EnvShake]]} &b(){EnvShake.Time = (Int型) };EnvShakeのTIme値 省略時0? &b(){EnvShake.Freq = (Float型) };EnvShakeのFreq値 &b(){EnvShake.Ampl = (Int型) };EnvShakeのAmpl値 &b(){EnvShake.Phase = (Float型) };EnvShakeのPhase値 &b(){▼相手の倒れ時用の[[SC-/EnvShake]]} &b(){Fall.EnvShake.Time = (Int型) };EnvShakeのTIme値 省略時0? &b(){Fall.EnvShake.Freq = (Float型) };EnvShakeのFreq値 &b(){Fall.EnvShake.Ampl = (Int型) };EnvShakeのAmpl値 &b(){Fall.EnvShake.Phase = (Float型) };EnvShakeのPhase値 // ''▼その他'' &b(){Air.Juggle = (Int型) };攻撃[[Juggle]]値上乗せ? ''値指定ではない'' -省略時0。基本[[SC-/Projectile]]で用いるためのもの? --なお通常の攻撃Juggle値は[[StateDef冒頭オプション>File-/Stateファイル]]で設定。 &b(){SprPriority = (Int型) };画像の表示優先度? -省略時:1、自身を相手の手前に。-1で相手の奥側になる?  &b(){MinDist = (X座標Int型), (Y座標Int型) };相手座標制限、最小 &b(){MaxDist = (X座標Int型), (Y座標Int型) };相手座標制限、最大 &b(){Snap = (X座標Int型), (Y座標Int型) };相手座標固定 -ヒットした後、[[SC-/TargetBind]]をするのとほぼ同じ? --制限の方は範囲外の場合範囲内に収める感じ? --省略時相手の座標を制限・固定しない。 -※[[SC-/Projectile]]の場合はProjの位置を基準とする。 -※[[SC-/ReversalDef]]では機能しない模様。 &b(){NumHits = (Int型) };加算するヒット数 省略時1 -[[T-/Hitcount]]の増加する量・表示ヒット数を調節する。 --0に設定した場合、Hitocunt・表示ヒット数は増加しない。 &b(){GetPower = (ヒットInt型), (ガードInt型) };命中時、自分が得る[[T-/Power]] &b(){GivePower = (ヒットInt型), (ガードInt型) };命中時、相手が得る[[T-/Power]] -省略時[[mugen.cfg>File-/MUGEN設定ファイル]]の設定値割合分取得する。 --省略時の値は相手に与えるダメージ量×設定値で、ガード時はその半分。 --''省略で0にならない''ため注意。 -''GivePowerはプレイヤーキャラが受けた場合のみ''適応される。 -&b(){※[[SC-/Helper]]ではGetPowerを0,0にし、使用しないこと。} --&b(){※GetPowerの対象がHelper自体ではなく、同じ[[スロットID]]で一つ前に存在していたHelperのサイド側。&br()一度も使われていない[[スロットID]]だった場合はGetPower分はどちらにも加算されない。} --※検証の結果、間違っていたみたい→-&s(){※[[SC-/Helper]]で使う場合、ラウンド中最初に[[SC-/DestroySelf]]が行われるまでGetPower,GivePoweerがズレるバグがあるとのこと。} -一応[[SC-/Helper]]ではHelperType=Playerの場合もGivePowerは反応しているが… --上記と同じバグを抱えており、GivePowerの対象が攻撃を受けたHelper自体ではなく、&br()&b(){攻撃を受けたHelperの同じ[[スロットID]]で一つ前に存在していたHelperのサイド側。&br()一度も使われていない[[スロットID]]だった場合はGivePower分はどちらにも加算されない。} --なお[[SC-/TargetPowerAdd]]についても全く同じバグを抱えている。 -つまり自他が''Helperの場合はまともに機能していない''と言っていい。 ''▼Z軸'' &b(){Attack.Width = (z1Int型), (z2nt型) };''通常使用不可'' // ---- **■Lv1-記述例・補足・注意点 :記述例| [State a, a] Type = xxxx Trigger1 = !Time ;ChangeStateなどをしてきた最初のみ Value = xxxx -記述例での目的 -想定ケースが多すぎる。 :補足| -必要な補足が多すぎる。 -記入するのは必要最低限で良い。 --と言ってもその最低限でもそこそこの量になるが。 --テンプレート化して基本を使いまわせるようにしておくと楽。 -発動するタイミングは適当なタイミングにする --基本、[[TTime>T-/Time]]で最初からか、判定攻撃が出るタイミングの[[T-/AnimElem]]。 --他には[[T-/Movecontact]]=0、[[T-/MoveReversed]]=0を認識している間、&br()ずっと実行し続ける常時更新型くらい。 ---2打目の更新をする場合は[[T-/AnimElemTime()]]などを利用して処理。 ---なお一度実行すると消えないため、攻撃定義を消したい場合は、&br()Attrを空にしたHitDefを実行しなおせば良い。 -ヒットと[[ガード]]で異なるパラメータの適応について --ヒット・[[ガード]]同時の場合については[[リダイレクト]]のページを参照。 --該当する方のパラメータのみ適応される。 -一度実行されるとステートが変更されるか、&br()[[SC-/HitDef]]か[[SC-/ReversalDef]]が新たに実行されるまで持続。 --一度の実行では''一人の相手には一回しか命中しない''。 --HitOnceが0の場合、別々の相手であれば同時でなくても''複数回命中する''。 :注意点| -必要な注意が多すぎる。 -[[発生1F目攻撃の弊害]]も参照。 :吹っ飛び中のアニメによる挙動変動についてとその対応策| [[Commonステート]]の吹っ飛びステートは一部「アニメ終了時」でステートを変更する。 -その時[[SC-/VelAdd]]によって【複数回重力加速度を加算する】などのバグが発生する。 --この辺りは[[T-/HitOver]]でもステート変更を誘発させることができるので、&br()''Fall=1、倒れ属性の場合はAir.HitTime=0にしてしまう方が良い''かもしれない。 -なお空中受け身は5050番ステートにいないと出来ないのだがそのステートに移動するには -+[[T-/HitOver]]する -+硬直のアニメ終了で5035ステート移動→更にアニメ終了(もしくは5035アニメ無い) --このどちらかの処理が必要でAir.HitTimeがFall.RecoverTimeより長い場合、&br()相手によって受け身可能になるまでの時間が異なる可能性が出てくる。 そのため''Fall=1の場合はAir.HitTimeは0が望ましい''、らしい。 :HelperのGetPowerのバグについて| -再検証により判明 -[[SC-/Helper]]は[[SC-/HitDef]][[Sc-/ReversalDef]]両方で''GetPowerは0,0にして使用しないこと'' --''※省略しないこと''。省略すると適当な値が入ってしまう。 --代用として[[SC-/PowerAdd]]で加算するか、攻撃判定を[[SC-/Projectile]]で処理する手もある。 --本体では問題ないもよう。 -バグの状態 --GetPowerでゲージを増やすのが「同じ[[スロットID]]で一つ前に存在していたHelperのサイド側」 --同じスロットIDにいた一個前が自分側のHelperだったら、GetPowerで自分側のゲージが増える。 --同じスロットIDにいた一個前が相手側のHelperだったら、Giveに加えてGetPower分も相手ゲージが増える。 --そのスロットIDに初めて割り当てられたHelperの場合、GetPower分はどちらにも加算されない。 -%%なおGivePowerはHelper相手だと増えないが、GetPowerバグは関係なく上記仕様で増える。%% --※相手がhelperの場合について下記に追記。 :Helperに当てた場合のGivePowerのバグについて| -再調査により判明 -こちらについては対応策が見当たらない。状況自体が限定的なので''気にしなくてもいい''。 -バグの状態 --Helperに対するGivePowerは「攻撃を受けるHelperがHelperType=Playerの場合」に適応される。 --ゲージが増えるのは攻撃を受けたHpelerの「同じ[[スロットID]]で一つ前に存在していたHelperのサイド側」 --状態としては概ねGetPowerと同様。Getする自分が、Giveされる相手に変わっているだけ。 --この【HelperのPowerの紐付けのバグ】は、[[SC-/TargetPowerAdd]]でも起きている。 -自分のPowerを変更する[[SC-/PowerAdd]][[SC-/PowerSet]]は問題なく動く。 //:AI制作時の注意点| //-あれば //---- //**■Lv2-細かいバグ回避 //注意点で書いたことを回避したい場合用。 //---- //#region(■Lv3-細かい応用) //**■Lv3-細かい応用 //他の記述と組み合わせて使用する関係。 //#endregion //---- //#region(■Lv4-バグ利用) //**■Lv-4-バグ応用 //あやしい仕様を活用する関係。 //#endregion //---- //**コメント //細かい話し合い・確認が必要な場合に開放しましょう。 //#comment() ---- :※解説修正情報※古い履歴| 新しい修正情報はページ上部に ●&font(12,b){2014-10-17:Fall.Xvelocityについての間違いを修正。変更なし☓→3/4○} ●&font(12,b){2014-10-11:PalFX.sinAddのパラメータ修正。int型が3つ→4つ。} ●&font(12,b){2014-10-11:HitOnceはTargetDropを発生させる} ●&font(12,b){2014-09-29:GerPowerの脱字を修正。☓GetPwer→GetPower} ●&font(12,b){2014-09-29:Guard.Velocityのパラメータの誤りを修正。,は不要}  … ●&font(12,b){2013-05-16:追記:PalFXについて} ●&font(12,b){2013-04-14:Air.Juggleのスペルミス。×Air.Juiggle→○Air.Juggle} ----
戻る→[[ステートコントローラーの一覧]] ---- :※解説修正情報※| //●&font(12,b){日付:修正部分の概要} ●&font(20,b){2015-04-30:GivePowerの不具合を再検証。HelperのPower管理の不具合と判明。} ●&font(12,b){2014-12-04:Guard.Distは省略時「変更しない」。初期値としてCNS設定が入っている。} ●&font(12,b){2014-11-04:HitFlagについて。省略しても一応命中する。指定内約は不明。}  … ●&font(20,b){2013-06-02:GetPower,GivePowerの不具合を再検証。GetPowerの不具合と判明。} これより古い情報については最下部に。 ---- //ほかページヘのリンクはLv0のみで。(Lv1~でリンクしようとすると煩雑になりそうなので) *■HitDef【通常攻撃判定定義】 :▼概要| ''自分の攻撃判定枠と相手のくらい判定枠''が重なった時にヒットさせる攻撃判定定義。 攻撃の各種パラメータが相手の状態へ当たる設定の場合ヒットする。 仕様上[[SC-/ReversalDef]]とは併用できない。 ステートが移動するか、ReversalDefなどが実行されるまで定義は持続する。 [[T-/MoveType]]はI以外でなければ機能せず、また''基本的にAでなければならない''。 HitDefの定義をもった攻撃判定へヒットするのが[[SC-/ReversalDef]]である。 :攻撃定義| 通常攻撃定義:[[SC-/HitDef]] 当て身投げ用定義:[[SC-/ReversalDef]] 飛び道具射出:[[SC-/Projectile]] [[SC-/Projectile]]は全て?、[[SC-/ReversalDef]]は一部、HitDefと同じパラメータを使用出来る。 関連:[[T-/GetHitVar()]] :▼必須記述| &b(){Attr = (Attr文字列型)} ;[[攻撃属性]]の指定 -詳しくは[[攻撃属性]]を参照。 &b(){HitFlag = (文字列)} ;命中する状態指定(省略時MA?、検証不足) -※複数指定可、''指定以外の状態には命中しない''。 --''H'':High、[[T-/StateType]]がSの相手 --''L'':Low、StateTypeがCの相手 --''M'':Medium、StateTypeがSかCの相手。「HL」指定と同じ --''A'':Air、StatetypeがAの相手(空中)。 --''F'':Fall、[[T-/HitFall]]が1でくらい状態にある相手(AかD必須) --''D'':Down、StatetypeがLの相手。(Fと組み合わせる必要がある) --''P'':Projectile、[[SC-/Projectile]]へ当たる。''Win版以降用''。 ---該当する項目が抜けている場合、その相手には当たらない。 ---指定例:MAF(ダウン追撃以外可能)、DF(ダウン追撃専用) --''+'':くらい状態の相手にのみ当たる --''-'':くらい状態の相手には当たらない。 ---''「命中判定時点で」のため移動した時点のフレームでも命中する''。 ---例:「-」指定でものけぞりから戻った時点から当てることができる。 ---つまり:相手の行動が不能なタイミングで繋ぐ事が可能。 ----投げ技などで制限する場合はトリガーでも制御すること。 :▼オプション| 文字列指定は、複数指定以外、頭文字で判定。 ''▼HitID'' &b(){ID = (Int型)} ;ヒットID。「[[Target]]ID」を決定する要素。''省略時:0'' -[[Target]]系の処理などを行う際、相手を区別するためのもの。 -ただし[[Target]]自体は自分側管理だが、Target用のID自体は相手側管理。 --細かいことは[[Target]]のページを参照。 &b(){ChainID = (Int型)} ;固定連続技指定 &b(){NoChainID = (Int型)} ;連続不可技指定「,」から2番目を指定可能。 -省略時:-1(全ての攻撃に有効) -特定のIDの後にしか命中しないのがChainID指定 -特定のIDの後では命中しないのがNoChainID指定 --ただし一部挙動が未解明に不安定のようなので注意。&br()使用するなら検証しつつ行うこと。 --NoChainは2つまで指定可能だが3つ以上は指定できない。ChainIDの方は1つのみ。 // ''▼攻撃対象・属性系'' &b(){GuardFlag = (文字列)} ;[[ガード]]が可能な体勢。複数指定可 -※基本HitFlagと同様で、''指定以外の状態ではガードできない''。 --''H'':High、[[T-/StateType]]がSの相手 --''L'':Low、StateTypeがCの相手 --''M'':Medium、StateTypeがSかCの相手。「HL」指定と同じ --''A'':Air、StatetypeがAの相手(空中)。 ---省略時:指定無し(ガード不可) ---なお''数値を入れるとエラーが流れる''。 &b(){AffectTeam = (文字列)} ;対象のチーム。省略時:E(敵のみ) -''E'':Enemy、敵のみ -''F'':Friend、''味方のみ'' -''B'':Both、敵味方両方の''無差別''。 --※''B指定でも出したキャラ自身には命中しない。'' --※&b(){その関係上、B指定の[[SC-/Projectile]]も本体キャラに命中しない。} &b(){Priority = (優先度Int型), (相打ち時文字列)} ;省略時:4 ,H -優先度は基本1~7の数値が望ましいが、一応それ以上・以下でも機能する。 --攻撃判定とくらい判定が互いに重なり同じタイミングで攻撃を受ける場合、&br()''優先度の高い方が一方的にヒットする'' --※''無敵などで片方が命中しない場合は命中する方が一方的に当たる。'' -優先度が同一で相打ちする場合、相打ち時の指定に従う。(省略可) --''H'':Hit、ヒット。相打ちする相手がDogeでなければ、攻撃が命中する。 --''M'':Miss、ミス。相打ちする相手に、自分側の攻撃が命中しない。 --''D'':Dodge、Doubleミス。互いに攻撃が命中しない。 ---P1StateNo指定する場合''Missでなければならない''。 ---またP2StateNo,P2GetP1Stateで[[ステート奪取]]する場合もMissが望ましい。 &b(){HitOnce = (bool型)} ;単一ヒットフラグ -省略時、通常0だが、Attr([[攻撃属性]])がT(投げ)の場合1に。 -1の場合は''複数の相手に重なっても一人にしか当たらない''。 --HitOnce=1の攻撃を当てると、''当てた相手以外のTargetを放棄する''。 -0の場合、相手が複数だと[[Target]]限度の8人まで同時ヒット可能。 --攻撃判定が持続してるならフレーム経過しても複数相手にヒット可能。 -細かくは[[Target]]のページを参照 // ''▼攻撃威力系'' &b(){Guard.Dist = (Int型) } ;攻撃予定範囲の指定 -省略時、''変更しない''。初期値値として最初から[[File-/CNSファイル]]の設定が適応されている。 --相手がガードを始動できる範囲。細かくは[[SC-/AttackDist]]を参照。 &b(){Damage = (ヒットInt型), ([[ガード]]Int型)} ;[[ダメージ]]の数値、省略0,0 -ヒットには攻撃力の補正がかかる。命中した場合のダメージ量は相手の防御力で減衰する。 --[[ガード]]のダメージ値には攻撃力の補正はかからない。 -''威力はHitDef実行時点の数値・攻撃力が使われる。'' --例:攻撃力2倍でHitDefを実行し、攻撃力0.5倍で命中した場合、&br()相手に与えるダメージは2倍側の数値で決定される。 -ダメージ値については[[ダメージ]]のページを参照。 &b(){Kill = (bool型)} ;KOフラグ 省略時:1(KOできる) &b(){Guard.Kill = (bool型)} ;ガード・削り時 -相手に与える[[ダメージ]]量が[[T-/Life]]を上回った場合、&br()[[ダメージ]]量をLife-1まで下げる。 --[[SC-/LifeAdd]]などと重なると0でも死亡する可能性がある。 --詳しくは[[ダメージ]]のページを参照。 &b(){PauseTime = (自分Int型), (相手Int型)} ;HitPauseの時間 &b(){Guard.PauseTime = (自分Int型), (相手Int型)} ;ガードされた場合の。 -PauseTimeの省略時は0,0。Guard.PauseTime省略時はPauseTimeの設定値に。 -命中した後の''停止時間''、ヒットポーズ時間。 --実際に停止するフレーム数は「PauseTime値-1」の模様。0と1では基本に変化はない。 --残り時間は攻撃側は[[T-/HitPauseTime]]で、受けた側は[[GetHitVar(HitShakeTime)>T-/GetHitVar()]]で確認。 ---→PauseTime=*,1と*,0では、GetHitVar(HitShakeTime)で認識する数値が異なる。HitPauseTimeは同一。 -ヒットポーズ中は''基本的な処理が一時的に停止する''。 --''IgnoreHitPause=0(省略含む)のステートコントローラーは無視'' --''アニメ処理も停止中は進まず、同じアニメを表示する'' --[[SC-/Pause]][[SC-/SuperPause]]のMoveTimeをPauseTime分得る? ---Pause中に攻撃を受けた場合、''PauseTime分だけ動ける''。そのためPauseTime=*,1以上ではダメージ処理が行われる。 ---*,0の場合Pause中はダメージ処理が行われず、ダメージは保存蓄積され、キャラが動き始める時点でダメージ処理が行われる。 &b(){Ground.HitTime = (Int型)} ;相手ヒットのけぞり硬直時間 省略時0 &b(){Air.HitTime = (Int型)} ;空中時 省略時20 &b(){Down.HitlTime = (Int型)} ;倒れ時 省略時?不明 -ヒット時、PauseTimeに加えて硬直時間分、相手は行動不能となる。 --''空中硬直はFallが0の場合、着地でも行動可能になる。'' --''空中硬直はFallが1の場合、Fall.Recoverが硬直時間に相当するる'' -Down.HitTimeは「ダウンのけぞり」に限る。 --ダウンのけぞりは倒れ中に受ける浮き上がらないくらい状態のこと。 ---つまりDown.VelocityのY速度が0で無いなら適応されない。 --ダウンのけぞりではDown.HitTime分、起き上がれない。 &b(){Guard.HitTime = (Int型)} ;ガードのけぞり時間 省略時0? &b(){Guard.CtrlTime = (Int型)} ;ガードのけぞり硬直時間  &b(){AirGuard.CtrlTime = (Int型)} ;空中時の硬直時間 -CtrlTime省略時はGuard.SlideTimeと同じ値になる。 -ガード時ののけぞり時間と硬直時間。''ヒットと違い別々'' --CtrlTimeとHitTimeの''どちらかを終えた時点''でCtrlが戻る。 --CtrlTime>HitTimeの場合、のけぞり終了時点で行動可能に。 --CtrlTime<HitTimeの場合、のけぞり終了前に、行動可能に。 ---つまりその場合→''Movetype=H&&Ctrl=1''の状態となる。 -※''Dos版の場合、Guard.HitTimeの反映値が半減する。'' --Dos版でもCtrlTime自体は指定値と同じ分になる。 &b(){Ground.SlideTime = (Int型)} ;地上ヒットバックの時間 省略時0 &b(){Guard.SlideTime = (Int型)} ;ガード時。省略時Ground.SlideTimeと同じ値 -指定時間の分、地上でのノックバックが残り続ける。空中には影響なし。 --ただし、元々摩擦が発生しているため、確実ではない。 --なおヒット時の指定時間後は毎フレーム0.6倍、ガード時はX速度が0になる。 --またHitTime分が0になった場合もノックバックは停止する。 -「硬直時間の差」の基本は --ヒット時:PauseTimeの差+HitTimeがのけぞり硬直時間~ --ガード時:PauseTimeの差+HitTimeかCtrlTimeのどちらか短い方~ ---そこに攻撃後の動作時間で、有利不利がおおよそ決定する。 --なお持続する時間で有利不利を一定にしたい場合 ---[[T-/AnimElemTime()]]に判定発生のElem番号を入れて減算する。 // ''▼ノックバック・ふっとび関係'' &b(){Ground.Velocity = (X速度Float型) ,(Y速度Float型)} ;ノックバック速度(地上) &b(){Air.Velocity = (X速度Float型) ,(Y速度Float型)} ;ノックバック速度(空中) &b(){Down.Velocity = (X速度Float型) ,(Y速度Float型)} ;ノックバック速度(倒れ) &b(){Guard.Velocity = (X速度Float型)} ;地上・ガード時 ※,を入れるとエラー &b(){AirGuard.Velocity = (X速度Float型) ,(Y速度Float型)} ;空中・ガード時 -それぞれで[[SC-/HitVelSet]]で適応される、ノックバックの初速量。 --[[Commonステート]]のくらいステートで、PauseTime後に適応される。 -Ground.Velocityと、Air.Velocityは省略時どちらも0,0 --Down.Velocityは省略時Air.Velocityと同一値 --Guard.Velocityは省略時Guround.VelocityのX速度と同じ値に。 --AirGuard.Velocityは省略時Air.Velocityの、X*1.5、Y/2の値に。 &b(){Yaccel = (Float型)} ;相手ふっとび中の重力加速度 -省略時:0.35 ※一覧では相手の重力依存とあるがWin以降で異なる? --くらいふっとび中、毎フレームこの値が加算される。 ---処理の関係上、ステートが変動した時二重以上適応される。 --この値が高いとすぐ落下する。低いとゆっくりと落下する。正数推奨。 &b(){P1Facing = (Int型) };向き変更(自分)省略時:無効 -''-1''設定にした場合、攻撃をヒットした時点で自身の向きを反転。 &b(){P1getP2Facing = (Int型) };向き変更(相手基準)省略時:0(無効) -''1''にするとヒットさせた相手と同じ方向、''-1''で相手とは反対向きにする。 &b(){P2Facing = (Int型) };相手向き変更)省略時:無効 -''1''で相手を自分と反対向き(向き合うよう)に、''-1''で同じ向きに。 ''Fall倒れ関係'' &b(){Fall = (bool型) };倒れフラグ 省略時:0? &b(){Air.Fall = (bool型) };空中倒れフラグ 省略時:Fallと同じ値 -与えた攻撃がFall=1の場合、相手の[[T-/HitFall]]は1となる。 --HitFallが1の状態では、Fall=0の攻撃を受けても1のまま。 ---HitFallは[[T-/MoveType]]がH以外になると0になる。 --HitFall=1だとくらいステートでは、何もしないとダウンする。 &b(){Fall.Recover = (bool型) };受け身可能フラグ 省略時:1(可能) -HitFall=1吹っ飛び中、5050番ステートで受け身が可能かどうか。 &b(){Fall.RecoverTime = (Int型) };受け身不能時間 省略時:4 -Fall.Recoverが1でもPauseTimeの後、指定時間分経過まで受け身不能。 --Fall.Recoverが1でFall.RecoverTimeが経過すると[[T-/CanRecover]]が1に --その状態+5050番ステート内で、受け身コマンド入力で受け身を取る。 -Fall.Recoverが1でも、Fall.RecoverTimeが非常に長い場合、&br()倒れる前に受け身可能にならないため実質受身不可。 &b(){Fall.XVelocity = (Float型) } ;倒れバウンドX速度・省略時無効 &b(){Fall.YVelocity = (Float型) } ;倒れバウンドY速度・省略-4.5 -[[SC-/HitFallVel]]で適応される速度値 --X速度は省略時[[GetHitVar(Fall.XVel)>T-/GetHitVar()]]が「-32760」&br()「''-32760''」の場合、[[SC-/HitFallVel]]実行時点のX速度の3/4となる。 ---もし吹っ飛び中に変化しても変化後の3/4で処理。 ---指定をした場合は吹っ飛び中にTarvetVeladdなどで変化させても指定値で実行。 &b(){Fall.Damage = (Int型) } ;ダウン時の[[ダメージ]]量 -[[SC-/HitFallDamage]]で適応される値。 --攻撃力・防御力による影響・補正が無い。 &b(){Fall.Kill = (bool型) };Fall.Damageによる殺害フラグだが… -[[T-/GetHitVar()]]では確認できるっぽい?が''機能しない模様'' --0に設定しても、Fall.Damageで死亡する? &b(){Down.Bounce = (bool型)} ;再度バウンドフラグ 省略時0 -通常、ダウン状態からの追い打ちで浮かんだ場合はダウンバウンドしない。 -これはDown.Bounceが0のためで、1にすると --ダウン状態への追い打ちで浮かんだ後、ダウン着地時にバウンドする。 --なお、一覧にdown.velocityのY速度が0の場合のみと書かれているが&br()''実際は0以外でないと適応されない模様?'' // ''▼ステート移動'' -有効設定にすると&b(){[[SC-/HitOverride]]が発揮する相手に命中しなくなる} --P1StateNo指定のみでもHitOverride命中しなくなる。 &b(){P1StateNo = (Int型) };自分ステート移動 省略時:無効 -攻撃がヒットした場合、自分のステートを変更する。 --※''使用する場合、必ずPriority設定をMissかDodgeにすること'' --※&b(){[[SC-/Projectile]]では指定しないこと。} --※ヒットを確認した時点で[[SC-/ChangeState]]する手もあるが&br()ヒットガード同時ヒット時などの確認が厄介。 &b(){P2StateNo = (Int型) };相手ステート移動 省略時:無効 &b(){P2GetP1State = (bool型) };[[ステート奪取]]フラグ -P2Get~省略時:P2StateNoがあるなら1([[ステート奪取]])、無いなら0 -攻撃がヒットした場合、相手のステートを変更・奪取する。 --※''使用する場合、なるべくPriority設定をMissかDodgeにすること'' --[[ステート奪取]]のページも参照。 // ''▼相手壁際時の自身のノックバック'' &b(){Ground.CornerPush.Veloff = (Float型)} ;地上時 &b(){Air.CornerPush.Veloff = (Float型)} ;空中時 省略時Groundと同一? &b(){Down.CornerPush.Veloff = (Float型)} ;倒れ時 省略時Groundと同一? &b(){Guard.CornerPush.Veloff = (Float型)} ;地上ガード 省略時Groundと同一? &b(){AirGuard.CornerPush.Veloff = (Float型)} ;空中ガード 省略時Groundと同一? -Groundの省略時は --Attr([[攻撃属性]])のStateType属性がA(空中)の場合? 0。 --Attrがそれ以外の場合は、Guard.Velocity*1.3、とのこと。 -''相手の背後が壁の場合、自分側のPauseTime終了時点で速度に加算される?'' --※''相手が壁へ向いている場合は無効。'' --永久制限として用いたい場合は、P2Facing必須。&br()前進するタイプの技の場合、その前進量より多くすること。 // ''▼表示相手アニメ系'' &b(){AnimType = (文字列)} ;相手ののけぞりの強さ・吹っ飛び方の指定(地上用) &b(){Air.AnimType = (文字列)} ;空中時の指定 &b(){Fall.AnimType = (文字列)} ;Fall時([[T-/HitFall]]が1の場合)の指定 -''L'':Light、弱(AnimType省略時) -''M'':Medium、中 -''H'':Hard、強 -''B'':Back、ふっとび系(地上のけぞりの場合はHardと同義) -''U'':Up、オプション:真上ふっとび(詳しくは[[File-/Airファイル]]参照) -''D'':Diagup、オプション:斜めふっとび(※安定した指定ではないため非推奨) --Up、Diagupは''必ず浮かせるタイプの攻撃で用いる事''。&br()地上のけぞりでは表示に不具合が発生する。 --基本的にのけぞりの「強さ」の設定。[[Commonステート]]で呼び出される。 --Air.AnimTypeは省略時、AnimTypeと同じ。 --Fall.AnimTypeは省略時Airがupならup、up以外ならbackに。 &b(){Ground.Type = (文字列)} ;のけぞりタイプ(地上用) &b(){Air.Type = (文字列)} ;空中でののけぞりタイプ -''H'':High、上のけぞり -''L'':Low、下のけぞり -''T'':Trip、転倒属性を持ち、''専用のくらいステート''を使う。 -n:non、無し※''非推奨'' --屈みくらい、AnimtypeがB,U,D(空中吹っ飛び系)の場合は関係ない。 &b(){ForceStand = (bool型)} ;立たせフラグ -屈んでいる相手にヒットした場合、相手を立たせるかどうか。 -省略時、Ground.VelocityのY速度値が0なら0、0以外なら1(立たせる) // ''▼エフェクト'' &b(){SparkNo = (Int型) };ヒットエフェクトの番号 &b(){Guard.SparkNo = (Int型) };ガードされた場合の。 -省略時、[[File-/CNSファイル]]の設定が適応される。-1指定で無表示。 -通常[[File-/fightfxファイル]]のアニメを使用。詳しくは該当ページ参照。 -指定を「S(Int値)」とすると自分(Self)のアニメをエフェクトとして代用できる。 -ちなみにステコン一覧ではS2000,0という例が出ているが、,0指定は不可のはず? &b(){SparkXY = (X座標Int型),(Y座標Int型) };ヒットエフェクトの位置指定 -省略時0,0 XとYで座標の基準が異なる。 -''X座標は相手の座標+相手のキャラ幅基準''・''Y座標は自分の座標'' --Xは位置的に[[T-/P2BodyDist X]]に近いが計算しても速度分はズレる。 --自身基準で出したい場合は[[SC-/Explod]]のが確実だが表示は遅れる。 --なお[[SC-/Projectile]]の場合はProjの座標基準? &b(){HitSound = (グループInt型),(アイテムInt型) };ヒット音の番号 &b(){GuardSound = (グループInt型),(アイテムInt型) };ガードされた場合の -省略時?。通常指定の場合[[File-/Common.Snd]]の音声を指定。 --基本「5,0(弱ヒット)~5,4(大打撃音)」と「6,0(ガード音)」。 --指定を「S(グループInt型),(アイテムInt型)」にすれば自身の音声を使用。 // &b(){▼ヒット時?の相手の[[SC-/PalFX]]} &b(){PalFX.Time = (Int型) };PalFXのTIme値 省略時:0 &b(){PalFX.Mul = (Int型),(Int型),(Int型) };PalFXのMul値 &b(){PalFX.Add = (Int型),(Int型),(Int型) };PalFXのAdd値 以下3種もステコン一覧に記述はないが使用可能([[SC-/PalFX]]のパラメーターは全て使える) &b(){PalFX.color = (Int型) };PalFXのColor値 &b(){PalFX.InvertAll = (bool型) };PalFXのInvertAll値 &b(){PalFX.sinAdd = (Int型),(Int型),(Int型) ,(Int型) };PalFXのsinAdd値 &b(){▼ヒット時?の[[SC-/EnvShake]]} &b(){EnvShake.Time = (Int型) };EnvShakeのTIme値 省略時0? &b(){EnvShake.Freq = (Float型) };EnvShakeのFreq値 &b(){EnvShake.Ampl = (Int型) };EnvShakeのAmpl値 &b(){EnvShake.Phase = (Float型) };EnvShakeのPhase値 &b(){▼相手の倒れ時用の[[SC-/EnvShake]]} &b(){Fall.EnvShake.Time = (Int型) };EnvShakeのTIme値 省略時0? &b(){Fall.EnvShake.Freq = (Float型) };EnvShakeのFreq値 &b(){Fall.EnvShake.Ampl = (Int型) };EnvShakeのAmpl値 &b(){Fall.EnvShake.Phase = (Float型) };EnvShakeのPhase値 // ''▼その他'' &b(){Air.Juggle = (Int型) };攻撃[[Juggle]]値上乗せ? ''値指定ではない'' -省略時0。基本[[SC-/Projectile]]で用いるためのもの? --なお通常の攻撃Juggle値は[[StateDef冒頭オプション>File-/Stateファイル]]で設定。 &b(){SprPriority = (Int型) };画像の表示優先度? -省略時:1、自身を相手の手前に。-1で相手の奥側になる?  &b(){MinDist = (X座標Int型), (Y座標Int型) };相手座標制限、最小 &b(){MaxDist = (X座標Int型), (Y座標Int型) };相手座標制限、最大 &b(){Snap = (X座標Int型), (Y座標Int型) };相手座標固定 -ヒットした後、[[SC-/TargetBind]]をするのとほぼ同じ? --制限の方は範囲外の場合範囲内に収める感じ? --省略時相手の座標を制限・固定しない。 -※[[SC-/Projectile]]の場合はProjの位置を基準とする。 -※[[SC-/ReversalDef]]では機能しない模様。 &b(){NumHits = (Int型) };加算するヒット数 省略時1 -[[T-/Hitcount]]の増加する量・表示ヒット数を調節する。 --0に設定した場合、Hitocunt・表示ヒット数は増加しない。 &b(){GetPower = (ヒットInt型), (ガードInt型) };命中時、自分が得る[[T-/Power]] &b(){GivePower = (ヒットInt型), (ガードInt型) };命中時、相手が得る[[T-/Power]] -省略時[[mugen.cfg>File-/MUGEN設定ファイル]]の設定値割合分取得する。 --省略時の値は相手に与えるダメージ量×設定値で、ガード時はその半分。 --''省略で0にならない''ため注意。 -''GivePowerはプレイヤーキャラが受けた場合のみ''適応される。 -&b(){※[[SC-/Helper]]ではGetPowerを0,0にし、使用しないこと。} --&b(){※GetPowerの対象がHelper自体ではなく、同じ[[スロットID]]で一つ前に存在していたHelperのサイド側。&br()一度も使われていない[[スロットID]]だった場合はGetPower分はどちらにも加算されない。} --※検証の結果、間違っていたみたい→-&s(){※[[SC-/Helper]]で使う場合、ラウンド中最初に[[SC-/DestroySelf]]が行われるまでGetPower,GivePoweerがズレるバグがあるとのこと。} -一応[[SC-/Helper]]ではHelperType=Playerの場合もGivePowerは反応しているが… --上記と同じバグを抱えており、GivePowerの対象が攻撃を受けたHelper自体ではなく、&br()&b(){攻撃を受けたHelperの同じ[[スロットID]]で一つ前に存在していたHelperのサイド側。&br()一度も使われていない[[スロットID]]だった場合はGivePower分はどちらにも加算されない。} --なお[[SC-/TargetPowerAdd]]についても全く同じバグを抱えている。 -つまり自他が''Helperの場合はまともに機能していない''と言っていい。 ''▼Z軸'' &b(){Attack.Width = (z1Int型), (z2nt型) };''通常使用不可'' // ---- **■Lv1-記述例・補足・注意点 :記述例| [State a, a] Type = xxxx Trigger1 = !Time ;ChangeStateなどをしてきた最初のみ Value = xxxx -記述例での目的 -想定ケースが多すぎる。 :補足| -必要な補足が多すぎる。 -記入するのは必要最低限で良い。 --と言ってもその最低限でもそこそこの量になるが。 --テンプレート化して基本を使いまわせるようにしておくと楽。 -発動するタイミングは適当なタイミングにする --基本、[[TTime>T-/Time]]で最初からか、判定攻撃が出るタイミングの[[T-/AnimElem]]。 --他には[[T-/Movecontact]]=0、[[T-/MoveReversed]]=0を認識している間、&br()ずっと実行し続ける常時更新型くらい。 ---2打目の更新をする場合は[[T-/AnimElemTime()]]などを利用して処理。 ---なお一度実行すると消えないため、攻撃定義を消したい場合は、&br()Attrを空にしたHitDefを実行しなおせば良い。 -ヒットと[[ガード]]で異なるパラメータの適応について --ヒット・[[ガード]]同時の場合については[[リダイレクト]]のページを参照。 --該当する方のパラメータのみ適応される。 -一度実行されるとステートが変更されるか、&br()[[SC-/HitDef]]か[[SC-/ReversalDef]]が新たに実行されるまで持続。 --一度の実行では''一人の相手には一回しか命中しない''。 --HitOnceが0の場合、別々の相手であれば同時でなくても''複数回命中する''。 :注意点| -必要な注意が多すぎる。 -[[発生1F目攻撃の弊害]]も参照。 :吹っ飛び中のアニメによる挙動変動についてとその対応策| [[Commonステート]]の吹っ飛びステートは一部「アニメ終了時」でステートを変更する。 -その時[[SC-/VelAdd]]によって【複数回重力加速度を加算する】などのバグが発生する。 --この辺りは[[T-/HitOver]]でもステート変更を誘発させることができるので、&br()''Fall=1、倒れ属性の場合はAir.HitTime=0にしてしまう方が良い''かもしれない。 -なお空中受け身は5050番ステートにいないと出来ないのだがそのステートに移動するには -+[[T-/HitOver]]する -+硬直のアニメ終了で5035ステート移動→更にアニメ終了(もしくは5035アニメ無い) --このどちらかの処理が必要でAir.HitTimeがFall.RecoverTimeより長い場合、&br()相手によって受け身可能になるまでの時間が異なる可能性が出てくる。 そのため''Fall=1の場合はAir.HitTimeは0が望ましい''、らしい。 :HelperのGetPowerのバグについて| -再検証により判明 -[[SC-/Helper]]は[[SC-/HitDef]][[Sc-/ReversalDef]]両方で''GetPowerは0,0と設定し、+-値どちらでも使用しないこと'' --''※省略しないこと''。省略すると適当な値が入ってしまう。 --代用として[[SC-/PowerAdd]]で加算するか、攻撃判定を[[SC-/Projectile]]で処理する手もある。 --本体では問題ないもよう。 -バグの状態 --GetPowerでゲージを増やすのが「同じ[[スロットID]]で一つ前に存在していたHelperのサイド側」 --同じスロットIDにいた一個前が自分側のHelperだったら、GetPowerで自分側のゲージが増える。 --同じスロットIDにいた一個前が相手側のHelperだったら、Giveに加えてGetPower分も相手ゲージが増える。 --そのスロットIDに初めて割り当てられたHelperの場合、GetPower分はどちらにも加算されない。 -%%なおGivePowerはHelper相手だと増えないが、GetPowerバグは関係なく上記仕様で増える。%% --※相手がhelperの場合について下記に追記。 :Helperに当てた場合のGivePowerのバグについて| -再調査により判明 -こちらについては対応策が見当たらない。状況自体が限定的なので''気にしなくてもいい''。 -バグの状態 --Helperに対するGivePowerは「攻撃を受けるHelperがHelperType=Playerの場合」に適応される。 --ゲージが増えるのは攻撃を受けたHpelerの「同じ[[スロットID]]で一つ前に存在していたHelperのサイド側」 --状態としては概ねGetPowerと同様。Getする自分が、Giveされる相手に変わっているだけ。 --この【HelperのPowerの紐付けのバグ】は、[[SC-/TargetPowerAdd]]でも起きている。 -自分のPowerを変更する[[SC-/PowerAdd]][[SC-/PowerSet]]は問題なく動く。 //:AI制作時の注意点| //-あれば //---- //**■Lv2-細かいバグ回避 //注意点で書いたことを回避したい場合用。 //---- //#region(■Lv3-細かい応用) //**■Lv3-細かい応用 //他の記述と組み合わせて使用する関係。 //#endregion //---- //#region(■Lv4-バグ利用) //**■Lv-4-バグ応用 //あやしい仕様を活用する関係。 //#endregion //---- //**コメント //細かい話し合い・確認が必要な場合に開放しましょう。 //#comment() ---- :※解説修正情報※古い履歴| 新しい修正情報はページ上部に ●&font(12,b){2014-10-17:Fall.Xvelocityについての間違いを修正。変更なし☓→3/4○} ●&font(12,b){2014-10-11:PalFX.sinAddのパラメータ修正。int型が3つ→4つ。} ●&font(12,b){2014-10-11:HitOnceはTargetDropを発生させる} ●&font(12,b){2014-09-29:GerPowerの脱字を修正。☓GetPwer→GetPower} ●&font(12,b){2014-09-29:Guard.Velocityのパラメータの誤りを修正。,は不要}  … ●&font(12,b){2013-05-16:追記:PalFXについて} ●&font(12,b){2013-04-14:Air.Juggleのスペルミス。×Air.Juiggle→○Air.Juggle} ----

表示オプション

横に並べて表示:
変化行の前後のみ表示: