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

製作お助け掲示板

1Yes:2010/06/25(金) 01:34:11
製作で困ったことがあれば
質問をどうぞ
どんな初歩的な質問でも
キャラ製作の先人達がやさしくお答えいたします。
ただし教えてくれた内容が間違っていても怒らないように。
だれにでも間違いはあります。
ココで得た知識を吸収し、教える側に回れるように精進しましょう。
また
先人達も知識がさび付かないように、理解をより深めるために
お互いに知識を出し合い、高め合いましょう。

201ケットシー:2010/08/04(水) 21:38:29
続いて派生技の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

202UNA-10:2010/08/04(水) 22:01:25
えっと物凄く初歩的なので聞きづらかったんですが
空中投げでいきづまってます。一応調べながら
やってみてはいるんですが時間かかりすぎ?
ソロソロ一時的に報告ついでにうpしようと思ってはいるんですけど
どうにも成功しない?('A`;)
空中投げのタイプとしては秋葉系のつかんで落下タイプ
キャラの位置を動かせる段階なのか?
メルブラ風の空中投げみたいにしたいけれど…と悩んでいるんですよね〜
どうせうpするなら先に公開してもいいよね。
と言うわけでうpろだの方に置いてみます。
CNSとかその他もろもろ解ってないですね。
一応その他注意点として上に吹き飛ばすと挙動が変?
大まかにソレじゃないかと思い当たるふしはあるけれど
とりあえず後回しに…してあります。
更に…空中ジャンプキャンセルの回数制限も設定して無いですね。
コレかな?と思ったものをコピペしてみたら偶然出来たのでw
コレはテストプレイ中はそのままで遊び要素としておいて置こうかな?とか
考えています。まぁ修正しなきゃいけないんですけどね

独学でやっててかなりおかしくね?と言う結論になったので
わかる人に見てもらった方が良いかなと
なんか色々すみません
旧アップローダーに置かせていただきました。

203ケットシー:2010/08/04(水) 23:41:09
>200
 すいません解決しました。Widthの記述を削除したらちゃんとなりました。

204blank:2010/08/05(木) 13:11:26
すみません初歩的な質問なんですが、例えばタッグマッチで
貫通ビーム系の必殺技を敵二体同時に当てた場合、ヒットスパークも
二体別々に表示させる方法っていうのは有るんですかね?

205blank:2010/08/05(木) 20:36:33
>>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とかは適切に設定

206UNA-10:2010/08/05(木) 21:14:37
>>205
あら('A`;)うっかり
すみませんでした。
旧うぷろだの175.zipですね。
ttp://loda.jp/dteit009/?id=175
こうかな?

URL書いてないの気が付いてなかった。指摘ありがとうゴザイマス。

ほとんど解ってないのですけれど
まずは、食らいモーション中に出せるようにする所でしょうか?

207blank:2010/08/05(木) 22:58:42
>>205
とても丁寧な説明ありがとうございました。
お陰様で上手くいくことが出来ました。

208Yes:2010/08/06(金) 12:17:07
>>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)
をはずすだけです。

他にも質問ありそうですね。
箇条書きでどんどん質問してください。

209UNA-10:2010/08/06(金) 21:06:24
>>208
ありがとうゴザイマス。お陰で修正できました。
では箇条書きで
・空中から着地時に別のアニメーションを表示させたい(叩きつけるモーション)
・ダウンを奪うやり方はこのキャラの後方投げで問題が無いのか気になりますね。
かなり強引なやり方だった気がするので
特に聞いておかないとワカラナイのはココだけですね。

210Yes:2010/08/07(土) 00:30:40
一つ目
trigger1 = Pos Y >= 0 && vel Y > 0 ;地面からの高さが0以下(地面にめり込んでいる)、かつ落下している
こいつを条件に使って
ステートコントローラーChangeAnimで
アニメーションを変えてください。

二つ目
問題ないです。
ただし
SelfStateの発動条件を適切なものにしてください。

211blank:2010/08/08(日) 12:04:53
ガードポイント的な技を作っていて、
ヘルパーの常時ガードステートを用いてますが、ガード不能攻撃を
受けた場合に分身バグが起きてしまいます。
ニコニコmugenwikiのガードポイントの項目には
HitOverRideを使うとあるんですが、ガード不能だけ判別とかできるんですか?
それとも何か上手な使い方があるんでしょうか?
どなたかアドバイス宜しくお願いします。

212blank:2010/08/08(日) 13:34:11
ガー不攻撃も耐えるガードポイントなら
ヘルパーHitOverride使って、GuardFlag問わずガードステートに飛ばせばいい
ガー不攻撃で仰け反る(そのまま喰らう)GPは工夫が必要だけど

213blank:2010/08/08(日) 14:40:04
ガード不能は喰らいます。なおかつ腕部分のみGPって感じの技です

214blank:2010/08/08(日) 15:07:05
横槍失礼
ガードポイントは難しいと聞きます、参考になる(信頼性の高い)記述とか持ってるキャラっていますか?

215blank:2010/08/08(日) 15:23:08
いえ、ウェブの解説など見ながら一から構築しています。
多くのキャラは本体ごとガードステートに移行方式(全身GPになってしまう)
リバーサル方式(飛び道具が防げない、相手のコンボを切ってしまう)

なので今回の場合、あまり参考になりません。

一応ガードしてから攻撃、下半身はダメージ通る、投げは喰らう
ところまでは出来まして、あとはガード不能技の対処って感じです。

216UNA-10:2010/08/08(日) 20:47:50
>>210
1.ありがとうゴザイマス。修正できました。
けれど着地モーションに移行するので何か対策を探しています。
2.SelfStateと言うとダウンを奪う形なのでアレで済ませてましたけど
時間でステートをお返しするタイプもつけておくべきという事ですか?

217blank:2010/08/08(日) 23:37:25
>>215
GPヘルパーは本体に軸重ねてると思うからHelperType = Playerにしておいて
喰らいステートに移行したら(ガードできなかったら)本体も専用喰らいステートに移行
もしGPヘルパーがステート奪われたら-2でSelfStateかDestroySelf

専用喰らいステートは5000番台のステートをコピぺして
GetHitVarをHelper(**),GetHitVarに置き換えたもの
5000番台使ってもいいんだけど条件分岐面倒だから専用ステート用意した方が楽

218UNA-10:2010/08/09(月) 23:43:16
>>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)

コレがほぼその原因らしいけれどはずすと
空中で停止します。何か手を考え中

219Yes:2010/08/10(火) 01:17:50
[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を試してみてください。

220UNA-10:2010/08/10(火) 02:28:42
あれ?出ない?なんかすみません
確認の為に…
;---------------------------------------------------------------------------
;成功(放り投げる)
[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
と言うとこの辺までですよね?
アレ?アニメーションの登録位置がおかしかったのかな?

221Yes:2010/08/10(火) 02:51:18
おおお落ち着いてください。
よく見て。その位置に(ChangeAnimを)入れると(ChangeAnimの)トリガーが満たされない。
入れるなら

[State 821, 移動速度]
type = VelSet
trigger1 = Pos Y >= 0 && vel Y > 0
x = 0
y = 0

の上です。
いっぺんChangeStateを入れずに
ChangeAnimだけ入れてみてください。

222UNA-10:2010/08/10(火) 03:08:59
ああなるほどソコでしたか。すみません
何とかアニメーションは変更できましたが
アニメーションが1枚目で止まりっぱなしで
1p2pともにうごけなくなります。

223Yes:2010/08/10(火) 03:53:40
それならば
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
をくわえる。

こんな感じで如何でしょう。

224UNA-10:2010/08/10(火) 04:48:23
>>223
お陰で解決できました〜ありがとうございます。
後でキャラクターの細かい位置調整をしておきます。
いやほんとにありがとうございました。

225愛茶:2010/08/10(火) 23:59:50
う〜ん、対策の仕方は一様分かってるのですが。

trigger○ = Palno = [1,6](多分意味的には1pから6pまで、だと思う)

と入れるとCMBではちゃんと有効になるんですが、−2とかになると、エラー吐かれるんですよねぇ。
と、なると
trigger○ = palno = 1
(中略)
trigger○ = palno = 6
まで一々書かないといけないのでしょうかね?

めんどクセぇ・・・・もっと手間が省ける方法ないのかなぁ?

226愛茶:2010/08/11(水) 00:06:01
追記

どっかの記述がtype = ~~~~
が抜けてたのが原因だったみたい。

クソ過ぎる理由でエラー。

227ケットシー:2010/08/11(水) 01:00:39
 超必殺技の製作にあたり半透明エフェクトの解説を色々漁りまずは試しに先日作った飛び道具(「肉球)を半透明にしてみようと思ったのですがうまくいきません??
 もしかしてエフェクトは半透明にできるけど飛び道具は半透明にできないのでしょうか?(多分私が何かミスってるだけだと思うのですが念のため質問させていただきました)

228Yes:2010/08/11(水) 01:45:12
>>227
出来ますよ。
ヘルパーにAngleDrawか何か入れると
Airファイルの,Aが無効になったような覚えがあります。
そのときは
透明度を変えるステートコントローラーを使ったら何とかなったような気がします。

229Yes:2010/08/11(水) 12:08:14
>>226
ドンマイ!
クールにいこうぜ。

230ケットシー:2010/08/11(水) 17:39:25
昨日の私
EDGE あれ不透明度いじっても半透明にならなよ?→ぐぐる→他のツールをDL(ああこのツールの使いかた覚えるの大変そう)
今日
いろいろぐぐる→airをテキストで開いて,,Aで半透明になるよー→昨日の苦労はなんだったんだorz

231Azuma:2010/08/11(水) 20:28:37
あるあるw

ちなみにtransステコンでも同じ効果出せます。

232愛茶:2010/08/12(木) 00:47:41
ヘルパーアーマーって、根性値とかの元になってるDefenceMulSetが効かないのかなぁ・・・・?
それとも記述がおかしいのかなぁ?

それともかくとして、ヘルパーアーマーのダメージってどうやったら制御できるんだろ?

[State -2, アーマー受けした時のライフ減少]
type = LifeAdd
trigger1 = NumHelper(9000)
trigger1 = Helper(9000),GetHitVar(damage)
value = -1*Helper(9000),GetHitVar(damage)
absolute = 1
ignorehitpause = 1

これになんか色々すればいいんだと思うんだが・・・・うーん、やり方がイマイチわかりません;

ダメージを半分にしたり、無効化したりするのはどうしたら良いのでしょうかね?

233blank:2010/08/12(木) 07:14:23
>>232
DefenceMulSetのvalueを適当なfvar(●)で保存しておいて
232のvalueを
value = -1*floor(Helper(9000),GetHitVar(damage)*fvar(●))
にする、とか?
試したこと無いからわからない

234blank:2010/08/12(木) 11:00:49

ヘルパーステートか‐2で
常時、var(1)からvar(7)が0でない数がいくつあるかという数
を格納したいのですがおもいつきません
ヒントだけでもいいので教えてください

235あえそぷ:2010/08/12(木) 11:58:48
>>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してやる感じの・・・
間違ってたらごめんね(´・ω・`)

236blank:2010/08/12(木) 12:39:09
>>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は次のトリガー読ませるため

237blank:2010/08/12(木) 14:18:08
>>235>>236
素早い回答ありがとうございます
おかげで一歩進めることができました

238blank:2010/08/12(木) 21:34:54
初歩的な質問で申し訳ないのですが、
飛び道具(Projectile)をAngleDrawで回転させる事はできないのでしょうか?

色々ためしても自キャラがくるくる回るだけになってしまいます・・・

239blank:2010/08/12(木) 21:40:26
>>238
Proj単体でそういうのは無理だったはず
現状、Helper使って表現したほうが吉かと

240愛茶:2010/08/12(木) 22:04:06
>>236

うーん、HelperType = Player入れるとダメージが入らなくなるなぁ・・・・どうなってんだろ?;

241blank:2010/08/13(金) 16:20:08
>>240
-2にある関係ないステコンに!IsHelper付け忘れてそれが悪さしてるか
DefenceMulSetにVarとか使ってるだろうからHelper側から読ませるときに
Root(またはParent)リダイレクト付けるのを忘れてるかのどっちかかな

Nomalヘルパーのまま本体のLifeAddの計算式にVar使ってもいいんだけど
万が一ステート奪われた時に-2でデバッグできるからPlayerヘルパーにした方が都合が良い
但し、本体と軸位置の違うヘルパーは相手の挙動(向き)に影響しちゃうから避けるべきだけどね

242愛茶:2010/08/13(金) 18:38:51
>>241

!IsHelperを加える関係ない-2が良くわからないので基本、全部に加えてみたら直った。
でも結局反映されないという振り出しに戻っただけ。

わけ分からんOTL

243Azuma:2010/08/13(金) 23:10:42
>>233 の方法じゃダメなんですか?
DefenceMulSetで影響された防御力の受ける数字は知らんとですが
Attack100→110に上昇させたら純粋に攻撃力1.1倍? 同じように計算できるんならですけど…

Defenceが200になってたら、lifeaddする数値が1/2されるって意味なんだから、同じようにvalueの数字乗算する記述にすればいいよーな

244愛茶:2010/08/13(金) 23:21:27
>>243

その方法が一番分かりやすいので試したいと思ってます。
ちょいとVarに関しては色々使い方に悩んで踏みとどまってるんですが・・・・。

てか、valueの保存?どやってやるんだろ・・・ちょいとサイトを連ねてるのですが・・・イマイチ感覚が働かん・・・・;

245Azuma:2010/08/13(金) 23:48:52
value=var(56)でいいんじゃないかな?
あ、悩んでる部分違います?

246愛茶:2010/08/14(土) 00:20:35
>>245

さ、さぁ・・・?ここらへんはまだ未経験ですからよくわかんない、という・・・。製作するにあたっては結構な問題だと思う;

あれ、保存するvarの数字って決まってたっけ?
つか、3種類のDefenceMulSetがあるからLifeAddも3種類に揃えなくちゃいけないのかな?

247Azuma:2010/08/14(土) 00:24:11
いや、なににどのvar(X)使おうがダイジョブですよ。
整数か否かでfvar(X)と使い分けることだけ気をつければ。

現在使ってる3種類のDefenceMulSetのトリガーを使ってfvar(X)を設定。
value=1*fvar(X)
って記述でDefenceMulSet定義するようにすればLifeAddも一個で済むハズっす。

248CaWO4:2010/08/14(土) 00:58:43
こちらでははじめまして 今さらこんな質問で恐縮ですが・・

SFFの5030番台、20にはどんな絵を登録すればいいでしょうか
KFMや一部キャラだと5040-0と同じだったりまた他のキャラだと吹っ飛びの中割だったりで
よう分からんのです

249愛茶:2010/08/14(土) 01:29:28
>>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

すまん、良くわからないので何か助言を;

250Azuma:2010/08/14(土) 11:21:55
アーマー関連の構造がわからんので、適宜変えてもらうしかないけど
大まかには、こんな記述でいいんじゃないの?

少数整数使い分け間違ってるかもしれないけど、その場合修整してね。


[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)

251blank:2010/08/14(土) 12:58:19
AI作者の方にお伺いしたいのですが、
AIを作りやすいようなCNSの作り方ってあるのでしょうか?

252CaWO4:2010/08/14(土) 12:58:40
>>249
お返事ありがとうございます!

言葉足りなくて申し訳ない グループ5030〜5032番、イメージ20番のことでした
吹っ飛びの中割でいいのかな→KFMのAIRには使われてない→でも必須スプライトだし何かしら意味が
→もしや20番だけ腰から落ちてるような絵を登録するのか?→でもKFMのAIR(ry
と悶々としてました

変に考えずにやってみるようにします ありがとうございました

253blank:2010/08/14(土) 14:33:29
>>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))」
みたいに

254愛茶:2010/08/14(土) 19:42:28
>>250 >>253

すんません;どうしたいか、ということが欠けてました;;;

基本的に1〜6の表カラーは体力が750より下になった時にダメージを半分にする根性値にしたい。

7〜11pはそれが最初からある防御補正。(さらに1〜6pの根性値を上乗せする?)

12pはさらに堅牢になってダメージを10分の1にしつつ、さらに根性値が掛かる。
そんな感じです。

255Azuma:2010/08/14(土) 20:19:35
どの手段とるかは、ともかく
根性値の意味で使うなら、DefenceMulSetの仕様上限界あるからLifeAddと組み合わせないとダメなんだよね。
詳しくはgoogle先生で「mugen 根性値」とかで調べてくださいな

常時アーマー展開前提のキャラなら、DefenceMulSetじゃなくってLifeAdd自体を弄るべきっすな
value=Value = -Ceil(Helper(9000),GetHitVar(Damage)*FVar(x))ってしてあげる方法で

fvar(x)の代入処理は前述の通りっす。

256blank:2010/08/14(土) 21:19:41
最初の質問(>>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)
でいいじゃんと思った

257愛茶:2010/08/15(日) 01:01:53
ぶっちゃけちゃんと作動してたみたい。

とりあえず、k氏改変ゴジラの強パンで115のダメージを食らう。一時期230を食らう時があった。
230の半分。つまり115は根性値として作動してたvalue = .5がちゃんと作動してたってことかな?
細かい事を散々いった挙句に作動してました〜。助言をくれたAzuma氏等、ほんと申し訳ありませんOTL

しかし、本来の問題が見えたような気がしました。

ようは1〜6pは750になるまで230のダメージを受けなきゃいけないのに、なぜか根性値であるvalue = .5がなぜか最初から起動してました。

これどうなってんだろ? 
すんません、もうしばし知恵をお借りしたいです(_ _;

258blank:2010/08/15(日) 01:33:15
結局どういう記述になったの?
記述見ないことには何とも言えない

259愛茶:2010/08/15(日) 01:45:04
>>258

アドバイスを受ける前の記述に戻しました。
結局、ゴタゴタ加えて訳わかんなくなったので;

260Azuma:2010/08/15(日) 08:49:21
今更だけど、もう一回それのっけてくれると嬉しい

261愛茶:2010/08/15(日) 11:38:48
とりあえず、問題の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

262Azuma:2010/08/15(日) 12:18:40
trigger2 = helper(9000),gethitvar(damage)

これいらないんじゃない?

263blank:2010/08/15(日) 13:23:14
>>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
で実行するだけ

264UNA-10:2010/08/15(日) 21:50:02
試しに
カットインが出る技を作成しようとしているのですが…
どうにも画像が表示されません
やはり何か間違えているのでしょうか?
;-------------------------------
[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
;---------------------------------------------------------------------------

265UNA-10:2010/08/15(日) 21:58:16
続き↓技
;---------------------------------------------------------------------------
;電刃波動拳
[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

266UNA-10:2010/08/15(日) 21:59:56
続き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
;===========================================================================
ググッたり人のを参考にした結果ココまでは、わかったけれど
何故表示されないのかがわからないので何か指摘していただければ助かります。
完成予定としてはコレで表示できれば選択色で色の変わるカットインが出来ると思うのですが…

267Azuma:2010/08/15(日) 22:32:12
どーでもいいことを一個
[State -1, NotHitBy]
Type = NotHitBy
Trigger1 = 1
Value = SAC, NT, ST, HT ,NA, SA, HA ,NP, SP, HP ;←これ[value = SCA]だけで完全無敵になる
Time = 1 ;←保険の意味で[2]にしとくと吉

268UNA-10:2010/08/15(日) 22:49:01
>>267
なるほど
カットインの
[State -1, NotHitBy]
Type = NotHitBy
Trigger1 = 1
value = SCA
Time = 2
へ変更しました。
ありがとうございます。

269blank:2010/08/16(月) 01:09:02
Begin Action 21008とそこで読ませてるスプライトの確認かな
HelperやExplodが表示限界に達していなければ
その記述で問題なく表示されるだろうし

カットイン用ヘルパーのNotHiyByはTime = -1(永続)にしてもいい
まあ21008にClsn2付けてないだろうからNotHitBy自体要らんけどね
あと、AssertSpecialはInvisibleフラグ付けてるならNoShadowフラグは不要

270UNA-10:2010/08/16(月) 02:39:48
>>269
まず
Time = 2にした所を-1に?
NoShadowは無くても良い…

Begin Action
確認?ですね〜
ありがとうございます。

271愛茶:2010/08/16(月) 11:51:37
>>263

その方法でやると異常に防御力が向上するのよ。
1pでも酷いレベルの狂レベルの;;;(エルクゥが3割減らせないレベル)
12pならまだしも、マイルド性能(といっても周りのレベル上、凶が必要だが)には
程遠いのよ;
うーん、困ったなぁ・・・・。

272blank:2010/08/16(月) 17:35:48
>>271
別のとこで同じFVar使ってたり別のDefenceMulSet用意してたりしてない?
>>263の記述だけならFVar(x)もDefenceMulSetのValueも1か0.5か0.1か0.05しか取らない筈だし
0.1と0.05も12Pの時しか取らない筈だからDisplayToClipboardで確認してみては?
あとはアーマーヘルパーの個別ステートでの処理も気になるところ

273UNA-10:2010/08/16(月) 18:18:39
>>269、267
確認してみたら
思いっきりケアレスミスでした。(ノ△・。)
協力してくれたのに、本当にすみません

私はなんと愚かな…
うっかり画像のフレームを0にしていたとは…
そりゃ出ないよねぇ…orz

274愛茶:2010/08/16(月) 19:14:09
>>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

275愛茶:2010/08/16(月) 19:14:45
続き。

;アーマー

[Statedef 9000]; アーマー判定ヘルパー
type = A
movetype = I
physics = N

[State 9000, 0]; 不具合対策
type = ChangeState
trigger1 = !IsHelper
value = 0
ctrl = 1

[State 9000, 0]; 無敵
type = NotHitBy
trigger1 = Time = 0
value = SCA
time = 1

[State 9000, 0]; 投げ無敵
type = NotHitBy
trigger1 = Time >= 1
value = ,AT
time = 5

[State 9000, 0]; 透明+影消し
type = AssertSpecial
trigger1 = 1
flag = Invisible
flag2 = NoShadow

[State 9000, 0]; 本体に追従
type = BindToParent
trigger1 = 1
time = 1
facing = 1
pos = 0,0

[State 9000, 0]; 判定を揃える
type = ChangeAnim
trigger1 = SelfAnimExist(Parent,Anim)
value = Parent,Anim
elem = Parent,AnimElemNo(0)

[State 9000, 0]; 打撃/飛び道具を受けたらステートを繰り返す
type = HitOverRide
trigger1 = IsHelper(9000)
attr = SCA,AA,AP
stateno = 9000


いちよう、アーマー関連記述はこれで全部。

276blank:2010/08/16(月) 23:53:05
ああ、アドバイス受ける前の記述に戻したって話だから
HelperType = Player消したんだと勝手に思いこんでた

アーマーヘルパーをHelperType = Playerで呼ぶなら
>>263のDefenceMulSetを-2に置くときにTriggerAll = !IsHelper付けてね
でないとアーマーヘルパーもDefenceMulSet実行しちゃって
Helper(9000),GetHitVar(Damage)の時点で補正掛かってるのに
更にFVar(x)掛けてるから二重の補正が掛かった値をLifeAddすることになる

277blank:2010/08/19(木) 19:01:59
質問なんですが

超必にコンボ補正がかからないようにってできないのでしょうか?

コンボの〆に超必入れた場合、
コンボよりもぶっぱのほうがダメがでかくなるんです・・・

278Yes:2010/08/19(木) 19:42:19
できますよ。
たぶん
[statedef-1]にAttackMulSetを置いてコンボ補正にしていますよね。
AttackMulSetに
"その超必の最中でないときに発動"
ってトリガーを足すだけです。
stateno あたりのトリガーがいいんじゃないですか。

279はいよるこっとん:2010/08/19(木) 19:54:42
いわゆる割合ダメージ(体力の○%のダメージ)というのは可能なのでしょうか?

280Azuma:2010/08/19(木) 20:55:36
可能です。

一番簡単なのは、相手のステート奪ってLifeAddステコンを用いる方式。

281Azuma:2010/08/21(土) 17:47:19
アーマー処理の関係で
特定条件での「怯み」が発生するように専用ステートを作ろうと弄ってるのですが
現在は喰らった攻撃のヒットバック速度を

[State 3810, VelSet]
type = VelSet
trigger1= Time = 0
x =(-EnemyNear,Facing)*(Helper(15000),GetHitVar(xvel))

という形式で、認識させています…が
めくり攻撃の一部とかだと敵Facingやヒットバック速度の正負が入れ替わったりで逆方向に動くこと
タッグモードだと挟まれた状況で攻撃を喰らった場合に、やっぱり正負が狂うこと

以上2点が、バグとして発生してしまいます。
改善案等ありましたら、お願い致します。

282ケットシー:2010/08/21(土) 22:59:48
搭載予定の技が挑発以外一式揃ったのでCNSの調整に入ろうと思うのですが、永久防止の為にどのへんに気をつけるできでしょうか?

283blank:2010/08/21(土) 23:03:03
めくり判定にEnemyNear,P2Dist xあたりを使えばいいんじゃない?
タッグに関してはEnemyNear,MoveContactやEnemyNear,NumTargetを使って認識
ただ、EnemyNear,MoveContactは常時MoveHitReset使ってる相手だと読めないのが難点

どういう条件か知らないけど、怯む条件のときにヘルパーをNotHitByして
本体が直接攻撃喰らうようにできないの?
本体はHitOverrideで怯みステートに送っちゃえばいいわけだし、その方が楽なのでは?

284Azuma:2010/08/21(土) 23:18:13
>永久防止
地上空中共に最速技の発生Fを把握して有利Fを組むことと空中CできるキャラならJuggle値の可さんに気を使うこと。
&チェーンCできるなら、それも含めたキャンセルタイミングからの有利F&発生Fを考慮して。


---------------------------------------------------------------------

ジャガノのアーマーみたいにアーマー性能は継続するけど、一旦怯む的なイメージっす。
んで、更にアーマー状態では「変身」してるキャラなんですが
一定量以上のダメージで「変身したまま」怯んでアーマー状態に復帰するように作りたいんです。


>EnemyNear,NumTargetを使用
相手がP1&P3に同時に攻撃を当てた場合って混乱しませんか?
相手(p2)が自分(p1)に当てた攻撃で取得した(p1の)TargetID認識をすればいいのかな…って、できましたっけ?


>本体はHitOverrideで怯みステートに送っちゃえばいいわけだし
この設定で移行させた場合&移行先のステートで、TargetState組んでる技と干渉した場合って、どちらが優先されますか?

投げ以外で崩れない&怯み状態だけどでもアーマー維持で攻撃を喰らう設定にしたいんですが…
えっと、ここで仰っている「怯みステート」はCommonではないですよね?

285blank:2010/08/21(土) 23:57:10
相手がちゃんとHitDefにID設定していれば
EnemyNear,NumTarget(Helper(15000),GetHitVar(ChainID))でできると思う
つか必ずしもEnemyNearとは限らん(遠い方の攻撃を受けることもある)から
NumEnemy見ながらEnemy(0)とEnemy(1)両方チェックした方が良いと思う

HitOverrideで送った先がMoveType=Hでなければ相手はTarget取れないからTargetState無効
送った先がMoveType=Hなら送った先のステートを経由してTargetStateでステート奪われる
HitVel読ませたいってことはMoveType=Hにしなきゃいけないけどステート奪われちゃマズイわけね
それならヘルパーに身代わりさせといた方がいいね

286fool:2010/08/22(日) 00:46:13
mugenのカンフーマンベースに超必殺技にカットインをつけたいんですけど表示されません。何が問題なのでしょうか?


;三烈カンフー突き手
[Statedef 3000]
type = S
movetype= A
physics = S
juggle = 4
velset = 0,0
anim = 3000
ctrl = 0
sprpriority = 2
[State 3000 , face] 
type=Explod
trigger1=time = 0  
anim=4000      
pos=-100, 0    
postype=back    
sprpriority=-1
supermove=1
bindtime=10     
vel=3,0      
removetime=80   

[State 3000 , Super A] 
type=SuperPause
trigger1=Time = 0  
pos=0, -30
anim=30
time=10   

[State 3000, ステート変更]
type = Chang
nimTime = 0
value = 0
ctrl = 1

287愛茶:2010/08/22(日) 01:52:20
>>286

Explodのpos = -100,0ってところが気になった。
一旦,-100を0にして映んなかったら・・・・・わからん;(すまん・・・自分もニワカだからなOTL)

あと
type = ChangはChangeStateを書いてる途中で投稿しちゃった☆ってやつ?

288fool:2010/08/22(日) 02:25:15
>287
返信ありがとうございます。すみません最後が切れてしまっていました正しくは、
[State 3000, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
です。
ttp://ice.prohosting.com/kira004/sakusei/sakusei12.html
を参考に、そのままCNSの三烈カンフー突き手の下に
コピーして数字をいじっているのですが、表示されません。何か理解が足りないのでしょうか。

289Yes:2010/08/22(日) 03:07:31
SuperPauseを取り除いたとき
カットインが出るかどうか確認してみてください。
でないときは

SuperPauseを取り除つつ
pos=100, 100 で出るかどうか確認してみてください。

290fool:2010/08/22(日) 13:21:20
>>289
やってみましたが表示されません。airも確認してみたのですが、アニメ指定もあっていると思うのですが。
一応キャラデータを上げておきます。
ttp://ux.getuploader.com/sibu55/download/2/accelerator.zip

291blank:2010/08/22(日) 21:51:34
ヘルパーアーマーを研究しているのですが
身代わり用のヘルパーがMovetype=Iであっても常時監視でGethitvar(damage)が機能するのはなぜなのでしょうか?

292Yes:2010/08/23(月) 01:08:53
>>290
[State 3000 , face]
type=Explod
trigger1=time = 0
anim=4000
pos=100, 100
postype=back
sprpriority=-1
supermove=1
bindtime=10
vel=3,0
removetime=80
に所々に全角の空白があるので、それを取り除いてください。
各行の最後の文字の先にあります。

293fool:2010/08/23(月) 10:45:25
>>292
細かいアドバイスありがとうございます。出来ました。製作頑張ります。

294ケットシー:2010/08/26(木) 13:39:29
質問二つよろしいでしょうか?
 一つは技毎にコンボ補正率を設定したいのですが、作り方がよくわかりません。(技毎に補正率のあるキャラのCNSを開いたら変数まみれで自力で試行錯誤してたら半月は確実に飛びそう・・・・)
 もう一つは突進技に壁バウンド機能を持たせたいのですがこちらも作り方がさっぱりです・・・・。

295blank:2010/08/26(木) 16:10:19
>>294
壁バウンドならkfmに記述が有るんだぜ。って言ったら何のアドバイスにもなってませんね。
簡単に言うと、ヒット後に相手を自分のステートに引き込む必要が有ります。
HitDef のオプション設定で引き込むもいいし、 TargetState で引き込んでもいいです。
HitDef で引き込むなら P2State = ?? を付ければOKです
また、相手を引き込んだとき用にステートを新しく作る必要があるよ。
そのステートの流れ的には(kfm参考)
「ヒットポーズ→空中へ放り出される(吹っ飛び中)→壁に当たる→→壁に当たったあとに空中に放り出される」
だったはずです。
ヒットポーズの所では PosFreez 、吹っ飛び中は HitVelSet 、壁に当たった後は VelSet を使ってたはずです。
壁に当たる時に何してたかはわすれました、ごめんなさい。
他の人のアドバイスを見るか、cns見た方が速かったかもしれませんねー

技ごとの補正ですが、自分は HitDef のダメージ設定に直接変数掛けてます。
damage = Ceil(60*fvar(0)), 0
見たいな感じです。後は、-2や-3で変数に補正後の数値入れてます
[State -3, VarSet]
type = VarSet
trigger1 = MoveHit
trigger1 = StateNo = 200
vf = 0
value = fvar(0)*0.95

AttackMulSet とかでも出来ると思いますが、根性値と併用が出来るかなと思い、いつもこの方法です
コンボ補正については、自分も興味が有るので皆さんの方法が知りたいです

296Azuma:2010/08/26(木) 22:53:33
>攻撃力補正
自分はAttackMulSet形式ですね…根性値併用キャラですけどw
常時監視に条件式を複数組むのと、個々の技のステートで乗算式の補正を与える形式にしています。

細かい部分&逆根性値とカウンター判断については省きますけど、こんな感じっす。



;------------------------------------[個々の技ステコンに入れてるやつ↓]
[State 1000, VarSet_Correction Value]
type = VarSet
trigger1= MoveHit
fvar(0) = fVar(0)*0.7;←現在のコンボによる攻撃力補正が100%なら70%に、50%なら35%になるわけ
persistent = 0
ignorehitpause = 1

;----------------------------------------[常時監視のやつ↓]
[State -2, AttackMulSet_Correction Value]
type = AttackMulSet
trigger1= 1
value = 1*fvar(0)*fvar(1)*(1+0.25*var(22))
ignorehitpause = 1


fvar(0)がコンボや何やらの補正用
fvar(1)が逆根性値設定用
var(22)が「カウンターヒット時攻撃力1.25倍」用の設定

297ケットシー:2010/08/27(金) 00:29:14
>blankさん
 補正導入に成功・・・・・あれ?
なんか一部のエリアルパーツでコンボカウント続いてるのにそれ以上補正が入らなくなる?
JC→JD→JC→JDやJDJDJDでそれ以上補正が入らない?それまでの補正分は威力減ってるのになんで?
JDと同じhitdefの6Dを使うエリアルだと普通に補正入るのに?攻撃の入る間隔が開くとコンボカウントが続いても補正が入らなくなったりするのでしょうか?

298blank:2010/08/27(金) 04:26:45
お世話になっております。 宜しければご助力をいただけますでしょうか。

ただいまキャラクターに連続でヒットする技を搭載しています。
攻撃中のアニメは62枚の合計129フレームある為、以下のトリガーでHitDefを繰り返しています。
[State 3000, 6]
type = HitDef
trigger1 = time%8 = 0

しかしながら最後の一撃のみ、異なるHitDefにしたく思います。
この場合どのようなトリガーを記入すれば良いのでしょうか。
※62枚目のヒットが最後の一撃となります

299Azuma:2010/08/27(金) 08:27:13
最後の一撃が発生するアニメの枚数を参照するトリガーを追加すれば良いハズ
具体的には[AnimElemTime(62)<0]とか…んで、最後の一撃は普通にトリガーを設定する

またはステート内でのヒット数を参照するトリガーがあった気がするので、それ加えるとか

300blank:2010/08/27(金) 12:20:43
>Azuma様
返信ありがとうございます。
しかしAnimElemTime(62)<0の場合ですとアニメ毎にHitDefが入ってしまいまして
time%8のように少し感覚をあけつつ…の形が理想なんです
アドバイスくださいましたのに申し訳ない




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