レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
製作お助け掲示板
製作で困ったことがあれば
質問をどうぞ
どんな初歩的な質問でも
キャラ製作の先人達がやさしくお答えいたします。
ただし教えてくれた内容が間違っていても怒らないように。
だれにでも間違いはあります。
ココで得た知識を吸収し、教える側に回れるように精進しましょう。
また
先人達も知識がさび付かないように、理解をより深めるために
お互いに知識を出し合い、高め合いましょう。
超必殺技発動時に背景を黒くしたいのでBgpalfxを使おうと思ったんですが
時間経過に応じて60Fかけて段々まっくろになって行って、240F黒のまま維持、60Fかけて元に戻すーという使い方をしたいです。
とりあえず黒くなる方向で組んでみたのですが…
[State 3000, だんだん黒く]
type = BgPalFx
trigger1= time = 0
sinadd = -205,-205,-205,110
time = 55
[State 3000, 黒維持]
type = AssertSpecial
trigger1= time >= 55
flag = noBG
flag2 = noFG
----------------------
[State 3005, まっくろ維持?]
type = AssertSpecial
trigger1= 1
flag = noBG
flag2 = noFG
…と書いて試したところ、bgpalfxのsinadd処理で一旦明るくなった後でassertの背景前景消しが発動してしまいました。
どうすればよいのでしょう?
>ganさん
>hittimeは、相手がやられ扱いになる時間で
そういうパラメーターでしたか。アドバイスありがとうございます。
>>171 >>173
代用は効きそうにないですが、バグはなくなったみたいです。
ありがとうございました!
>>175
type = BgPalFx
trigger1= time <= 300
add = -4*time,-4*time,-4*time
time = 2
type = BgPalFx
trigger1= time = [301,360]
add = -256+(4*(time-300)),-256+(4*(time-300)),-256+(4*(time-300))
time = 2
要望の効果はこの二つで出来る
前景消すかどうかはそちらの判断で
初めまして。製作でどうにも引っかかってしまいまして、宜しければご助力下さい。
アーマー技を作りたいのですが、流れ的に
コマンドを入力
↓
アーマー発動演出(一瞬ピカンと光る程度です)
↓
アーマー発動中(打撃や飛び道具に有効 投げは効く)
↓
十数秒経過で終了(終了モーションは特に無し)
アーマーの開始と同時に変数でカウントし、終了条件のトリガーとして使おうと思うのですが…
VarSet等記述しても、変数の中身が変わらず困っています。
もしくは変数を使って制御する自体が難しいのでしょうか。
ttp://acol.lomo.jp/arm_smp.txt
※CNSの中身が長くなりますのでこちらにテキストでまとめました。
宜しくお願い致します。
>>179
もしかして
v = 56
value = 1
と
var(56) = 1
の混同
-2にあるVarAddはvar(56) = 1としてるならv = 56は要らんね
で、-2は「本体」か「HelperType = Playerのヘルパー」しか実行しないから
9000番のヘルパーがVar(56)をカウントしないのは当然
対処法は
①Var(56)のVarAddを9000番に移動させる
②DestroySelfのTrigger1をRoot,Var(56) = 100に書き換える
のどちらか一方やればいい
…だね
[state -2,1];間違ってる
type = varadd
trigger1 = var(58) = 1
v = 56;→これ不要、消せばOK
var(56) = 1
つかVar(58)の存在意義が無いでしょ、これ
毎フレームVar(58)に1を代入してるだけだし
①やる場合はVarAddのTrigger1も書き換える必要があるね
あと、PlaySndも書き換えなきゃいけないから②の方が楽
179です。
皆様とても素早い回答有難う御座いました!
他にもこちらで間違えていた箇所があったのですが、何とか気づいて修正ができました。
お陰様で無事作動しているようです。
なんかもう‥>>165 解決しちゃいましたね。
いや〜めでたい!
orz
でもせっかく調べたし‥
僕なりの答えを描きたいと思います。
[空中で攻撃を当てた際、相手が復帰する時間]
ここでいう復帰とは
・着地([Statedef 52]に移ること)
・受身可能([Statedef 5200]or[Statedef 5210]に移ることが可能であること)
・行動可能([Statedef 5040]においてCtrl = 1 であること)
のことです。
[空中で攻撃を当てた際、相手が復帰する時間]は
A:最終的に[Statedef 5040]に到達するやられ(fall = 0)での復帰時間
B:最終的に[Statedef 5050]に到達するやられ(fall = 1)での復帰時間
に分けられます。
↑これを一般的に表せば質問の回答になりそうなので調べました。
でその答えが↓です。
A:最終的に[Statedef 5040]に到達するやられ(fall = 0)での復帰時間
は
□
基本的には
・(Vel Y > 0 && Pos Y >= 10 を満たすまでの時間)
・(air.hittime)
の短い方
□1
{([Statedef 5020]で指定され[Statedef 5030]から開始するAnimの表示時間)+([Statedef 5035]で指定されたAnimの表示時間、指定されなければ0F)}
<{(air.hittime)&&(Vel Y > 0 && Pos Y >= 10 を満たすまでの時間)}
を満たしたときのみ
・(Vel Y > 0 && Pos Y >= 0 を満たすまでの時間)
・(air.hittime)
の短い方
B:最終的に[Statedef 5050]に到達するやられ(fall = 1)での復帰時間
は
□
基本的には
・Vel Y > -1になるまでの時間
・fall.recovertimeで設定した時間
の長い方
□2
{(fall.recovertime)&&(Vel Y > -1になるまでの時間)&&([Statedef 5020]で指定され[Statedef 5030]から開始するAnimの表示時間)}
=<(air.hittime)
=<{(Vel Y > 0 && Pos Y >= 10 を満たすまでの時間)&&([Statedef 5020]で指定され[Statedef 5030]から開始するAnimの表示時間)+([Statedef 5035]で指定されたAnimの表示時間、指定されなければ0F)}
を満たしたときのみ
・(air.hittime)
あっているかどうか不安なので
途中式書いておきます。
□1の途中式
[Statedef 5030]で
([Statedef 5020]で指定され[Statedef 5030]から開始するAnimの表示時間)
=<{(air.hittime)&&(Vel Y > 0 && Pos Y >= 10 を満たすまでの時間)}
且つ
[Statedef 5035]で
{([Statedef 5020]で指定され[Statedef 5030]から開始するAnimの表示時間)+([Statedef 5035]で指定されたAnimの表示時間、指定されなければ0F)}
<{(air.hittime)&&(Vel Y > 0 && Pos Y >= 10 を満たすまでの時間)}
を言い換えると
{([Statedef 5020]で指定され[Statedef 5030]から開始するAnimの表示時間)+([Statedef 5035]で指定されたAnimの表示時間、指定されなければ0F)}
<{(air.hittime)&&(Vel Y > 0 && Pos Y >= 10 を満たすまでの時間)}
□2の途中式
{(fall.recovertime)&&(Vel Y > -1になるまでの時間)}=<(air.hittime)
[Statedef 5030]で
([Statedef 5020]で指定され[Statedef 5030]から開始するAnimの表示時間)
=<{(air.hittime)&&(Vel Y > 0 && Pos Y >= 10 を満たすまでの時間)}
且つ
[Statedef 5035]で
(air.hittime)
=<{([Statedef 5020]で指定され[Statedef 5030]から開始するAnimの表示時間)+([Statedef 5035]で指定されたAnimの表示時間、指定されなければ0F)&&(Vel Y > 0 && Pos Y >= 10 を満たすまでの時間)}
を言い換えると
{(fall.recovertime)&&(Vel Y > -1になるまでの時間)&&([Statedef 5020]で指定され[Statedef 5030]から開始するAnimの表示時間)}
=<(air.hittime)
=<{(Vel Y > 0 && Pos Y >= 10 を満たすまでの時間)&&([Statedef 5020]で指定され[Statedef 5030]から開始するAnimの表示時間)+([Statedef 5035]で指定されたAnimの表示時間、指定されなければ0F)}
「なんかややこしくてめんどくさそう」って感想の人は
すべてのHitDefに
fall = 1
air.hittime = 0
をつけると
[空中で攻撃を当てた際、相手が復帰する時間]
は
・Vel Y > -1になるまでの時間
・fall.recovertimeで設定した時間
の長い方
になります。
簡単でおすすめです。
もしくは
着地の誤差を無視して(所詮は1F,2Fの誤差だし着地硬直は結構キャラによって違うし)
air.hittime > fall.recovertime にならないように気をつけてさえいれば
(fall = 0)で
・(Vel Y > 0 && Pos Y >= 10 を満たすまでの時間)
・(air.hittime)
の短い方
(fall = 1)で
・Vel Y > -1になるまでの時間
・fall.recovertimeで設定した時間
の長い方
です。
読むのタルいって人は
>>187
の
>すべてのHitDefに
から
>簡単でおすすめです。
まで読めば多少得るものがあるかもしれません。
Fall = 1付けちゃうと足払いみたいに地上にいる相手からもダウン奪っちゃうから
そういう技以外はFall = 0(省略可)とAir.Fall = 1付けないとダメだからね
>>178
できました! ありがとうございます!
>>189
補足サンクス
初めまして。
レンのアレンジキャラを制作して、
DIOの「貴様、見ているな!」
のポーズをレンで書きたいのですが…
やり方がいまいち分からないです。
もし、よろしければご教授願います。
また、参考になるサイトを知っていらっしゃるのであれば、
教えてもらえるとありがたいです。
ここ、CNSメインの板だから…いや、いいのかもだけど
ともかく、実際に悪戦苦闘した成果をドット絵版に投稿するのが一番早いです。
どんなアドバイスを受けようともコピーするんじゃない限り描くのは御自分ですので
やってみないとわからないことは千万の数じゃききませんから
>CNSメインの板
別にそういう感じでもないですが、
ドット絵の質問といえばドット絵版です。
あそこの方が指導者の層が厚いですよ。
質問は具体的なほど返答がもらえます。
まずドット絵の作成方法がわからない、なんてことならココで出来る限り教えます。
ツールを使ってドット絵をヘタでもなんでも描けるならば、
描いてドット絵版に投稿するといいですよ。
スレ違いな質問にも答えてくださってありがとうございます。
下手なりにも描いて投稿してみます。
どうも、初歩的な問題だと思うのですがどうにもよく分からないので質問させてください。
設置系飛び道具で、画面上に2つ出そうとすると1つ目が消えるようにしたいと思ってます。
↓ヘルパーのchangestate
[State 6110,6]
type = changestate
trigger1 = MoveHit = 1
trigger2 = movecontact = 1
trigger3 = time = 360
trigger4 = numhelper(6110) = 2
trigger4 = time >= 2
value = 6111
[Statedef 6111];消滅ステート
簡単にこんな感じの記述をしたのですが消えませんでした。稚拙な質問ですがアドバイスをお願いします。
質問趣旨と違うんだが、気になったんで。
肝心の話は、ちょっとわからんです。
[State 6110,6]
type = changestate
trigger1 = MoveHit = 1;これバグの元「=1」不要
trigger2 = movecontact = 1;これもバグの元「=1」不要、否定したい場合はtrigger1=!MoveCotactと用いる
trigger3 = time = 360
trigger4 = numhelper(6110) = 2
trigger4 = time >= 2
value = 6111
それは接触しても消えないのか、2つ置いても1つ目が消えないのか…
多分、numhelper(6110)をroot,numhelper(6110)に変えればいいんじゃないかと。
そのままだと、「ヘルパーが出した」IDが6110のヘルパーの数かと思うので。
>>gan さん
接触では消えたのですが2つ目を出しても消えなかったので。
をroot,numhelper(6110)をつけてみたのですがうまくいかなかったので、発生前のエフェクトを使って
root,numexplod(1110) = 1
trigger4 = time >= 30
という形でやってみたらなんとかなりました。アドバイスありがとうございました。
さあ派生技のCNSを書いてみようと挑戦したところさっそくエラーが・・・・。和訳KFの派生CNSを元にしたんですが?技の性能上KFMのCNSの数字いじるだけではだめだしなぁ・・
毎度のことで申し訳ありませんがどなたかアドバイスしていただければ幸いです。
まず既に製作済みの派生元の技のCNSに以下を追記
[State 1100, ステート変更];追加入力
type = ChangeState
trigger1 = Command = "x"
trigger1 = p2statetype! = A
trigger1 = movecontact
value = 1200
長くなるので分割投稿になります。
続いて派生技のCNSを
;ドライブ地上ヒット派生上段ふっとばし
[Statedef 1200]
type = A
movetype= A
physics = A
juggle = 4
poweradd= 40
velset = 3,-1
anim = 1200
ctrl = 0
sprpriority = 2
[State 1200, 速度加算]
type = VelAdd
trigger1 = AnimElem =4
x = -1
[State 1200, 音を鳴らす]
type = PlaySnd
trigger1 = AnimElem = 3
value = 0, 3
[State 1200, 物理的なキャラの幅]
type = Width
trigger1 = AnimElemTime(3) >= 0 && AnimElemTime(5) =< 0
value = 10,0
[State 1200, ヒット定義]
type = HitDef
trigger1 = Time = 0
attr = A, SA
animtype = Hard
damage = 50, 5
priority = 3
guardflag = MA
hitflag = MAF
pausetime = 15,15
sparkxy = 0,-65
hitsound = 5,3
guardsound = 6,0
ground.type = High
ground.slidetime = 16
ground.hittime = 18
ground.velocity = -10
guard.velocity = -7
air.velocity = -3.5,-4.5
airguard.velocity = -3.5,-4.5
air.hittime = 20
[State 4];着地stateに移行
type = ChangeState
trigger1 = Vel Y > 0 && Pos Y >= 0
value = 1201
;■着地state
[Statedef 1201]
type = S
movetype = I
physics = S
anim = 6
ctrl = 0
velset = 0,0
sprpriority = 2
[State 5];地面に立たせる
type = PosSet
trigger1 = time = 0
y = 0
[State 261, 3]
type = MakeDust
trigger1 = time = 0
pos = -10,0
pos2 = -20,0
spacing = 1
[State 1201];立ちstateに戻る
type = Changestate
trigger1 = time = 15;(硬直時間)
value = 0
ctrl = 1
えっと物凄く初歩的なので聞きづらかったんですが
空中投げでいきづまってます。一応調べながら
やってみてはいるんですが時間かかりすぎ?
ソロソロ一時的に報告ついでにうpしようと思ってはいるんですけど
どうにも成功しない?('A`;)
空中投げのタイプとしては秋葉系のつかんで落下タイプ
キャラの位置を動かせる段階なのか?
メルブラ風の空中投げみたいにしたいけれど…と悩んでいるんですよね〜
どうせうpするなら先に公開してもいいよね。
と言うわけでうpろだの方に置いてみます。
CNSとかその他もろもろ解ってないですね。
一応その他注意点として上に吹き飛ばすと挙動が変?
大まかにソレじゃないかと思い当たるふしはあるけれど
とりあえず後回しに…してあります。
更に…空中ジャンプキャンセルの回数制限も設定して無いですね。
コレかな?と思ったものをコピペしてみたら偶然出来たのでw
コレはテストプレイ中はそのままで遊び要素としておいて置こうかな?とか
考えています。まぁ修正しなきゃいけないんですけどね
独学でやっててかなりおかしくね?と言う結論になったので
わかる人に見てもらった方が良いかなと
なんか色々すみません
旧アップローダーに置かせていただきました。
>200
すいません解決しました。Widthの記述を削除したらちゃんとなりました。
すみません初歩的な質問なんですが、例えばタッグマッチで
貫通ビーム系の必殺技を敵二体同時に当てた場合、ヒットスパークも
二体別々に表示させる方法っていうのは有るんですかね?
>>202
ろだに上げてもURLなり番号なりを貼らんと
手を差し伸べてくれる人いないんじゃないかな
あと、空中投げについてアドバイスを欲してるんだとは思うけど
色々書いてるけど具体的にどこがどう行き詰ってるのかが不明瞭
>>204
Type = Explod
Trigger1 = Enemy(0),GetHitVar(Damage)
PosType = Left
Pos = (Enemy(0),ScreenPos x),(Enemy(0),ScreenPos y)
Persistent = 0
Type = Explod
Trigger1 = NumEnemy >= 2
Trigger1 = Enemy(1),GetHitVar(Damage)
PosType = Left
Pos = (Enemy(1),ScreenPos x),(Enemy(1),ScreenPos y)
Persistent = 0
上には書かなかったけどAnimとかFacingとかは適切に設定
>>205
あら('A`;)うっかり
すみませんでした。
旧うぷろだの175.zipですね。
ttp://loda.jp/dteit009/?id=175
こうかな?
URL書いてないの気が付いてなかった。指摘ありがとうゴザイマス。
ほとんど解ってないのですけれど
まずは、食らいモーション中に出せるようにする所でしょうか?
>>205
とても丁寧な説明ありがとうございました。
お陰様で上手くいくことが出来ました。
>>206
[State -1, 空中投げ]
type = ChangeState
triggerall = (Command = "a+b")
TriggerAll = Command = "holdfwd" || Command = "holdback"
TriggerAll = Statetype = A
TriggerAll = P2Statetype = A
trigger1 = (Ctrl)
trigger1 = (P2MoveType != H)
value = 820
これから
trigger1 = (P2MoveType != H)
をはずすだけです。
他にも質問ありそうですね。
箇条書きでどんどん質問してください。
>>208
ありがとうゴザイマス。お陰で修正できました。
では箇条書きで
・空中から着地時に別のアニメーションを表示させたい(叩きつけるモーション)
・ダウンを奪うやり方はこのキャラの後方投げで問題が無いのか気になりますね。
かなり強引なやり方だった気がするので
特に聞いておかないとワカラナイのはココだけですね。
一つ目
trigger1 = Pos Y >= 0 && vel Y > 0 ;地面からの高さが0以下(地面にめり込んでいる)、かつ落下している
こいつを条件に使って
ステートコントローラーChangeAnimで
アニメーションを変えてください。
二つ目
問題ないです。
ただし
SelfStateの発動条件を適切なものにしてください。
ガードポイント的な技を作っていて、
ヘルパーの常時ガードステートを用いてますが、ガード不能攻撃を
受けた場合に分身バグが起きてしまいます。
ニコニコmugenwikiのガードポイントの項目には
HitOverRideを使うとあるんですが、ガード不能だけ判別とかできるんですか?
それとも何か上手な使い方があるんでしょうか?
どなたかアドバイス宜しくお願いします。
ガー不攻撃も耐えるガードポイントなら
ヘルパーHitOverride使って、GuardFlag問わずガードステートに飛ばせばいい
ガー不攻撃で仰け反る(そのまま喰らう)GPは工夫が必要だけど
ガード不能は喰らいます。なおかつ腕部分のみGPって感じの技です
横槍失礼
ガードポイントは難しいと聞きます、参考になる(信頼性の高い)記述とか持ってるキャラっていますか?
いえ、ウェブの解説など見ながら一から構築しています。
多くのキャラは本体ごとガードステートに移行方式(全身GPになってしまう)
リバーサル方式(飛び道具が防げない、相手のコンボを切ってしまう)
なので今回の場合、あまり参考になりません。
一応ガードしてから攻撃、下半身はダメージ通る、投げは喰らう
ところまでは出来まして、あとはガード不能技の対処って感じです。
>>210
1.ありがとうゴザイマス。修正できました。
けれど着地モーションに移行するので何か対策を探しています。
2.SelfStateと言うとダウンを奪う形なのでアレで済ませてましたけど
時間でステートをお返しするタイプもつけておくべきという事ですか?
>>215
GPヘルパーは本体に軸重ねてると思うからHelperType = Playerにしておいて
喰らいステートに移行したら(ガードできなかったら)本体も専用喰らいステートに移行
もしGPヘルパーがステート奪われたら-2でSelfStateかDestroySelf
専用喰らいステートは5000番台のステートをコピぺして
GetHitVarをHelper(**),GetHitVarに置き換えたもの
5000番台使ってもいいんだけど条件分岐面倒だから専用ステート用意した方が楽
>>216
えー1.は出来てませんでした。
[State 821, ステート変更]
type = ChangeState
trigger1 = (StateType != A) && (AnimTime = 0)
trigger2 = (StateType = A) && (AnimElemTime(15) >= 0)
value = ifelse(StateType=A,51,0)
ctrl = ifelse(StateType=A,0,1)
コレがほぼその原因らしいけれどはずすと
空中で停止します。何か手を考え中
[Statedef 821]
を
;---------------------------------------------------------------------------
;成功(放り投げる)
[Statedef 821]
type = A
movetype = A
physics = N
anim = 821
ctrl = 0
poweradd = 60
velset = 0,0
[State 821, 掴んだ相手の位置]
type = TargetBind
trigger1 = 1
pos = 0, -90
[State 821, 移動速度]
type = VelSet
trigger1 = time = 0
x = 1.5
y = -8
[State 821, 速度加算]
type = VelAdd
trigger1 = 1
y = 0.4
[State 821, 移動速度]
type = VelSet
trigger1 = Pos Y >= 0 && vel Y > 0
x = 0
y = 0
[State 821, 移動速度]
type = PosSet
trigger1 = Pos Y >= 0 && vel Y > 0
y = 0
まるまるこう書き換えて>>210 を試してみてください。
あれ?出ない?なんかすみません
確認の為に…
;---------------------------------------------------------------------------
;成功(放り投げる)
[Statedef 821]
type = A
movetype = A
physics = N
anim = 821
ctrl = 0
poweradd = 60
velset = 0,0
[State 821, 掴んだ相手の位置]
type = TargetBind
trigger1 = 1
pos = 0, -90
[State 821, 移動速度]
type = VelSet
trigger1 = time = 0
x = 1.5
y = -8
[State 821, 速度加算]
type = VelAdd
trigger1 = 1
y = 0.4
[State 821, 移動速度]
type = VelSet
trigger1 = Pos Y >= 0 && vel Y > 0
x = 0
y = 0
[State 821, 移動速度]
type = PosSet
trigger1 = Pos Y >= 0 && vel Y > 0
y = 0
[State 821, アニメ変更]
type = ChangeAnim
trigger1 = Pos Y >= 0 && vel Y > 0 ;地面からの高さが0以下(地面にめり込んでいる)、かつ落下している
value = 825
[State 821, ステート変更]
type = ChangeState
trigger1 = (StateType != A) && (AnimTime = 0)
trigger2 = (StateType = A) && (AnimElemTime(15) >= 0)
value = ifelse(StateType=A,51,0)
ctrl = ifelse(StateType=A,0,1)
;---------------------------------------------------------------------------
>>210
と言うとこの辺までですよね?
アレ?アニメーションの登録位置がおかしかったのかな?
おおお落ち着いてください。
よく見て。その位置に(ChangeAnimを)入れると(ChangeAnimの)トリガーが満たされない。
入れるなら
[State 821, 移動速度]
type = VelSet
trigger1 = Pos Y >= 0 && vel Y > 0
x = 0
y = 0
の上です。
いっぺんChangeStateを入れずに
ChangeAnimだけ入れてみてください。
ああなるほどソコでしたか。すみません
何とかアニメーションは変更できましたが
アニメーションが1枚目で止まりっぱなしで
1p2pともにうごけなくなります。
それならば
ChangeAnimのトリガーに
trigger1 = anim = 821 ;現在のanimが821番である
を付け加えてください。
>うごけなくなります
[Statedef 821]のどこかに
[State 821, ステート変更]
type = ChangeState
trigger1 = anim = 825
trigger1 = animtime = 0
value = 0
ctrl = 1
を入れ
[Statedef 821]のTargetBindの発動条件に
trigger1 = anim != 825
を足し
[Statedef 823]に
[State 821, 移動速度]
type = VelSet
trigger1 = enemy,anim = 825
x = 3
y = -4
をくわえる。
こんな感じで如何でしょう。
>>223
お陰で解決できました〜ありがとうございます。
後でキャラクターの細かい位置調整をしておきます。
いやほんとにありがとうございました。
う〜ん、対策の仕方は一様分かってるのですが。
trigger○ = Palno = [1,6](多分意味的には1pから6pまで、だと思う)
と入れるとCMBではちゃんと有効になるんですが、−2とかになると、エラー吐かれるんですよねぇ。
と、なると
trigger○ = palno = 1
(中略)
trigger○ = palno = 6
まで一々書かないといけないのでしょうかね?
めんどクセぇ・・・・もっと手間が省ける方法ないのかなぁ?
追記
どっかの記述がtype = ~~~~
が抜けてたのが原因だったみたい。
クソ過ぎる理由でエラー。
超必殺技の製作にあたり半透明エフェクトの解説を色々漁りまずは試しに先日作った飛び道具(「肉球)を半透明にしてみようと思ったのですがうまくいきません??
もしかしてエフェクトは半透明にできるけど飛び道具は半透明にできないのでしょうか?(多分私が何かミスってるだけだと思うのですが念のため質問させていただきました)
>>227
出来ますよ。
ヘルパーにAngleDrawか何か入れると
Airファイルの,Aが無効になったような覚えがあります。
そのときは
透明度を変えるステートコントローラーを使ったら何とかなったような気がします。
>>226
ドンマイ!
クールにいこうぜ。
昨日の私
EDGE あれ不透明度いじっても半透明にならなよ?→ぐぐる→他のツールをDL(ああこのツールの使いかた覚えるの大変そう)
今日
いろいろぐぐる→airをテキストで開いて,,Aで半透明になるよー→昨日の苦労はなんだったんだorz
あるあるw
ちなみにtransステコンでも同じ効果出せます。
ヘルパーアーマーって、根性値とかの元になってるDefenceMulSetが効かないのかなぁ・・・・?
それとも記述がおかしいのかなぁ?
それともかくとして、ヘルパーアーマーのダメージってどうやったら制御できるんだろ?
[State -2, アーマー受けした時のライフ減少]
type = LifeAdd
trigger1 = NumHelper(9000)
trigger1 = Helper(9000),GetHitVar(damage)
value = -1*Helper(9000),GetHitVar(damage)
absolute = 1
ignorehitpause = 1
これになんか色々すればいいんだと思うんだが・・・・うーん、やり方がイマイチわかりません;
ダメージを半分にしたり、無効化したりするのはどうしたら良いのでしょうかね?
>>232
DefenceMulSetのvalueを適当なfvar(●)で保存しておいて
232のvalueを
value = -1*floor(Helper(9000),GetHitVar(damage)*fvar(●))
にする、とか?
試したこと無いからわからない
ヘルパーステートか‐2で
常時、var(1)からvar(7)が0でない数がいくつあるかという数
を格納したいのですがおもいつきません
ヒントだけでもいいので教えてください
>>234
cns初心者で申し訳ないんだけど、これでできそうかな・・・?
[State -2,]
type = VarAdd
trigger1 = var(1) < 0 && var(1) > 0
trigger2 = var(2) < 0 && var(2) > 0
trigger3 = var(3) < 0 && var(3) > 0
・・・
trigger7 = var(7) < 0 && var(7) > 0
var(60) = 0
value = 1
var(60)へ、var(1)〜(7)が0でないとき+1してやる感じの・・・
間違ってたらごめんね(´・ω・`)
>>232
DefenceMulSetをヘルパーのステートでも実行しておけばいい
アーマーヘルパーなら常に本体と軸が重なってると思うから
HelperType = Playerで出して-2のDefenceMulSetを適用させてもおk
但し-2にある関係ないステコン全てにTriggerAll = !IsHelper付ける必要あり
>>234
Type = Null
Trigger1 = Var(x) := 0
Trigger2 = Var(1) != 0
Trigger2 = Var(x) := Var(x)+1
Trigger2 = 0
Trigger3 = Var(2) != 0
Trigger3 = Var(x) := Var(x)+1
Trigger3 = 0
Trigger4 = Var(3) != 0
Trigger4 = Var(x) := Var(x)+1
Trigger4 = 0
Trigger5 = Var(4) != 0
Trigger5 = Var(x) := Var(x)+1
Trigger5 = 0
Trigger6 = Var(5) != 0
Trigger6 = Var(x) := Var(x)+1
Trigger6 = 0
Trigger7 = Var(6) != 0
Trigger7 = Var(x) := Var(x)+1
Trigger7 = 0
Trigger8 = Var(7) != 0
Trigger8 = Var(x) := Var(x)+1
Trigger1でVarを初期化、Trigger2以降で0でない数をカウント
:=は代入で「Var(x) := Var(x)+1」はVar(x)に1を加算する
Trigger2からTrigger7にある= 0は次のトリガー読ませるため
>>235 >>236
素早い回答ありがとうございます
おかげで一歩進めることができました
初歩的な質問で申し訳ないのですが、
飛び道具(Projectile)をAngleDrawで回転させる事はできないのでしょうか?
色々ためしても自キャラがくるくる回るだけになってしまいます・・・
>>238
Proj単体でそういうのは無理だったはず
現状、Helper使って表現したほうが吉かと
>>236
うーん、HelperType = Player入れるとダメージが入らなくなるなぁ・・・・どうなってんだろ?;
>>240
-2にある関係ないステコンに!IsHelper付け忘れてそれが悪さしてるか
DefenceMulSetにVarとか使ってるだろうからHelper側から読ませるときに
Root(またはParent)リダイレクト付けるのを忘れてるかのどっちかかな
Nomalヘルパーのまま本体のLifeAddの計算式にVar使ってもいいんだけど
万が一ステート奪われた時に-2でデバッグできるからPlayerヘルパーにした方が都合が良い
但し、本体と軸位置の違うヘルパーは相手の挙動(向き)に影響しちゃうから避けるべきだけどね
>>241
!IsHelperを加える関係ない-2が良くわからないので基本、全部に加えてみたら直った。
でも結局反映されないという振り出しに戻っただけ。
わけ分からんOTL
>>233 の方法じゃダメなんですか?
DefenceMulSetで影響された防御力の受ける数字は知らんとですが
Attack100→110に上昇させたら純粋に攻撃力1.1倍? 同じように計算できるんならですけど…
Defenceが200になってたら、lifeaddする数値が1/2されるって意味なんだから、同じようにvalueの数字乗算する記述にすればいいよーな
>>243
その方法が一番分かりやすいので試したいと思ってます。
ちょいとVarに関しては色々使い方に悩んで踏みとどまってるんですが・・・・。
てか、valueの保存?どやってやるんだろ・・・ちょいとサイトを連ねてるのですが・・・イマイチ感覚が働かん・・・・;
value=var(56)でいいんじゃないかな?
あ、悩んでる部分違います?
>>245
さ、さぁ・・・?ここらへんはまだ未経験ですからよくわかんない、という・・・。製作するにあたっては結構な問題だと思う;
あれ、保存するvarの数字って決まってたっけ?
つか、3種類のDefenceMulSetがあるからLifeAddも3種類に揃えなくちゃいけないのかな?
いや、なににどのvar(X)使おうがダイジョブですよ。
整数か否かでfvar(X)と使い分けることだけ気をつければ。
現在使ってる3種類のDefenceMulSetのトリガーを使ってfvar(X)を設定。
value=1*fvar(X)
って記述でDefenceMulSet定義するようにすればLifeAddも一個で済むハズっす。
こちらでははじめまして 今さらこんな質問で恐縮ですが・・
SFFの5030番台、20にはどんな絵を登録すればいいでしょうか
KFMや一部キャラだと5040-0と同じだったりまた他のキャラだと吹っ飛びの中割だったりで
よう分からんのです
>>248
この程度なら・・・・。
5020番台はしゃがみ食らい、30番台は吹っ飛びアニメですね。
ここら辺は伊吹川氏が運営している無限中学校で入手できる和訳KFMあたりに詳しく載ってます。
自分もそこからスタートして苦労してます;
あ、質問とずれてたかな?
まぁ同じっぽいスプライトを導入してるのは、おそらく≪メンドクサイ≫これが理由でしょう;つか、大抵の製作者はそんな感じ(蹴
自分は製作キャラで入手できた絵の問題上、一枚絵にしてます。違和感はあんま無い。
・・・・・まぁ要するに入れるスプライトは自由、という訳です。
20番はしゃがみ攻撃を食らってそうなスプライトを。30番は吹っ飛んでいくスプライトを入れる。
特に難しいことを気にせずした方が良いです。
問題のアニメーションはAIRで行うのでスプライトの番号は基本、フリーダム・・・・かな?(間違ってたらすまん)
整理の問題でアニメの番号と同じにするのがお勧めだけど。
>>247 >>233
作動しました。
助言ありがとうございます〜。
しかし、むっちゃくっちゃ硬くなってしまった;;;;
防御補正の記述はこんな感じ↓
[State -2,防御補正1];防御補正1
type = DefenceMulSet
TriggerAll = RoundState = 2
triggerall = !IsHelper
trigger1 = Life < 750
trigger1 = Palno = [1,6]
trigger2 = helper(9000),gethitvar(damage)
trigger3 = fvar(1)
value = 0.5
[State -2,防御補正2]
type = DefenceMulSet
TriggerAll = RoundState = 2
triggerall = !IsHelper
trigger1 = palno = 12
trigger2 = helper(9000),gethitvar(damage)
trigger3 = fvar(1)
value = 0.1
[State -2,防御補正3]
type = DefenceMulSet
TriggerAll = RoundState = 2
triggerall = !IsHelper
trigger1 = palno = [7,11]
trigger2 = helper(9000),gethitvar(damage)
trigger3 = fvar(1)
value = 0.5
[State -2,ダメ補正変数]
type = Varset
triggerall = !IsHelper
trigger1 = time = 0
fvar(1) = .1
すまん、良くわからないので何か助言を;
アーマー関連の構造がわからんので、適宜変えてもらうしかないけど
大まかには、こんな記述でいいんじゃないの?
少数整数使い分け間違ってるかもしれないけど、その場合修整してね。
[State -2, Varset]
type = Varset
triggerall = !IsHelper
trigger1 = Life < 750
trigger1 = Palno = [1,6]
trigger2 = palno = [7,11]
trigger3 = helper(9000),gethitvar(damage);→これ>>249 の記述には二重にあるのがよくわからんです。
var(0) = 2
[State -2, Varset]
type = Varset
triggerall = !IsHelper
trigger1 = palno = 12
trigger2 = helper(9000),gethitvar(damage);→これ>>249 の記述には二重にあるのがよくわからんです。
var(0) = 10
[State -2,防御補正]
type = DefenceMulSet
TriggerAll = RoundState = 2
triggerall = !IsHelper
value = 1*var(0)
AI作者の方にお伺いしたいのですが、
AIを作りやすいようなCNSの作り方ってあるのでしょうか?
>>249
お返事ありがとうございます!
言葉足りなくて申し訳ない グループ5030〜5032番、イメージ20番のことでした
吹っ飛びの中割でいいのかな→KFMのAIRには使われてない→でも必須スプライトだし何かしら意味が
→もしや20番だけ腰から落ちてるような絵を登録するのか?→でもKFMのAIR(ry
と悶々としてました
変に考えずにやってみるようにします ありがとうございました
>>249
まず、-2でTime=0を読み取れるのは
20とか40みたいに内部処理でChangeStateした場合などの非常に限られた場合のみね
で、FVar(1)を他で弄ってないならFVar(1)=0.1が成り立ってからはずっと
DefenceMulSet3つともTrigger3で有効になるから0.025倍のダメージになる
あと、根性値みたいに補正掛けるならLife < 750よりもLife < .75*LifeMaxの方が良い
Playerヘルパー使うってのは
Type = DefenceMulSet
TriggerAll = RoundState = 2
Trigger1 = !IsHelper
Trigger1 = (PalNo=[1,6])*(Life<.75*LifeMax)+(PalNo=[7,11])
Trigger2 = IsHelper(9000)
Trigger2 = (Root,PalNo=[1,6])*(Root,Life<.75*Root,LifeMax)+(Root,PalNo=[7,11])
Value = .5
Type = DefenceMulSet
TriggerAll = RoundState = 2
Trigger1 = !IsHelper
Trigger1 = PalNo = 12
Trigger2 = IsHelper(9000)
Trigger2 = Root,PalNo = 12
Value = .1
にして-2にあるDefenceMulSet以外にTriggerAll = !IsHelper付けるってこと
この場合はLifeAddは変えなくていい
>>233 の方法使うなら
Type = DefenceMulSet
TriggerAll = RoundState = 2
Trigger1 = (PalNo=[1,6])*(Life<.75*LifeMax)+(PalNo=[7,12])
Value = FVar(x) := .5-.4*(PalNo=12)
にしてLifeAddのValueに*FVar(x)付けてCeil()かFloor()で囲えばおk
「Value = -Helper(9000),GetHitVar(Damage)」
↓
「Value = -Ceil(Helper(9000),GetHitVar(Damage)*FVar(x))」
みたいに
>>250 >>253
すんません;どうしたいか、ということが欠けてました;;;
基本的に1〜6の表カラーは体力が750より下になった時にダメージを半分にする根性値にしたい。
7〜11pはそれが最初からある防御補正。(さらに1〜6pの根性値を上乗せする?)
12pはさらに堅牢になってダメージを10分の1にしつつ、さらに根性値が掛かる。
そんな感じです。
どの手段とるかは、ともかく
根性値の意味で使うなら、DefenceMulSetの仕様上限界あるからLifeAddと組み合わせないとダメなんだよね。
詳しくはgoogle先生で「mugen 根性値」とかで調べてくださいな
常時アーマー展開前提のキャラなら、DefenceMulSetじゃなくってLifeAdd自体を弄るべきっすな
value=Value = -Ceil(Helper(9000),GetHitVar(Damage)*FVar(x))ってしてあげる方法で
fvar(x)の代入処理は前述の通りっす。
最初の質問(>>232 )がDefenceMulSetをヘルパーアーマーに適用したいって話だから
アーマー用のヘルパー側からもDefenceMulSet読ませればいいじゃんってのが>>236 や>>241 のレス
MoveType!=Hの時の処理は別途用意してる前提で話してた
>>249 のDefenceMulSet3つのTrigger1だけを拾って1つに纏めたのが>>253 の3段落目
ついでにFVarへの代入もセットで実行してるけどね
でも>>254 に「さらに根性値が掛かる」とあるからDefenceMulSetのValueを
Value = FVar(x) := .5-.4*(PalNo=12)-.05*(PalNo=12)*(Life<.75*LifeMax)
にすればいいかな、7〜11Pのカッコ内は疑問符打ってあるから取り敢えず無視したけど
別件だけど>>236 読み返して、こんな処理しなくても普通に
Type = VarSet
Trigger1 = 1
var(x) = (Var(1)!=0)+(Var(2)!=0)+(Var(3)!=0)+(Var(4)!=0)+(Var(5)!=0)+(Var(6)!=0)+(Var(7)!=0)
でいいじゃんと思った
ぶっちゃけちゃんと作動してたみたい。
とりあえず、k氏改変ゴジラの強パンで115のダメージを食らう。一時期230を食らう時があった。
230の半分。つまり115は根性値として作動してたvalue = .5がちゃんと作動してたってことかな?
細かい事を散々いった挙句に作動してました〜。助言をくれたAzuma氏等、ほんと申し訳ありませんOTL
しかし、本来の問題が見えたような気がしました。
ようは1〜6pは750になるまで230のダメージを受けなきゃいけないのに、なぜか根性値であるvalue = .5がなぜか最初から起動してました。
これどうなってんだろ?
すんません、もうしばし知恵をお借りしたいです(_ _;
結局どういう記述になったの?
記述見ないことには何とも言えない
>>258
アドバイスを受ける前の記述に戻しました。
結局、ゴタゴタ加えて訳わかんなくなったので;
今更だけど、もう一回それのっけてくれると嬉しい
とりあえず、問題の1〜6p用の記述を。
[State -2,防御補正1];防御補正1
type = DefenceMulSet
TriggerAll = RoundState = 2
triggerall = !IsHelper
trigger1 = Life < 750
trigger1 = Palno = [1,6]
trigger2 = helper(9000),gethitvar(damage)
value = 0.5
ついでに12pのも発動していないっぽい;
[State -2,防御補正2]
type = DefenceMulSet
TriggerAll = RoundState = 2
triggerall = !IsHelper
trigger1 = palno = 12
trigger2 = helper(9000),gethitvar(damage)
value = 0.1
trigger2 = helper(9000),gethitvar(damage)
これいらないんじゃない?
>>254 で書いてる仕様にしたいならTrigger2は要らんね
あと、>>253 にも書いたけどLife<750だと人数補正とかコンフィグの影響受けるし
各ユーザーが[Data]のLife変えて使う場合も影響受けるから
Life<0.75*LifeMax使った方が無難
>>254 の仕様を記述化するなら
DefenceMulSetを3つ使わなくても
Type = DefenceMulSet
TriggerAll = RoundState = 2
Trigger1 = FVar(x) := 1
Trigger1 = (PalNo=[1,6])*(Life<.75*LifeMax)+(PalNo=[7,12])
Value = FVar(x) := .5-.4*(PalNo=12)-.05*(PalNo=12)*(Life<.75*LifeMax)
で防御補正3つとFVarへの格納を一纏めにできる
あとはアーマーのダメージ処理を
Type = LifeAdd
Trigger1 = NumHelper(9000)
Trigger1 = Helper(9000),GetHitVar(Damage)
Value = -Ceil(Helper(9000),GetHitVar(Damage)*FVar(x))
Absolute = 1
IgnoreHitPause = 1
で実行するだけ
試しに
カットインが出る技を作成しようとしているのですが…
どうにも画像が表示されません
やはり何か間違えているのでしょうか?
;-------------------------------
[Statedef 21008,カットイン]
Type = A
Physics = N
SprPriority = 8
Anim = 21008
[State -1, NotHitBy]
Type = NotHitBy
Trigger1 = 1
Value = SAC, NT, ST, HT ,NA, SA, HA ,NP, SP, HP
Time = 1
[State -1, Explod]
Type = Explod
Trigger1 = Time = [0,20]
Anim = 21008
ID = 21008
Postype = back
Pos = 0 ,0
scale = .54,.54
Ownpal = 1
SprPriority = -1
IgnoreHitPause = 1
SuperMoveTime = 9999999
PauseMoveTime = 9999999
[State -1, Explod]
Type = Explod
Trigger1 = Time = [21,50]
Anim = 21008
ID = 21008
Postype = back
Pos = 0,0
scale = .54,.54
Ownpal = 1
SprPriority = -1
IgnoreHitPause = 1
SuperMoveTime = 9999999
PauseMoveTime = 9999999
[State -1, Explod]
Type = Explod
Trigger1 = Time = 51
Anim = 21008
ID = 21008
Postype = back
Pos = 0,0
scale = 0.54,0.54
Ownpal = 1
SprPriority = -1
IgnoreHitPause = 1
SuperMoveTime = 9999999
PauseMoveTime = 9999999
[State -1, Explod]
Type = ModifyExplod
Trigger1 = Time >= 51
ID = 21008
Pos = 0,0
scale = 0.54+(statetime-50)*0.054*.7,.54+(statetime-50)*0.054*.7
SuperMoveTime = 9999999
PauseMoveTime = 9999999
[State -1, AssertSpacial]
Type = AssertSpecial
Trigger1 = 1
Flag = Noshadow
Flag1 = invisible
IgnoreHitPause = 1
SuperMoveTime = 9999999
PauseMoveTime = 9999999
[State -1, DestroySelf]
Type = DestroySelf
Trigger1 = Time = 55
IgnoreHitPause = 1
SuperMoveTime = 9999999
PauseMoveTime = 9999999
;---------------------------------------------------------------------------
続き↓技
;---------------------------------------------------------------------------
;電刃波動拳
[Statedef 3000]
type = S
movetype = A
physics = N
ctrl = 0
anim = 2000
velset = 0,0
[State 3000, 強弱]
type = VarSet
trigger1 = Time = 0
v = 53
value = 0
IgnoreHitPause = 1
Persistent = 1
[State 3000, ボタン溜め];ボタンが押しっぱなしになっている事を判断
type = VarSet
triggerall = (Anim = 2000)
trigger1 = (Time > 3)
v = 25
value = (command="denjin_hold")
supermovetime = 99999999
pausemovetime = 99999999
IgnoreHitPause = 1
Persistent = 1
[State 3000, 溜め時間];ボタンが押しっぱなしなら変数の値を増やしていく
type = VarAdd
triggerall = (Time > 3)
trigger1 = (var(25) = 1)
v = 26
value = 1
supermovetime = 99999999
pausemovetime = 99999999
IgnoreHitPause = 1
Persistent = 1
[State 3000, 超必殺技暗転時間停止]
type = SuperPause
trigger1 = Time = 1
anim = -1
pos = 0,0
sound = s0,24
time = 50
;movetime = 0
darken = 1
poweradd = -1000
;p2defmul = 1.0
;unhittable = 1
[State 3000, アニメ変更];ボタンを離すとこのアニメになる
type = ChangeAnim
triggerall = (Time > 6) && (var(26) >= 0)
trigger1 = (var(25) = 0)
trigger2 = (var(26) > 150)
value = 2001
Persistent = 0
[State 3000, 無敵]
type = NotHitBy
trigger1 = Time = 0
value = SCA
time = 9
[State 3000, 物理的なキャラの幅]
type = Width
triggerall = (Anim = 2001)
trigger1 = (AnimElemTime(4) >= 0) && (AnimElemTime(16) < 0)
player = 40,0
edge = 55,0
[State 3000, 残像]
type = AfterImage
trigger1 = Time = 0
Time = 204
PalBright = 90,90,150
PalContrast = 180,180,256
Trans = Add1
[State 3000, 残像表示時間]
type = AfterImageTime
triggerall = (Anim = 2001)
trigger1 = AnimElemTime(1) = 1
Time = 49
Persistent = 0
[State 3000, 画像の色]
type = PalFX
triggerall = (Anim = 2000)
trigger1 = (Time > 3)
time = 2
add = 10,10,255
sinadd = 10,150,250,3 ;振幅赤,振幅緑,振幅青,周期
invertall = 1 ;色を反転させる
IgnoreHitPause = 1
Persistent = 4
[State 3000, パワーゲージ増減]
type = PowerAdd
triggerall = (var(25) = 1) && (Anim = 2000) && (Time > 3)
trigger1 = (Time % 2 = 0)
value = -5
[State 3000, 軸位置]
type = PosSet
trigger1 = 1
y = 0
続き2[State 3000, エフェクト];電流
type = Explod
triggerall = (Anim = 2000) && (Time > 3)
trigger1 = (Time % 6 = 0)
anim = 3007
postype = p1
facing = ifelse(Random<500,-1,1)
vfacing = ifelse(Random<500,-1,1)
pos = 0,-60
scale = const(size.xscale)*0.5,const(size.yscale)*0.5
sprpriority = 4
supermovetime = 99999999
pausemovetime = 99999999
ownpal = 1
random = 40,60
ID = 3007
IgnoreHitPause = 1
[State 3000, 音を鳴らす]
type = PlaySnd
triggerall = (Anim = 2000)
trigger1 = (Time > 3) && (var(25) = 1)
value = 0,13
channel = 1
Persistent = 8
[State 3000, 音を鳴らす]
type = PlaySnd
triggerall = (Anim = 2001)
trigger1 = AnimElemTime(4) = 0
value = 0,11
channel = 1
[State 3000,カットイン]
type = Helper
triggerall = Numhelper(21008) = 0
trigger1 = time = 0
name = "21008"
ID = 21008
stateno = 21008
postype = p1
facing = 1
supermovetime = 99999
pausemovetime = 99999
[State 3000, ヘルパーを出す];気弾の発射
type = Helper
triggerall = (Anim = 2001) && (NumHelper(2000) = 0)
trigger1 = AnimElemTime(4) = 0
name = "Denjin-Hadouken"
stateno = 2000
ID = 2000
pos = 45,-65
keyctrl = 0
postype = p1
ownpal = 1
size.xscale = const(size.xscale)*0.5
size.yscale = const(size.yscale)*0.5
IgnoreHitPause = 1
Persistent = 0
[State 3000, ステート変更]
type = ChangeState
triggerall = (Anim = 2001)
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;===========================================================================
ググッたり人のを参考にした結果ココまでは、わかったけれど
何故表示されないのかがわからないので何か指摘していただければ助かります。
完成予定としてはコレで表示できれば選択色で色の変わるカットインが出来ると思うのですが…
どーでもいいことを一個
[State -1, NotHitBy]
Type = NotHitBy
Trigger1 = 1
Value = SAC, NT, ST, HT ,NA, SA, HA ,NP, SP, HP ;←これ[value = SCA]だけで完全無敵になる
Time = 1 ;←保険の意味で[2]にしとくと吉
>>267
なるほど
カットインの
[State -1, NotHitBy]
Type = NotHitBy
Trigger1 = 1
value = SCA
Time = 2
へ変更しました。
ありがとうございます。
Begin Action 21008とそこで読ませてるスプライトの確認かな
HelperやExplodが表示限界に達していなければ
その記述で問題なく表示されるだろうし
カットイン用ヘルパーのNotHiyByはTime = -1(永続)にしてもいい
まあ21008にClsn2付けてないだろうからNotHitBy自体要らんけどね
あと、AssertSpecialはInvisibleフラグ付けてるならNoShadowフラグは不要
>>269
まず
Time = 2にした所を-1に?
NoShadowは無くても良い…
Begin Action
確認?ですね〜
ありがとうございます。
>>263
その方法でやると異常に防御力が向上するのよ。
1pでも酷いレベルの狂レベルの;;;(エルクゥが3割減らせないレベル)
12pならまだしも、マイルド性能(といっても周りのレベル上、凶が必要だが)には
程遠いのよ;
うーん、困ったなぁ・・・・。
>>271
別のとこで同じFVar使ってたり別のDefenceMulSet用意してたりしてない?
>>263 の記述だけならFVar(x)もDefenceMulSetのValueも1か0.5か0.1か0.05しか取らない筈だし
0.1と0.05も12Pの時しか取らない筈だからDisplayToClipboardで確認してみては?
あとはアーマーヘルパーの個別ステートでの処理も気になるところ
>>269 、267
確認してみたら
思いっきりケアレスミスでした。(ノ△・。)
協力してくれたのに、本当にすみません
私はなんと愚かな…
うっかり画像のフレームを0にしていたとは…
そりゃ出ないよねぇ…orz
>>272
う〜ん、fvar使うのはこれが初めてだし、他に使用してる物はないね。
DefnceMulSetも余分な物は削除してますし・・・・。
アーマーの処理?
いちよう、某所のマルパクであるが、一様。
[State -2, アーマーヘルパー呼び出し]
type = Helper
triggerall = !NumHelper(9000)
trigger1 = StateNo = 0
HelperType = Player
name = "Armor"
stateno = 9000
ID = 9000
size.xscale = 1.7
size.yscale = 1.7
postype = p1
pos = 0,0
ownpal = 1
supermovetime = 99999
pausemovetime = 99999
[State -2, アーマー中の無敵]
type = NotHitBy
triggerall = !IsHelper
trigger1 = NumHelper(9000)
value2 = SCA
time = 2
[State -2, アーマー受けした時のライフ減少]
type = LifeAdd
triggerall = !IsHelper
trigger1 = NumHelper(9000)
trigger1 = Helper(9000),GetHitVar(damage)
value = -ceil(Helper(9000),GetHitVar(damage)*fvar(1));*-1←これは関係ないの。スルーして
absolute = 1
ignorehitpause = 1
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板