したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

製作お助け掲示板2

1blank:2012/09/12(水) 22:10:24
>>前スレ999
Var(58)の初期化忘れはこっちのミスだね
10000のHelperとNullの間にVarSetのTrigger1=1のvar(58)=0を追加で。

>>前スレ997で「PlayerIDに使ってるのは8までって」ことなら
VarRangeSetはFirst=8-Var(59)とLast=8になるハズだけど…

本体のVerはそんなに影響してこないと思う。
「:=」を使った代入も使ってるステコンも昔からの共通仕様の範囲内だし。

73戦車:2013/12/11(水) 18:39:00
カンフーマンのスプライト改変を作ってるんですが
カンフーニーの追加攻撃について質問です
Airに記述はあるしmugenでもコマンド入力すると動作するんですがcmdにそれらしい記述が見当たりません
入力受付時間について知りたいので参照する記述を教えていただけたら幸いです

74blank:2013/12/11(水) 21:19:21
カンフーニーのstatedefそのものや
cmdファイル(-1)でない-2などに追加コマンドを受け付けるトリガーがあるのではないでしょうか?

75blank:2013/12/12(木) 08:24:50
どうやら、ステ番1051(強カンフーニーなら1061)にそんな記述があるみたいですよ。
受付条件は上昇中なら、いつでもいいらしい

76戦車:2013/12/12(木) 19:48:53
>>74
>>75
回答&解答ありがとうございます!
cnsもコマンドに関係するんですね
無知で申し訳ありません;
一応確認ですが
trigger1 = Vel y < -1
の記述が「高さの速度が-1を下回ったとき下の記述に移行する」であってますか?

77blank:2013/12/13(金) 21:56:37
Yes、あってます

78戦車:2013/12/14(土) 16:05:41
>>76を書いた後に高さの速度が-1って下降中じゃね?あれ?
とか思いましたが調べてみたら負の数が上昇値だったでござる
つまり上昇中にコマンド入力すれば技が出るということですな
以上独り相撲でした
アドバイスありがとうございました!

79blank:2013/12/14(土) 16:38:41
失礼、補足です。
上昇中は「 Vel Y < 0 」ですので、厳密には上昇中なら 何時でもいいわけではない です
速度 1 程度なら気にしなくてもいいぐらいですが一応。

80戦車:2013/12/14(土) 18:27:49
ああ成程
「Vel y < -1」だと小数点以下の速度では反応しないですね
重ね重ねありがとうございます!

81Jaki:2013/12/14(土) 23:37:27
type = Helperで設定したpausemovetimeをそのヘルパーを消さずに変更することは可能でしょうか?
地獄兄弟のクロックアップ(時間停止的な技)を試作しているのですが、
弟も止めずに動かそうとするとpausemovetimeをあらかじめ高くする必要があり、
結果として弟が相手の停止技でも止まらず平然としてるという状態になってしまう…

82blank:2013/12/15(日) 01:40:58
直接いじるのは無理なのでは?
少なくとも、対応するステコンはないように思えます。

以下、試していないので不確定ですが、思いついたものを。

1.弟のpausemovetimeを小さく設定した上で、
クロックアップと同時にmovetimeを設定したpausetimeを“兄弟二人(本体とヘルパー)に”実行させる。
→「CNS WIKI」のpausetime(ttp://www49.atwiki.jp/mugencns/pages/248.html)の補足を見る限りはこれで大丈夫そう

2.弟のpausemovetimeを小さく設定した上で、
クロックアップと同時に“pausemovetimeを動かしたい分だけ設定した弟”を出しなおす。
→弟が攻撃し続けたままクロックアップに入れるなら使えませんが

83blank:2013/12/15(日) 01:41:11
無理だからPauseMoveTimeは高いままにして
RootのTimeが進んでるかどうかを見ながらステコンで処理しなきゃいけない
VelやPosやAnimを止めなきゃいけないしTimeを迂闊に参照できなくなるからめんどいよ

84blank:2013/12/15(日) 01:47:44
ああ、Pauseが実行されるタイミングが分かるのであれば
同一フレームでヘルパーにもPause実行させれば済む話だな確かに

85Jaki:2013/12/15(日) 23:26:00
>>82
1の方法で無事違和感なく動かせました。
5Fごとに時間停止かけてスローモーションかけるみたいなのが出来ないのが難点ですが…
2の方法は私も考えたのですが、クロックアップ終了後の移行をどうするかやヘルパー作る手間を考え最後の策にしてました
>>83
弟の全モーションにその記述入れるとなると死んでしまいます…

ご意見ありがとうございました。pauseを二人同時に行うようにする方法を取りたいと思います
元々スローモーションのつもりでしたが、完全停止の方が管理の問題もなさそうですね

86ケットシー:2014/01/24(金) 01:39:49
 うん?もしかしてヘルパーにステート奪わせてる最中に他のヘルパーで攻撃あてるとステート帰らなくなったりします?

87blank:2014/01/25(土) 11:47:25
別にそんなことはないけど
Ctrl+Dで相手が黄文字のままだったらステート返せてないから
もしそうなら何かしらの問題があるね

88ケットシー:2014/01/25(土) 22:00:41
 ええさきほど再度試したら普通にステート返せてました。寝ぼけてボタン間違えてたかな?

8980%:2014/06/28(土) 21:48:55
自作キャラをmugenに登録して、mugenを起動したんですが、こんなエラーが出ました。
defの記述は和訳kfmや既存の東方キャラを参考にしました。
エラーの内容です。(↓)
)Error message:
Error loading chars/yuyu/yuyu.def
Error while precaching
Error loading chars/yuyu/yuyu.def
Error while precaching
Error loading chars/yuyu/yuyu.def
Error loading p1

どのファイルの記述に原因があるのかお願いします。

90blank:2014/06/29(日) 00:07:19
defファイル読み込みエラー 大方参照ファイルが無い辺り

9180%:2014/06/29(日) 01:33:19
うーん、参照ファイルってどのファイルのことを言っているんだろう・・・・?
このエラーが出ない方法、どなたかわかりますか?

92blank:2014/06/29(日) 03:28:40
わからないです。 おわり

93blank:2014/06/29(日) 05:53:59
>>89,91
ファイル一覧とdefの記述の詳細が無いと他人には特定できない、と前置きして。

まずエラーメッセージには何かしらの事情があるんだから、
出なければOKなんて考え方は誤り。そんでエラーメッセージの意味を理解すること
Error while precaching.は事前読み込みの失敗を表す。その対象として上がってるのがyuyu.def
つまりyuyu.defにまつわる何かに問題があり、正常に読み込めない。
あとはdefファイルに必要なものを確認して、それがちゃんと存在して、ルールを守って記述されてるか確認すること。

例示1:cmdが未設定の場合のエラー
ttp://gyazo.com/c2a42daa38ba9da2457b3503ec6bb55f
例示2:指定したファイルが存在しない場合のエラー
ttp://gyazo.com/1d3cd24497ecc6619c7e5491f7aa8894

94blank:2014/06/29(日) 05:58:37
締めが抜けたし
>>93の続き
>>89の場合、エラーメッセージ自体は>>93の例示1と同じもの
とりあえずこのへんの必須使用ファイルの指定が足りていないのではないか、というのが>>90の示すところ。
どのファイルのことかは自分のファイルと必要ファイルを見比べて。
他にdefでprecachengエラーが出る例を知らないからあとはぼくには判断つかないわ

95戦車:2014/07/15(火) 14:42:30
ここでいいかわかりませんがちょっと質問です
和訳KFMのAIRファイル見てたら「立ちガード硬直」とか「上段食らいから体勢を立て直す」の最後の方のフレーム数が-1のやつがあったんですよ
説明では「アニメーションが止まり常にその画像が表示し続ける」とあるんですがmugen上ではそんなことないですよね?
つまるところこの「-1」って何?という質問でした

96島村鰐:2014/07/15(火) 18:25:54
そんなことありますよー。

Airのフレーム数指定で-1は「そのコマに入ったらchangeanimなどが使われない限りその絵を表示し続ける」指示ですので
アニメがそのコマに入ったところで動きが止まって硬直します。

何でこんなことになってるかというと
ガードや食らい動作の立ち直りの部分は攻撃側の当てた攻撃によってガード(食らい)硬直時間を変化させなければならないため
ガード硬直の長い攻撃を食らってもアニメが先に終わってしまって困ったことにならないように
アニメ完了までの時間を無限大に取ってあるわけです。
ガード(食らい)動作の終了自体はアニメの終了とは関係なく、CNS記述の方で攻撃側が指定した硬直時間が過ぎたところで
行われる(ニュートラルのステートに戻る)ようにできているので問題ないのです。

97戦車:2014/07/15(火) 22:27:49
なるほど、攻撃側の記述に左右されるんですね
動gifを作るときにAIRのフレーム数を参考にしていたので気になっていた次第です
回答ありがとうございました!

98livend:2014/12/10(水) 01:39:46
少し質問させて頂きますー
ヘルパーを出現させてストライカーを表示させたのですが、一緒にプレイヤーまでストライカーと同じスプライトに切り替わってしまうんですー
ちゅるやさんのところのストライカーの作り方を参考にしながらやってたんですが、どうも上手くいかなくってー
[Statedef 1201]
type = S
movetype= A
physics = S
juggle = 3
poweradd= 0
velset = 0,0
anim = 1200
ctrl = 0
sprpriority = 2

[State 1201, ヘルパーの呼び出し]
type = Helper
trigger1 = time = 30
stateno = 1205;出現するヘルパーのステートです。
ID = 1205;ヘルパーのIDです
postype = p1;ヘルパーが出現する座標軸です
pos = 27,0;ヘルパーが出現する座標です。
helpertype = normal;ヘルパーの種類を設定します。
name = "taniguchi";出現させるヘルパーの名前です。
keyctrl = 1;キーの制御を受け付けるかどうかです。
ownpal = 1;パレットが本体と同期するかどうかです。

[State 1201, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;ストライカーが出現するステート
[Statedef 1205]
type = A ;
movetype= A ;
;physics = S ;
velset = 0,0
anim = 1205 ;
sprpriority = 2



[State 1205, ヒット定義]
type = HitDef
trigger1 = time = 0
attr = S, SA
damage = 40, 0
animtype = Light
guardflag = MA
hitflag = MAF
priority = 3, Hit
pausetime = 8, 8
sparkno = -1
sparkxy = -10, -46
hitsound = 5, 2
guardsound = 6, 0
ground.type = High
ground.slidetime = 5
ground.hittime = 10
ground.velocity = -1
airguard.velocity = -1,-1
air.type = High
air.velocity = -1,-1
air.hittime = 8
fall=1

[State 1205,攻撃を受けたときの処理]
type = HitOverride
trigger1 = Time = 0
attr = SCA, NT, ST, HT, NA, SA, HA,NP,SP,HP
stateno = 1206
time = -1

[State 1205, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
trigger2 = Movecontact
value = 1206
こんな感じなのですが、どうか解決策を教えていただけると有難いです〜

99blank:2014/12/11(木) 15:42:33
プレイヤーまで〜はよく分かりませんが、
とりあえず keyctrl=1 でhelerよんだときは、
呼び出し先の statedef に ctrl=0 を入れるのを忘れずに。

100blank:2014/12/11(木) 17:07:54
見た感じ記述に問題はなさそうですが、どのタイミングで同じアニメに変わりますか?

101livend:2014/12/11(木) 19:34:35
>>99
ご忠告有難う御座います〜
忘れないよう肝に銘じておきますー

>>100
コマンドをcで設定しているのですが、cを押したらストライカーが出るのと同時に切り替わってしまうんですよー
statedef1201がヘルパーとプレイヤーで混同しちゃってるのかなぁとか思いましたけど、ちょっと仕様変更しようと思ったのでなんとなくこの問題は解決しました〜
helpertypeをプレイヤーにして、間桐桜の巨人のようにHPがあって、ヴァンガードプリンセスのサポートみたいにずっと出てるやつを作ろうと思いますー
また躓いたら質問させて頂きますね〜
お二方様、ご相談に乗って頂き有難う御座いました〜

102livend:2014/12/13(土) 05:45:21
連投気味ですがちょっと失礼しますー
ヘルパーちゃんが攻撃されるとプレイヤーキャラになってしまうんですが、HitOverrideを使えばなんとかなるみたいなんですがー
色々試してみてもだめだったのでお知恵をお借りしたいですー
どうすればHitOverrideでヘルパーちゃんのやられ画像に画像を切り替えられますかねー?
常時HitOverrideにできればー、と思うのですがー
どうか教えて下さいませー

103blank:2014/12/14(日) 00:29:41
>>102
常時出ているヘルパーということはヘルパー用のステートが複数あるんでしょうか?
でしたらヘルパー用のステート全て、もしくは-2ステートにHitOverRideの記述を置いていますか?
(もし-2ステートに置く場合はtrigger1=IsHelperを忘れずに)

あと、ヘルパーが0番ステートに来てしまった場合の保険として、0番ステートにDestroySelfかChangeStateを置くことをオススメします
(こちらもtrigger1=IsHelperを忘れずに)

それとこれは本題とは関係ないですが、文中に「ー」や「〜」を多用するのは控えた方が良いように思います
少なくとも、質問する側の文体として適切とは感じられないかと

104livend:2014/12/14(日) 19:55:57
>>103
ご忠告有難う御座います
伸ばし棒を入れた方が文体が柔らかくなるかなぁ、といった軽い考えでしたので
そこまで考えが思い至りませんでした
誠に申し訳御座いません
全てにHitOverRideを入れるのですか?
てっきり一つでよいものかと思っていました
ヘルパーが0番ステートに来た場合は考えてませんでした
ご忠告感謝致します
すぐさまChangeStateを置かせて頂きます
それと、ヘルパーちゃんにLifeの概念を作りたいのですが
どうすれば良いでしょうか?

105blank:2014/12/15(月) 01:59:18
>>104
例えばヘルパー用のステートがAとBの2つあり、AにだけHitOverRideがありBにはないとします
その場合、Bのステートにいると当然HitOverRideが実行されることはないですよね?
なので全てのステートか-2ステート(常時監視ステート)にHitOverRideを置いておく必要があります
(※-2ステートを読み込むヘルパーはHeleprType=Playerのみ)

また、ヘルパーは本体と同じLifeを最初から持っていて0になれば死亡します

106livend:2014/12/15(月) 21:38:36
そうなんですか、知りませんでした
無知を恥じます
とてもわかりやすい解説をどうも有難う御座います
初心者にも理解できる内容でとても嬉しいです
またわからなくなったら質問させて頂きます
有難う御座いました

107blank:2014/12/22(月) 00:49:21
ヒット数をトリガーに指定したいんですが、どういった記述を使えばいいですか?

108blank:2014/12/22(月) 06:43:48
こういう所はどうかな?ttp://homotaro.s44.xrea.com/triggerref.htm がんばって

109blank:2014/12/22(月) 08:15:21
ヒット数はHitcountではなく変数を使って管理した方が確実ですね
「mugen コンボ補正」で検索すれば記述が書かれたページがいくつかヒットするので、
適当な物を拝借し必要に応じて修正するのがベターだと思います

110blank:2015/03/10(火) 17:16:35
://gyazo.com/879d0a55f53bf22bfefe404c571de9bd


突然、上のレイヤーだけ表示されて、
下のレイヤーが表示されなくなったのですが、
(上のレイヤー表示を消せば、下のレイヤーが映る。)

どのコマンドを実行してしまったのでしょうか?
edgeです。

111blank:2015/03/11(水) 00:00:38
とりあえず、変化が起きていない別edgファイルに全てレイヤーをコピペして誤魔化しました。

112blank:2015/03/15(日) 00:17:44
guard.velocityをhitdefに入れてもノックバックしないんですが、
これ以外に必要な記述があるんですか?

113blank:2015/03/15(日) 11:49:46
>>110
レイヤのプロパティにある透過色の設定が変わっているかもしれません

>>112
guard.velocityということは相手がガードした時にノックバックしない、ということですよね?
であれば値はマイナスになっているでしょうか?

114blank:2015/03/15(日) 20:46:43
>>113
マイナスの値を入れていますがノックバックしませんね…
ground.velocityのみにしてもガード時に下がらないようです。

115blank:2015/03/15(日) 22:15:35
>>114
それではguard.hittimeかguard.slidetimeが0になっていないでしょうか?

116ソルト:2015/04/10(金) 23:11:14
(こちらでは)初めまして、ソルトといいます。
多分こちらで多々使うと思いますので、すみません。
それで質問なのですが、下記の記述(カンフーマンの超必殺技をちょっといじりました)を、ディズィーの「インペリアルレイ」のような感じにしたいのですが、
うまくいかないのです。(画面端で発動したら、上手く進まなくて、敵が軽くはまってしまう等)
自分はまだ、CNSにはよくわからないので、何かアドバイスがありましたらスミマセンがお願いします。

以下記述
;ホーリー・ペネトレイト
[Statedef 3000]
type = S
movetype= A
physics = S
juggle = 4
velset = 0,0
anim = 3000
ctrl = 0
sprpriority = 2

[State 3000, 物理的なキャラの幅]
type = Width
trigger1 = AnimElem = 2, >= 0
value = 15,0

[State 3000, 超必殺技暗転時間停止]
type = SuperPause
trigger1 = AnimElem = 1
anim = 100

pos = 25, -57
sound = 20, 0

poweradd = -1000
time = 45
;movetime = 0
;darken = 1

;p2defmul = 1.0




;unhittable = 1


[State 3000, 相手の特定の攻撃属性無効]
type = NotHitBy
trigger1 = AnimElem = 2
value = , NA, SA, AT
time = 11

[State 3000, 相手の特定の攻撃属性無効]
type = NotHitBy
trigger1 = AnimElemTime(2) >= 0 && AnimElemTime(14) < 0
value2 = C, NA
time = 1

[State 3000, 音を鳴らす]
type = PlaySnd
trigger1 = AnimElem = 4
trigger2 = AnimElem = 12
trigger3 = AnimElem = 20
value = 0, 3

[State 3000, 槍]
type = Helper
trigger1 = AnimElem = 9
helpertype = normal
name = "Holly_yari"
ID = 3001
pos = 20, 0
postype = p1
facing = 1
stateno = 3001
keyctrl = 0
ownpal = 1
supermovetime = 0
pausemovetime = 0
size.xscale = 0.5
size.yscale = 0.5
size.ground.back = 0
size.ground.front = 0
size.air.back = 0
size.air.front = 0
size.height = 0
size.proj.doscale = 0
size.head.pos = 0, 0
size.mid.pos = 0, 0
size.shadowoffset = 0

[State 3000, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

117ソルト:2015/04/10(金) 23:12:27
続き
[Statedef 3001, 槍]
type = A
movetype= A
physics = N
anim = 3001
velset = 0,0
sprpriority = 3
movehitpersist = 1


[State 3001, 移動]
type = PosAdd
trigger1 = AnimElem = 2
x = 50
y = 0

[State 3001, 1撃目ヒット定義]
type = HitDef
trigger1 = AnimElem = 9
trigger2 = AnimElem = 10
trigger3 = AnimElem = 11
attr = S, HA
animtype = hard
damage = 90, 4
priority = 5
guardflag = HA
pausetime = 4,7
sparkxy = -10,-60
hitsound = 5,4
guardsound = 6,0
ground.type = high
ground.slidetime = 12
ground.hittime = 15
ground.velocity = -4,-3.5


[State 3001]
type = changeanim
trigger1 = anim = 9999
trigger1 = animtime = 0
value = 9999



[State 3001, 1]
type = TargetState
trigger1 = movehit
trigger1 = numtarget(3001)
trigger1 = p2statetype=S||p2statetype=C
value = 15020
id = 3001
persistent = 0
ignorehitpause = 1


[State 3001, 終了]
type = destroyself
trigger1 = anim != 9999
trigger1 = frontEdgeBodyDist < 30
trigger1 = animtime = 14

です。

118blank:2015/04/11(土) 03:17:53
>>116
記述を実際にMUGEN上で確認してみましたが、
「相手が画面端を背にしている状態でヒットすると上手く前進せず複数回ヒットする」
ということで間違いないでしょうか?
もしそうであれば、HitDefの「Ground.CornerPush.Veloff」を省略しているのが原因です。
これを0に設定すれば画面端でノックバックすることがなくなり、前進するかと思います。

それと、このヘルパーが表示するアニメはループ(アニメの最後が-1ではない)と思うのですが、
[State 3001, 終了]の「trigger1 = animtime = 14」という記述はループするアニメでは機能しません。
仮にアニメの表示フレームの合計が14である場合、-13以上0以下の数値を指定するかこのトリガーを削除しなければ、
このヘルパーは画面外に存在し続けることになります。

各項目の詳細は書くと長くなるので、「MUGEN CNS WIKI CHAOS」などを参考にしてください。

119ソルト:2015/04/19(日) 00:40:07
早速ここの住人になりそうな者です。
この前のアドバイスをありがとうございます。おかげでなんとかなりそうです。
ただ次の超必殺技の記述をやろうとして、詰まっちゃったので質問をしに参りました。
下記なのですが、これをヴェノムの「ダークエンジェル」のようなものにしたいのですが
必要以上にヒットが出ちゃうんです。ググってもMUGEN CNS WIKI CHAOSを見てもわからなかったので、
スミマセンが何かアドバイス等がありましたら、お願いします。

以下記述↓
;ホーリー・エンジェラー
[Statedef 3020]
type = S
movetype= A
physics = S
juggle = 4
velset = 0,0
anim = 3020
ctrl = 0
sprpriority = 2

[State 3020, 物理的なキャラの幅]
type = Width
trigger1 = AnimElemTime(4) >= 0 && AnimElemTime(16) < 0
value = 5,0

[State 3020, 超必殺技暗転時間停止]
type = SuperPause
trigger1 = AnimElem = 3
pos = -5, -55
anim = 100
time = 45
sound = 20, 0
poweradd = -2000


[State 3020, 相手の特定の攻撃属性無効]
type = NotHitBy
trigger1 = AnimElem = 2
value = , NA, SA, AT
time = 6

[State 3020, 音を鳴らす]
type = PlaySnd
trigger1 = AnimElem = 4
value = 0, 2




[State 3020, 弾]
type = Helper
trigger1 = AnimElem = 9
helpertype = normal
name = "Holly_ANGEL_tama"
ID = 3021
pos = 63, -50
postype = p1
facing = 1
stateno = 3021
keyctrl = 0
ownpal = 1
supermovetime = 0
pausemovetime = 0
size.xscale = 0.5
size.yscale = 0.5
size.ground.back = 0
size.ground.front = 0
size.air.back = 0
size.air.front = 0
size.height = 0
size.proj.doscale = 0
size.head.pos = 0, 0
size.mid.pos = 0, 0
size.shadowoffset = 0
IgnoreHitPause = 1


[State 3020, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

続きます

120ソルト:2015/04/19(日) 00:42:51
[Statedef 3021, 弾]
type = A
movetype= A
physics = N
anim = 3021
velset = 0,0
sprpriority = 5
movehitpersist = 1


[State 3021, ADD移動]
type = veladd
trigger1 = Animelemtime(8) >= 0
trigger1 = ABS(vel x) <= 5
x = 0.1

[State 3021, SET移動]
type = velset
trigger1 = Animelemtime(8) >= 0
trigger1 = ABS(vel x) > 5
x = 5


[State 3021, あ]
type = PlayerPush
trigger1 = 1
value = 0



[State 3021, 1撃目ヒット定義]
type = HitDef
trigger1 = AnimElemTime(10) >= 0
attr = A, HP
animtype = hard
damage = 90, 4
priority = 5
guardflag = HA
pausetime = 4,7
sparkxy = -10,-60
hitsound = 5,4
guardsound = 6,0
ground.type = high
ground.slidetime = 12
ground.hittime = 15
ground.velocity = -4
guard.velocity = -4
Ground.CornerPush.Veloff = 0
pausetime = 0,1
guard.slidetime = 18
guard.hittime = 17
airguard.velocity = -3.9,-2.8
air.fall = 1





[State 3021, 終了]
type = destroyself
trigger1 = frontedgebodydist <= -120
trigger2 = time = 300

コマンド(あとで調節する予定)
[State -1, ホーリー・エンジェラー];ゲージレベル2
type = ChangeState
value = 3020
triggerall = command = "Holly.E"
triggerall = power >= 2000
triggerall = statetype != A
trigger1 = ctrl
trigger2 = hitdefattr = SC, NA, SA, HA
trigger2 = stateno != [3010,3100)
trigger2 = movecontact
trigger3 = (StateNo = 1300) && (Time = [12,38])

以上です

121blank:2015/04/19(日) 02:30:32
はじめまして、質問です。
相手のステートを奪ってScreenBoundを実行しmovecamera = 1,0でx軸のみカメラを追うように
自分のステートでも同じようにScreenBoundを実行しmovecamera = 1,0でx軸のみカメラを追うように設定してるはずなんですが
横方向にカメラが動きません(縦にも動きません)。横だけにカメラを追わないのは何故なんでしょうか?
どなたか教えていただきたいです。よろしくお願いします。

122blank:2015/04/19(日) 11:09:37
>>119
HitDefの「trigger1 = AnimElemTime(10) >= 0」によって、
『アニメの10枚目を表示した瞬間からアニメ終了までの全フレーム』で攻撃判定が発生しているのが原因だと思います。
もし仮にアニメの10枚目から14枚目の間でのみ攻撃判定を発生させたいとして、
その場合は以下のように記述する必要があります。
trigger1 = AnimElemTime(10) >= 0
trigger1 = AnimElemTime(15) < 0

>>121
valueを省略していませんか?
もし省略しているなら1に設定してみてください。

123blank:2015/04/19(日) 22:01:16
>>122
value =1しにても変わりませんでした。
どうやらこれはmugenの仕様みたいです。ありがとうございました

124ソルト:2015/04/20(月) 00:00:32
>>122
ありがとうございます。ですが、その記述をすると、なぜか当たらなくなります(10枚目に「Loop」をつけているから?よくわからない(´・ω・`))
後、この前の、記述の質問ですが、追記として「ヴェノムのダークエンジェルのヒット数のように15〜20ヒットしたいのですが
なぜか40ヒット以上になる」です。
連投と、自分の言葉足らずのせいで、ご迷惑をおかけして申し訳ありませんでした。

125blank:2015/04/20(月) 03:44:23
>>124
ヒット数を調整したい場合は
trigger1 = AnimElemTime(10) >= 0
trigger1 = time%X = 0(ステートに入ってからの経過時間をXで割った際の余りが0の場合 この場合はXフレーム毎)
でOKだと思います

あとAnimElemTime(15)〜はアニメの15枚目が存在しない場合には成立しないトリガーとなるので
そのせいでhitdefが機能しなくなったのでしょう

126blank:2015/04/26(日) 05:59:39
補足する必要はないかもしれませんが、初心者でtime%Xが何をしてるのか判らないという方をよく見かけるので少しだけ詳しく。
算術演算子%とは、 値a % 値b の形を取るもので、[*]や[/]、[+][-]と同様、計算するためのものであり
time% という固定されたナニカがあるわけではありません。割った余りをはじき出すための算術演算子です。

例示1
150 % 5 が返す値は0 (150は5の倍数であるため、余りが出ない)
130 % 3 が返す値は1 (130/3=43と余り1)

なぜこんなあまり見たことのないような[time%X=0]の値を使うよう指示されたかですが、
mugenは基本的に60fpsです。1f(フレーム)が1/60秒を表し、60フレームで1秒となります。
timeも同様に1/60秒を1としていますから、同じ大きさと考えて差し支えありません。1t=1fです。
そして60fpsとは、現在のステートの記述を「秒間に60回実行」しているということです。

例示2
trigger1 = alive
と記述すると、ステート実行中は1秒間に60回のペースで延々と繰り返します。(aliveは生死を表すトリガー)

>>122の記述
trigger1 = AnimElemTime(10) >= 0
trigger1 = AnimElemTime(15) < 0
を要約すると、アニメ番号[10枚目、表示時間0以上]、アニメ番号[15枚目、表示時間0未満]の時となります。
つまり、10枚目の0f目から11枚目,12枚目,13枚目、14枚目の最後のフレームまで全てにおいて「HitDefを上書き発生」させています。
Hitした次のフレームには再発生し、またHitする。それがHitした場合はまたさらに次のフレームには再発生する。
そんなようなことを秒間60回も繰り返すので、とびぬけたヒット数を計上してしまいます。
これについては>>122にも触れられていますね。

等間隔で複数ヒットさせたい、けどtime = 0 time = 10 time = 20とトリガーを大量に書くのは煩雑でよろしくない。
そんなときにTime%X=0が非常に強い味方になってくれます。

例示3
Time%10=0と記述した場合、この条件(Timeを10で割った余りが0)を満たすタイミングは
time=0、time=10、time=20、time=30、time=40、time=50、time=60、time=70・・・。
1桁目が0になった瞬間のフレームで余りが0となり、条件を満たします。1桁目1〜9では全て余りが0でなくなり、満たしません。
つまり、Time%10=0 をトリガーに指定すると、秒間に0,10,20,30,40,50の計6回Hitまで、先ほどまでの1/10しか当たらなくなります。

例示4
trigger1 = Time = 0
trigger2 = time = 10
trigger3 = time = 20
trigger4 = time = 30
trigger5 = time = 40
の2つを同時に満たすものをTime % X = 0に書き換えると、
trigger1 = Time >= 0、time <=40
trigger1 = Time % 10 = 0
の2行となります。すっきりしますね。Timeは原則0から始まるので、一行目はたんに[trigger1 = time<=40]だけでも同じ結果が出ます。

以上から、>>122の記述に戻り
trigger1 = AnimElemTime(10) >= 0
trigger1 = AnimElemTime(15) < 0

trigger1 = time % 12 = 0
等と追記すると、秒間に最大でも5Hitまでの制限が加わります(0f,12f,24f,36f,48f)。
ヒット数は60/Xの形で電卓をたたけば手元で簡単に計算できますので、
あとはアニメの表示時間、あたり判定の存在する時間などと見比べながらお好みの値を入力していきましょう。

127blank:2015/04/26(日) 06:09:31
例示4
trigger1 = Time = 0
trigger2 = time = 10
trigger3 = time = 20
trigger4 = time = 30
trigger5 = time = 40
の2つを同時に満たすものをTime % X = 0に書き換えると、 ←まちがい。正しくは「5つを同時に満たすもの」。
trigger1 = Time >= 0、time <=40 ←まちがい。エラーで落とされるのは確定的に明らか。
trigger1 = Time % 10 = 0
の2行となります。 ←まちがい。&& を使わない限り、time>=0を省略しなければ3行になる。


trigger1 = Time >=0
trigger1 = Time <= 40
trigger1 = Time % 10 = 0
もしくは
trigger1 = Time >=0 && Time <= 40
trigger1 = Time % 10 = 0

寝ぼけてんのに慣れないことするもんじゃないネ

128ソルト:2015/05/02(土) 01:16:33
う〜む、もうちょっと自重したほうがいいかももとこんなにコメントしているの自分だけかな?と思う者です。
ちょっとわからないのが二つあります。
一つは、以前書いた「ディズィーのインペリアルレイのような技」なんですが、
ディズィーは、技を発動して、火柱がババババッ(説明が下手ですみません)っと出るはずなのですが
自分が書いたものだと、一回出して、引っ込め、また出てというなんかさみしい感じになります。
どういう記述をすればディズィーの「インペリアルレイ」みたいな感じになりますか?

あと、もう一つはホーミングについてですが、このホーミングをシューティングみたいな自機狙いホーミング弾
にしたいのですが、調べてもさっぱりわからないのです。
一応、下記の記述で完全追尾ホーミング弾を作ろうと思ったのですが、今度はジャンプしたら、ホーミング弾が
空中に行ったまんま、降りてこないのです。
何かアドバイス等がありましたらお願いします
後、こんなに長ったらしく書いちゃってすみません。

129ソルト:2015/05/02(土) 01:21:39
;ホーリー・ペネトレイト「ディズィーのインペリアルレイのような技」
[Statedef 3000]
type = S
movetype= A
physics = S
juggle = 4
velset = 0,0
anim = 3000
ctrl = 0
sprpriority = 2

[State 3000, 物理的なキャラの幅]
type = Width
trigger1 = AnimElem = 2, >= 0
value = 15,0

[State 3000, 超必殺技暗転時間停止]
type = SuperPause
trigger1 = AnimElem = 1
anim = 100
pos = 25, -57
sound = 20, 0
poweradd = -1000
time = 45
;movetime = 0
;darken = 1
;p2defmul = 1.0
;unhittable = 1

[State 3000, 相手の特定の攻撃属性無効]
type = NotHitBy
trigger1 = AnimElem = 2
value = , NA, SA, AT
time = 11

[State 3000, 相手の特定の攻撃属性無効]
type = NotHitBy
trigger1 = AnimElemTime(2) >= 0 && AnimElemTime(14) < 0
value2 = C, NA
time = 1

[State 3000, 音を鳴らす]
type = PlaySnd
trigger1 = AnimElem = 4
trigger2 = AnimElem = 12
trigger3 = AnimElem = 20
value = 0, 3

[State 3000, 槍]
type = Helper
trigger1 = AnimElem = 9
helpertype = normal
name = "Holly_yari"
ID = 3001
pos = -15, 0
postype = p1
facing = 1
stateno = 3001
keyctrl = 0
ownpal = 1
supermovetime = 0
pausemovetime = 0
size.xscale = 0.5
size.yscale = 0.5
size.ground.back = 0
size.ground.front = 0
size.air.back = 0
size.air.front = 0
size.height = 0
size.proj.doscale = 0
size.head.pos = 0, 0
size.mid.pos = 0, 0
size.shadowoffset = 0

[State 3000, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

続く

130ソルト:2015/05/02(土) 01:25:57
[Statedef 3001, 槍] 続き
type = S
movetype= A
physics = S
anim = 3001
velset = 0,0
sprpriority = 3
movehitpersist = 1

[State 3001, 移動]
type = PosAdd
trigger1 = AnimElem = 2
x = 45
y = 0

[State 3001, 1撃目ヒット定義]
type = HitDef
trigger1 = AnimElem = 9
trigger2 = AnimElem = 10
trigger3 = AnimElem = 11
attr = S, HA
animtype = hard
damage = 90, 4
priority = 5
guardflag = HA
pausetime = 4,7
sparkxy = -10,-60
hitsound = 5,4
guardsound = 6,0
ground.type = high
ground.slidetime = 12
ground.hittime = 15
ground.velocity = -4,-3.5
Ground.CornerPush.Veloff = 0

[State 3001]
type = changeanim
trigger1 = anim = 9999
trigger1 = animtime = 0
value = 9999

[State 3001, 1]
type = TargetState
trigger1 = movehit
trigger1 = numtarget(3001)
trigger1 = p2statetype=S||p2statetype=C
value = 15020
id = 3001
persistent = 0
ignorehitpause = 1

[State 3001, 終了]
type = destroyself
trigger1 = anim != 9999
trigger1 = frontEdgeBodyDist < -50

131ソルト:2015/05/02(土) 01:26:47
;フォトンブレスク ホーミング弾
[Statedef 1060]
type = S
movetype= A
physics = S
juggle = 4
poweradd= 120
velset = 0,0
anim = 1060
ctrl = 0
sprpriority = 2

[State 1060, 音を鳴らす]
type = PlaySnd
trigger1 = AnimElem = 8
value = 30, 0


[State 1060, 弾放出]
type = Helper
trigger1 = AnimElem = 8
helpertype = normal
name = "Holly_tama"
ID = 1061
pos = -30, -60
postype = p1
facing = 1
stateno = 1061
keyctrl = 0
ownpal = 1
supermovetime = 0
pausemovetime = 0
size.xscale = 0.9
size.yscale = 0.9
size.ground.back = 0
size.ground.front = 0
size.air.back = 0
size.air.front = 0
size.height = 0
size.proj.doscale = 0
size.head.pos = 0, 0
size.mid.pos = 0, 0
size.shadowoffset = 0

[State 1060, 五芒星]
type = Explod
trigger1 = AnimElem = 1
anim = 1063
ID = 1063
pos = -30, -60
vel = 0, 0
scale = 0.3,0.3
postype = p1
sprpriority = -3
pausemovetime = 0
supermovetime = 0
facing = 1
bindtime = 90
vfacing = 1
ownpal = 1
removeongethit = 1

[State 1060, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1
続く

132ソルト:2015/05/02(土) 01:27:33
続き
[Statedef 1061, ホーミング弾]
type = A
movetype= A
physics = N
anim = 1061
velset = 0.5,0
sprpriority = -3
movehitpersist = 1


[State 1061]
type = Velset
trigger1 =P2BodyDist X > 0
x= 1

[State 1061]
type = Velset
trigger1 =P2BodyDist X < 0
x= 1

[State 1061]
type = Velset
trigger1 =P2BodyDist Y > 0
y= 1

[State 1061]
type = Velset
trigger1 =P2BodyDist Y< 0
y= -1

[State 1061]
type = posadd
trigger1 = P2BodyDist y > -1;←ここに飛び道具にこれ以上下がって欲しくない値をいれます。
y = -1

[State 1114,影消し]
Type = AssertSpecial
Trigger1 = 1
flag = noshadow

[State 1061, 1撃目ヒット定義]
type = HitDef
trigger1 = AnimElem = 4
trigger2 = AnimElem = 5
trigger3 = AnimElem = 6
trigger4 = AnimElem = 7
trigger5 = AnimElem = 8
attr = S, SA
animtype = hard
damage = 90, 4
priority = 5
guardflag = HA
pausetime = 4,7
sparkxy = -10,-60
hitsound = 5,4
guardsound = 6,0
ground.type = high
ground.slidetime = 12
ground.hittime = 15
ground.velocity = -4,-3.5


[State 10000, 無敵];殴られたり投げられたりしないように設定
type = NotHitBy
trigger1 = Time >= 0
value = , NA, SA, HA, NT, ST, HT


[State 1061,消滅条件1]
type = hitoverride
trigger1 = 1
attr = SCA,AA,AP,AT
stateno = 1062;消滅用のステートです
time = 1


[State 1061, 消滅条件2];相殺する場合、消滅ステートに移行
type = HitOverRide
trigger1 = 1
time = 1
attr = SCA, NP, SP, HP
slot = 0
stateno = 1062

[State 1061,消滅条件3]
type = changestate
trigger1 = MoveHit = 1
trigger2 = MoveGuarded = 1;飛び道具が相手に触れた時、というトリガーです
trigger3 = frontedgebodydist < -10;正面の画面端を10ドット通り過ぎた時、というトリガーです
value = 1062
続く

133ソルト:2015/05/02(土) 01:30:11
続き
[Statedef 1062,消滅]
type = A
movetype = I
velset = 0,0;止めます
physics = N
anim = 1062

[State 1114,影消し]
Type = AssertSpecial
Trigger1 = 1
flag = noshadow

[State 1062, 1撃目ヒット定義] これらのヒットデフは当たった時の衝撃波みたいなのです。
type = HitDef
trigger1 = AnimElem = 2
attr = S, SA
animtype = hard
damage = 90, 4
priority = 5
guardflag = HA
pausetime = 4,7
sparkxy = -10,-60
hitsound = 5,4
guardsound = 6,0
ground.type = high
ground.slidetime = 12
ground.hittime = 15
ground.velocity = -4,-3.5

[State 1062, 2撃目ヒット定義]
type = HitDef
trigger1 = AnimElem = 3
attr = S, SA
animtype = hard
damage = 90, 4
priority = 5
guardflag = HA
pausetime = 4,7
sparkxy = -10,-60
hitsound = 5,4
guardsound = 6,0
ground.type = high
ground.slidetime = 12
ground.hittime = 15
ground.velocity = -4,-3.5

[State 1062, 3撃目ヒット定義]
type = HitDef
trigger1 = AnimElem = 4
attr = S, SA
animtype = hard
damage = 90, 4
priority = 5
guardflag = HA
pausetime = 4,7
sparkxy = -10,-60
hitsound = 5,4
guardsound = 6,0
ground.type = high
ground.slidetime = 12
ground.hittime = 15
ground.velocity = -4,-3.5

[State 1062]
type = destroyself
trigger1 = animtime = 0
こんなにレスしてしまって申し訳ありません

134blank:2015/05/05(火) 17:38:59
火柱の攻撃判定が出てる絵までを飛び道具本体のアニメにして火柱が消える部分はexplodで代用表示させればいい

135blank:2015/05/05(火) 23:09:51
[State 1061]
type = posadd
trigger1 = P2BodyDist y > -1;←ここに飛び道具にこれ以上下がって欲しくない値をいれます。
y = -1
↑自分が相手より上にいる時1ドット上昇し続ける これのせい

相手の中心付近をサーチさせたいならP2BodyDist Y 不等号 enemynear,Const(size.mid.pos.y)←近くの敵の腰座標を基準とする
の方がいいんじゃないの

136blank:2015/05/09(土) 01:12:00
Projectileにヒット数での補正をかけることは可能ですか?

137blank:2015/05/09(土) 11:11:37
projのダメージにかける事は可能でもあり不可能でもある
というのもprojは出した瞬間から何かを変更することが出来ない不可侵の存在になってしまうので
射出された時点でのヒット数補正分はかけられるけど
射出した後projがヒットするまでに本体等が与えたヒット分を補正に加算する事は出来ないし、相手がやられから復帰してもprojのダメージにはヒット補正がかかったままになる
当然多段ヒットするprojも全段同じダメージにしかできない

138blank:2015/05/10(日) 11:02:55
なるほど…では、ヒットするまでのヒット数を加算するにはどういった記述をすれば…
varでヒット数管理とかですかね?

139blank:2015/05/10(日) 11:38:52
もしくはenemy,gethitvar(hitcount)←(相手が)受けたヒット数のトリガーですな
ただこれはタッグだと味方が攻撃しただけで加算されてしまうし
enemy,もenemynear,もめんどくさい事しないと死体にも反応してしまって
対象が死んでると全攻撃が無補正になってしまうという罠が有ります

140ケットシー:2015/05/16(土) 00:35:51
 歩きステート必殺技問わず少しでもx軸に動くとmakedustが発生するという謎症状が発生してしまいました。
makedustが原因かと思いCNSから全部消してみたのですが症状が消えません。

 どなたか原因がわかる方はおられますでしょうか。

141ケットシー:2015/05/16(土) 00:42:30
今日追加したアーマー用ヘルパーをnullしたところ症状が出なくなりましたが、makedustなんて全然ない・・・
[State -3, HA用ヘルパー管理] ; HAヘルパーを作成
type = Helper
trigger1 = NumHelper(8800) < 1
helpertype = normal
name = "HA Helper"
ID = 8800
pos = 0, 0
postype = p1
stateno = 8800
keyctrl = 0
ownpal = 1

142ケットシー:2015/05/16(土) 00:44:18
続きです
; HA用ヘルパー
;---------------------------------------------------------------------------
[Statedef 8800]; HA用ヘルパー
type = S
movetype = H
physics = N
velset = 0, 0

[State 8800, 本体がきたら場合立ちへ移行]
type = ChangeState
trigger1 = !IsHelper
value = 0
ignorehitpause = 1

[State 8800, 親の位置に固定]
type = BindToRoot
trigger1 = 1
time = 1
facing = 1
pos = 0, 0
ignorehitpause = 1

[State 8800, 透明化]; 透明化
type = AssertSpecial
trigger1 = 1
flag = invisible
flag2 = noshadow
ignorehitpause = 1

[State 8800, ブランクアニメ設定]; HA処理用ヘルパーは基本ブランクアニメ
type = ChangeAnim
trigger1 = 1
value = 20000
ignorehitpause = 1

[State 8800, アニメ変更]; HA処理用 食らい判定アニメ
type = ChangeAnim
;************************************************
; ※ 以下にHA処理を行いたいステートの条件を羅列する。
; ここの記述内容は -3ステートの「HAモーションに打撃無敵付加」の箇所で指定した条件と
; 同じ条件を羅列することになりますが、ヘルパーから本体への参照となる為
; Root, リダイレクトを追記する必要が有ります。
;************************************************
trigger1 = Root, StateNo = 1100 ; ステート1100をHA化
trigger1 = Root, AnimElemTime(7) <= 0 ; ステート1100の7マizenn をHA化
;************************************************
value = Root, Anim
Elem = Root, AnimElemNo(0)
ignorehitpause = 1

[State 8800, 被弾判定制御]; ブランクアニメ時は無敵状態
type = NotHitBy
trigger1 = Anim = 20000
value = SCA
ignorehitpause = 1

[State 8800, 被弾判定制御]; HA状態(Helperは打撃判定を担当する為、全ての投げを無効化)
type = NotHitBy
trigger1 = Anim != 20000
value = , AT
ignorehitpause = 1

[State 8800, HitPause時間初期化]
type = VarSet
trigger1 = Var(41) != 0
trigger1 = Anim = 20000
var(41) = 0
ignorehitpause = 1

143ケットシー:2015/05/16(土) 00:44:54
[State 8800, 前回分のRoot, AnimTime【Var(1)】の初期化]
type = Null
triggerall = Var(1) = 0 || Var(1) = -1
;************************************************
; ※ 以下にHA処理の終了フレームまでのAnimTime取得条件を羅列する。
; ここの記述内容は -3ステートの「HAモーション最終フレームから1F打撃無敵付加」の箇所で指定した条件と
; ほぼ同じ条件を羅列することになりますが、ヘルパーから本体への参照となる為
; Root, リダイレクトを追記する必要が有ります。
; また、取得したAnimTimeをヘルパー変数のVar(1)へ代入する為に「 Var(1) := XXXX 」という記述を
; 行う必要が有ります。
;************************************************
trigger1 = Root, StateNo = 1100 ; ステート1100をHA化
trigger1 = Root, AnimElemTime(7) <= 0 ; ステート1100の7マ以前をHA化
;************************************************
ignorehitpause = 1

[State 8800, ダメージ処理]
type = VarSet
trigger1 = 1
var(40) = GetHitVar(damage)
ignorehitpause = 1

; HA中に攻撃被弾時、もしもHitPauseがHAの残りモーションより長く続く場合
; HA終了直後にHitStop中の相手の攻撃を食らってしまう。
; (本体の変わりに打撃を食らうヘルパーが無敵状態になると共に本体の打撃無敵が解除されるため
; ヘルパー、本体の順にHAで耐えたはずの攻撃を2重に食らってしまう)
;
; その為、ヘルパーが受けた打撃のHitPause時間からHAの残り時間を引いた値が0以上の場合
; (HA終了後にも打撃のHitPauseが続く場合)
; HA終了後も継続するHitPauseの時間分、本体に打撃無敵を付ける。
; その為、ParentのVar(41)へHA終了後も継続するHitPauseの時間を代入する。
;(10フレーム多く打撃無敵を付加。飛び道具とか設置技のような持続が長い技を2重に食らうのは妥協します。)
; (普通の打撃であれば10F以上持続が有るような技は無いと思うので10Fに設定)
; (延長する無敵時間は各々好きなように調節してください)
[State 8800, HitPauseTime取得]
type = VarSet
trigger1 = GetHitVar(damage) != 0
trigger1 = GetHitVar(hitshaketime) + Var(1) > 0
var(41) = GetHitVar(hitshaketime) + Var(1) + 10
ignorehitpause = 1

[State 8800, 前回分のRoot, AnimTime【Var(1)】の取得]
type = Null
;************************************************
; ※ 以下にHA処理の終了フレームまでのAnimTime取得条件を羅列する。
; ここの記述内容は -3ステートの「HAモーション最終フレームから1F打撃無敵付加」の箇所で指定した条件と
; ほぼ同じ条件を羅列することになりますが、ヘルパーから本体への参照となる為
; Root, リダイレクトを追記する必要が有ります。
; また、取得したAnimTimeをヘルパー変数のVar(1)へ代入する為に「 Var(1) := XXXX 」という記述を
; 行う必要が有ります。
;
; ここの条件は、[State 8800, 前回分のRoot, AnimTime【Var(1)】の初期化]の変更部分をコピペすればおkです。
;
;************************************************
; 例1) ステート全体をHAにしたい場合
trigger1 = Root, StateNo = 1100 ; ステート1100をHA化
trigger1 = Root, AnimElemTime(7) <= 0 ; ステート1100の7マ以前をHA化
;************************************************
ignorehitpause = 1

[State 8800, デバッグ]
type = DisplayToClipboard
trigger1 = 1
text = "Var(40) = %d, Var(41) = %d, Var(1) = %d, Root, AnimTime = %d, AnimTime = %d"
params = Var(40), Var(41), Var(1), Root, AnimTime, AnimTime

[State 8800, 攻撃被弾上書き]
type = HitOverRide
trigger1 = 1
attr = SCA, AA, AT, AP
stateno = 8800
ignorehitpause = 1

144ケットシー:2015/05/16(土) 10:07:42
他のアーマー記述で試したところ同様の症状は出ず無事に機能しました。
もしかして
[Statedef 8800]; HA用ヘルパー
type = S←が原因だった?

145blank:2015/05/18(月) 11:59:29
type=SかCでmovetype=Hだと漏れなく塵が出る

146ケットシー:2015/05/20(水) 20:29:21
>type=SかCでmovetype=Hだと漏れなく塵が出る
 おおそうなんですか。しかしなんでこんな仕様に・・

147ソルト:2015/05/24(日) 08:31:56
連続攻撃で浮かせて、浮かせたあと落としたいのですが、いくらやってもわかりません。
(hitdefにそんな機能がない?)
それともステートを奪わなければいけないですかね?
すみませんが、これを分かる方がいましたらお願いします。

148blank:2015/05/24(日) 12:35:16
ヘルパー式飛び道具に補正をかけることってできますか?

149blank:2015/05/24(日) 13:18:36
>>147
言わんとしてることがよくわからない
どんな感じの挙動のこと?

>>148
出来ます
enemy,gethitar(hitcount)でもヒット数変数管理でも何でもOK

150ソルト:2015/05/24(日) 23:18:54
>>149
うーむ、朝書いたのと、国語力がない自分と合わさって、わけわからないこと書いていますね自分
やはり記述も一緒に投稿したほうがいいか…
あと、具体的には、その場で昇竜拳みたいなものをし、自分がある程度の高さまで行ったら、その場で回転
回転し終わったら、刀を降ったまんま降下して、着地する。その時の着地にも攻撃判定もある
その時に衝撃波も出て、それも攻撃判定がある
どんな挙動にしたいか、まず、昇竜拳のように相手を上に行かせたいのに、行かせてもらえない。
もしそれを行った場合、回転するとき、相手は空中に停止しながら喰らい、降下するときに相手も一緒に落とします
これが、自分が考えている挙動です。(あと長ったらしくてすみません)
次に記述です
;スカイクライム ジャンプ準備
[Statedef 1110]
type = S
movetype= A
physics = N
juggle = 0
velset = 0,0
anim = 1110
ctrl = 0
sprpriority = 2

[State 1110, 物理的なキャラの幅]
type = Width
trigger1 = AnimElemTime(1) >= 0 && AnimElemTime(4) < 0
value = 5,0




[State 1110, 音を鳴らす]
type = PlaySnd
trigger1 = AnimElem = 4
value = 0, 2

[State 1110, ヒット定義]
type = HitDef
trigger1 = AnimElem = 4
attr = S, SA
animtype = Med
damage = 57, 4
priority = 5
guardflag = MA
getpower = 30,5
givepower = 16,3
pausetime = 4,8
sparkxy = 0,-48
hitsound = 5,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 15
ground.hittime = 18
ground.velocity = -3
guard.velocity = -6
air.velocity = -2,-2
airguard.velocity = -4,-4.5
p2facing = 1
forcestand = 1


[State 1110, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 1111

151ソルト:2015/05/24(日) 23:21:05
;スカイクライム 上昇
[Statedef 1111]
type = A
movetype= A
physics = N
juggle = 0
velset = 0,-14
anim = 1111
ctrl = 0
sprpriority = 2


[State 1111, 一撃目ヒット定義]
type = HitDef
trigger1 = AnimElem = 1
attr = S, SA
animtype = B
damage = 57, 4
priority = 5
guardflag = MA
getpower = 30,5
givepower = 16,3
pausetime = 4,8
sparkxy = 0,-48
hitsound = 5,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 15
ground.hittime = 18
ground.velocity = 0
guard.velocity = -6
air.velocity = 0
airguard.velocity = -4,-4.5

[State 1111, 二撃目ヒット定義]
type = HitDef
trigger1 = AnimElem = 2
attr = S, SA
animtype = B
damage = 57, 4
priority = 5
guardflag = MA
getpower = 30,5
givepower = 16,3
pausetime = 4,8
sparkxy = 0,-48
hitsound = 5,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 15
ground.hittime = 18
ground.velocity = -0.1,-5
guard.velocity = -6
air.velocity = -0.1,-5
airguard.velocity = -4,-4.5
fall = 1




[State 1111, ステート変更]
type = ChangeState
trigger1 = Pos Y = -140
value = 1112

152ソルト:2015/05/24(日) 23:24:27
;スカイクライム 下降
[Statedef 1112]
type = A
movetype= A
physics = N
juggle = 2
velset = 0,0
anim = 1112
ctrl = 0
sprpriority = 2

[State 1112, 降下加速]
type = velset
trigger1 = AnimElem >= 4
x = 0
y = 14

[State 1112, 一撃目ヒット定義]
type = HitDef
trigger1 = AnimElem = 2
trigger2 = AnimElem = 3
trigger3 = AnimElem = 4
trigger4 = AnimElem = 5
attr = S, SA
animtype = Med
damage = 57, 4
priority = 5
guardflag = MA
getpower = 30,5
givepower = 16,3
pausetime = 4,8
sparkxy = 0,-48
hitsound = 5,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 15
ground.hittime = 18
ground.velocity = 0


[State 1112, 五撃目ヒット定義]
type = HitDef
trigger1 = AnimElem = 6
attr = S, SA
animtype = Med
damage = 57, 4
priority = 5
guardflag = MA
getpower = 26,4
givepower = 14,3
pausetime = 4,8
sparkxy = 0,-48
hitsound = 5,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 15
ground.hittime = 18
ground.velocity = -3
air.velocity = 0,4
airguard.velocity = -4,3

[State 1112, 六撃目ヒット定義]
type = HitDef
trigger1 = AnimElem = 7
attr = S, SA
animtype = Med
damage = 57, 4
priority = 5
guardflag = MA
getpower = 26,4
givepower = 14,3
pausetime = 4,8
sparkxy = 0,-48
hitsound = 5,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 15
ground.hittime = 18
ground.velocity = -3
air.velocity = -2,-2
airguard.velocity = -4,-4.5

153ソルト:2015/05/24(日) 23:26:24
続き
[State 1112, 七撃目ヒット定義]
type = HitDef
trigger1 = AnimElem = 8
attr = S, SA
animtype = Med
damage = 57, 4
priority = 5
guardflag = MA
getpower = 30,5
givepower = 16,3
pausetime = 4,8
sparkxy = 0,-48
hitsound = 5,2
guardsound = 6,0
ground.type = Low
ground.slidetime = 15
ground.hittime = 18
ground.velocity = -3
air.velocity = -2,-2
airguard.velocity = -4,-4.5


[State 1112, ステート変更]
type = ChangeState
trigger1 = Pos Y = 0 && Vel Y >= 0
value = 1113

;---------------------------------------------------------------------------------
;着地

[Statedef 1113]
type = S
movetype= A
physics = S
anim = 1113
sprpriority = 1
velset = 0,0 ;ここで速度をリセットしている


[State 1113, 音を鳴らす];着地音
type = PlaySnd
trigger1 = Time = 0
value = 40, 0

[State 1113, 衝撃波]
type = Helper
trigger1 = AnimElem = 1
helpertype = normal
name = "syougeki"
ID = 1114
pos = 30, 0
postype = p1
facing = 1
stateno = 1114
keyctrl = 0
ownpal = 1
SuperMoveTime = 999999999 ;★時間停止中も動かすか1
PauseMoveTime = 999999999 ;★時間停止中も動かすか2
size.xscale = 0.5
size.yscale = 0.5
size.ground.back = 0
size.ground.front = 0
size.air.back = 0
size.air.front = 0
size.height = 0
size.proj.doscale = 0
size.head.pos = 0, 0
size.mid.pos = 0, 0
size.shadowoffset = 0


[State 1113, 移動速度] ;Y方向の速度を0に
type = VelSet
trigger1 = time = 0
y = 0

[State 1113, 軸位置] ;地上に戻す
type = PosSet
trigger1 = time = 0
y = 0

[State 1113, 軸位置移動]
type = PosAdd
trigger1 = AnimElem = 4
x = 15

[State 1113, 軸位置移動]
type = PosAdd
trigger1 = AnimElem = 5
x = 10

[State 1113, 軸位置移動]
type = PosAdd
trigger1 = AnimElem = 6
x = 20

154ソルト:2015/05/24(日) 23:27:41
続き
[State 1113, 1撃目ヒット定義]
type = HitDef
trigger1 = AnimElem = 1
attr = S, SA
animtype = hard
damage = 90, 4
priority = 5
guardflag = HA
pausetime = 4,7
sparkxy = -10,-60
hitsound = 5,4
guardsound = 6,0
ground.type = high
ground.slidetime = 12
ground.hittime = 15
ground.velocity = -4,-3.5

[State 1113, ステート変更]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

[Statedef 1114];衝撃波
type = S
movetype= A
physics = N
anim = 1114
sprpriority = 1
velset = 5,0

[State 1114,影消し]
Type = AssertSpecial
Trigger1 = 1
flag = noshadow


[State 1114, 1撃目ヒット定義]
type = HitDef
trigger1 = AnimElem = 4
trigger2 = AnimElem = 5
attr = S, SA
animtype = hard
damage = 90, 4
priority = 5
guardflag = HA
pausetime = 4,7
sparkxy = -10,-60
hitsound = 5,4
guardsound = 6,0
ground.type = high
ground.slidetime = 12
ground.hittime = 15
ground.velocity = -4,-3.5


[State 1114,消滅条件]
type = destroyself
trigger1 = animtime = 0
終わり

155blank:2015/05/25(月) 00:41:49
一つ目のHitDefの
ground.velocity = -3 を
ground.velocity = -3,-XX XXは吹っ飛びの強さ
にすりゃ飛ぶんでないの。
あとはFall=1入れるなりで吹っ飛ばしたアニメにするとか

156blank:2015/05/25(月) 03:34:57
>>150
よく分からない内はHitDefの各オプションを省略しない方がいいと思う
仮に省略した場合に参照する数値で問題ない場合も、その数値を実際に入れておく
理由は色々あるけど大きいのは大体こんな感じ

・省略した時に、別のオプションの数値を参照する物、0になる物、1になる物、などが混在している
特に速度(〜Velocity、〜Veloff)や時間(〜Time)は省略時に参照する数値が数珠繋がりだったりするので、
予想外の挙動をした時にどこの数値が原因か分かりにくい
>>118で指摘されてるのもこれ

・GetPowerとGivePowerは省略すると相手に与えるダメージ量を基準に算出されるからバランスが極端になりがち
あとヘルパーのHitDefはGetPowerを0にしておかないと、特定の状況で相手側のゲージが増える可能性がある

それと、いくつものレスを使って記述を書かれても非常に見づらい
1つ2つのレスで収まらない場合はその記述だけを書いたテキストファイルをどこかのアップローダーにアップしてurlを貼ったりはできない?

157ソルト:2015/05/25(月) 15:31:37
>>156
確かに、オプションは設定したほうがいいみたいですね(よっぽどいらない限り)
後、そのおかげで、なんとか浮かすことができました。
ありがとうございます! 

>>非常に見ずらい記述
すみません、実は過去レスを見たらこのような形式ばっかりだったので
それにならって、真似してみたのです。
今後からアップローダーにテキストファイルをアップしてから投稿します。
ご迷惑かけてすみませんでした。

158blank:2015/05/25(月) 23:15:49
>>157
改めて見返すと投げやりな書き方になっててこちらも申し訳ない
あと、解決したのは>>155さんのおかげだと思う

159blank:2015/06/05(金) 00:31:48
以前こちらでヘルパーにも適応されるコンボ補正に関して質問したものですが、
まだ使えるレベルの記述が作成できません。どういった記述にすればいいか教えていただけませんか?

160ケットシー:2015/06/05(金) 23:43:09
>159
まず本体のコンボ補正が-2に

[State -2, damage_reset];攻撃が途切れたら値をリセット
type = VarSet
trigger1 = p2movetype!= H
fvar(0) = 1



[State -2, VarSet]
type = VarSet
trigger1 = stateno = 810
trigger1 = time = 1
fvar(0) = FVar(0) * 0.50
Persistent = 0

[State -2, VarSet];当たったら
type = VarSet
triggerall = MoveHit = 1
trigger1 = stateno = 1010
fvar(0) = FVar(0) * 0.60
Persistent = 0
 で本体の技のhitdefに
damage = Floor(72*fvar(0)), 0;たとえばstate1010の攻撃が当たるとダメージが72*0.6の小数点以下切捨てになる
helperのほうは
damage = Floor(20*root,fvar(0)), 3;「root,〜〜」で本体の〜〜を参照するようになる。この場合は本体のコンボ補正を参照する。

161blank:2015/06/19(金) 13:21:42
>>160
返信が遅れてしまい申し訳ありません。

ヘルパーが1ヒット目の場合補正が適用されないのですが、
適用される方法はありますでしょうか?

162blank:2015/06/22(月) 21:16:23
[helperの攻撃が当たったとき]にダメージの補正値が変わらないってことです?
もしそうなら
helper(123),movehit=1
が[id123のhelperの攻撃が当たったとき]っていう条件なので
補正値更新のステコンに入れるといいよ。
使う場合は事前にnumhelperで存在を調べないと
警告がすごい勢いで流れるので注意してください

163名無しさん:2015/08/08(土) 21:18:11
これがMUGEN関連ツールですが、使えそうですか?
■Fighter Factory 3
ttp://yurusanae.blog98.fc2.com/blog-category-38.html
■SffAirEditor
ttp://www.geocities.jp/sffeditor/

164豆大福:2015/10/13(火) 14:24:11
cnsについて困ったことがあるのでここで質問をさせていただきます。とま氏の魔理沙を
ベースに霊撃ゲージを搭載してみましたがどうやらゲージが床にあり、かつプレイヤーキャラ
の足と接触している状態になってしまっています。
おそらく、魔理沙の記述をコピペしたときのゲージの座標設置の記述が関係していると思うのですが・・・
どなたか知恵をお貸しいただけるとうれしいです。Axfcにアップしたんで、mugenで動作確認していただけたら、ゲージの位置が把握できると思います。

(DLPass = hijirinで,ファイルの番号は3548989番、ファイル名は3548989.zipです。
ファイルのサイズは2〜4MBです。行き方はAxfcのトップ→左メニューのファイル一覧→旧システム版一覧の「Helium」クリック→ファイルの一覧に私のアップしたファイルがあるので
3548989.zipをクリックすると、DL画面へいけます。)

165blank:2015/10/18(日) 17:18:36
一度写す前のとま氏のcnsを見直してみてはいかがでしょうか
そのまま写すと噛み合わないから一度分析したほうがいいです

だめなら総合チャットで相談するのも手かもしれません

166ソルト:2015/10/23(金) 23:53:47
お久しぶりです。
さっそく本題に入りますがscreenboundについてなのですが、画面を固定するために某ページ
にある、記述を使っているのですが、何故か機能しません。
(そのページはGoogleで「mugen screenbound ヘルパー」を検索して4番目のQ.ステージの端ってどう認識したら良いんだぜ?のところ)
あと、そのページの下あたりの
facing*(helper(30000+(facing=-1)*10),pos x-pos x);前方端
-facing*(helper(30000+(facing=1)*10),pos x-pos x);後方端
がよくわからないのですが、何処に入れたらいいのでしょうか?

167blank:2015/10/28(水) 08:00:19
距離検出のトリガーだし、BackEdgeDistみたいな感じで使えば良いんじゃない
trigger1 = 【前方端】 < 30;正面ステージ端までの距離が30未満のとき
みたいに。

168:2016/01/14(木) 16:55:25
gimp2で素材を作っているんですが、
背景色が滲んでいるせいか、
SFFファイルに登録するときに背景色に近い別の色が残ってしまうんですが、どうしたいいでしょうか?

169豆大福:2016/02/11(木) 07:39:33
EDGEを使っている方に質問です。
アニメーションフレームの設定から「毎回位置とサイズを指定」を選んで、編集範囲で設定したサイズと位置に合わせて選択すると
体の位置がところどころ違った位置にあってしまいます。

毎回、位置とサイズを手動で指定するとそのコマだけ、フレームの共通固定位置とは違った位置になり、右もしくは左、上もしくは下に行ったりします。
なので画像自体動かしてもまた違う位置に行ってしまい、時間がかかってしまうので非常に面倒です。
フレームの共通固定位置に合わせてもバラバラになってしまいます。どうすればいいですか?

170blank:2016/02/12(金) 12:59:52
>>169
「毎回〜」のやつで位置が変わるのは選択が若干ずれてるからでない?
「あらかじめ〜」でサイズ指定する方がいいよ。

171blank:2016/02/14(日) 18:34:55
>>169
いまいち、どういう状態になってて困ってるのか上手く読み取れてないのですが、
とりあえず、指定する範囲の大きさは統一したほうがいいです。
ひょっとして画像のサイズに合わせて取り込み範囲を指定しているのでは・・・?
取り込んだ範囲を左上に詰めて表示されるので、それではズレてしまいます。
「取り込み範囲を合わせる」のではなく、「決まった取り込み範囲にドットを合わせる」ほうが楽です。

オオバコさんのサイト→ ttp://www.geocities.jp/zassoh2/index.htm
その悩みを解決できるかどうかは置いといて、とりあえずEDGEを使っているならばこのサイトのアニメ作成講座は非常に参考になると思われます。
(オオバコさん勝手に乗っけてゴメンなさい)

あと、問題が解決した、しないに関わらず報告はしたほうがよいかと(前にも質問をしっぱなしな書き込みがあったので)
解決済みなのかまだ回答が必要なのか判断がつき辛いとレスもつきにくいでしょうし。前者ならよくても後者なら答えが得られませんからね。

172豆大福:2016/02/18(木) 16:55:06
>170さん,171さん
返信遅れてしまい、申し訳ないです。
画像のサイズに合わせて指定した後、プロパティで画像を移動させて調整したにしても中途半端な解決になってしまったなぁと思い、
報告しにくかったんですね。

とりあえずドットのサイズが大きいので、「決まった取り込み範囲にドットを合わせる」というのはありがたいですが
ドットのサイズに合わせて取り込み範囲を大きくしたいと思います。
オオバコさんのサイトはこれから難しいモーション作るときに参考になりそうなのでちょくちょく拝見させていただきます。

以前の質問しっぱなしな件に関しては、自分に至らなかった点があったので、以後気をつけようと思います。
アドバイスありがとうございました。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

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