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

製作お助け掲示板

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

2blank:2010/06/25(金) 08:11:21
cns記述の流れるような動きとかストライカーとか応用の段階でつまづく人は多いと思う

3Azuma:2010/06/25(金) 08:48:46
私もphysics=Nでのセルフ着地記述が未だにヘタです。
しかもVelの概念が「1FでXピクセル移動する」意味だと気付くまで半年かかったというw

4ふうりん:2010/06/25(金) 12:32:29
>Velの概念
そんなの全く知らないまま4キャラ(実質3キャラ)作っちゃってたぜおいィ?
偶にブログにCNS記述のことで検索かけてくる人が居て申し訳ない気分になるねー

5pain:2010/06/25(金) 13:33:25
雑談の方で質問させていただいていた削れないガードなんですけど
昔回復式で作ってて失敗したと思ってたものが実は機能していたことが判明しましたw
ただ、体力が0になった時強制的に喰らいステートに以降し、死亡判定を行う(?)仕様があるっぽくて
削り殺されないガードは出来るんですけど、ガードが崩されてしまうという…。
うーん、ちょっと承太郎で研究してみます。。。

6ケットシー:2010/06/25(金) 16:27:11
>しかもVelの概念が「1FでXピクセル移動する」意味だと気付くまで半年かかったというw
 CNSいじりはしめて半月立つ前に知れてよかった・・・

7愛茶:2010/06/25(金) 17:01:13
CNSは微妙臭いので教える側になるまでには大分時間がかかりそうですが・・・。

簡単な質問で申し訳ないのですが、和訳KFMをベースにとあるキャラを製作しているのですが、超必殺技等のヒットを多段攻撃に変えたいのですが、どこを弄ればよいのやら?
突進系の技ってどうやって作ってんだろうか?
あと、バルバトスやOG氏の雛子が使ってくる鋼体ってどうやったらできるのだろうか?
一気に質問して申し訳ないです;;;

8彰厳2号:2010/06/25(金) 17:15:44
>>7
突進と多段ヒット、
私もそれ気になりますっ!

9pain:2010/06/25(金) 18:03:14
>>7
一般的かどうかわかりませんが解る範囲で。
>多段攻撃
竜巻旋風脚みたいな技であればヒットするアニメ一枚一枚に対しhitdefを用意して
triggerにそれぞれのanimelemを入れればオッケーです。
なお、同じ絵で複数回当てる時はairファイルに当てる回数分同じ絵を入れておく必要があります。
ロックする乱舞系の技は作ったこと無いですが、hitdefにp2statenoを入れてstateを奪い、
技ごとの適切な位置で適切なポーズを取らせればオッケー。…だと思う。投げが作れれば作れると思います。

>突進系
これは簡単。突進したいフレームやアニメをtriggerにいれてvelsetもしくはveladdで速度を決めるだけです。
velsetの場合はもう一度velsetを使いとめたいタイミングで止めます。サイコクラッシャーとかは多分こっち。
veladdの場合は立ち状態だと摩擦で速度が減少していき勝手に止まります。ただtriggerにtime=0とか入れないと加速し続けます。
慣性を残しつつ別の技でキャンセルかけて移動必殺技とか出来るようにしたいならこっちが便利です。スライディングとかにも。
相手をすり抜けたいときはPlayerPushも使います。

>鋼体
アーマーと基本は同じはず。相手の攻撃を受けるたびに減少するvarを作っておき、var!=0をtriggerにアーマー状態を作ります。
var=0の時喰らい状態でなければvarset,20とすると鋼体20になるはず。
アーマーの作り方は怪しいので誰か他の方にお任せしますー。

10彰厳2号:2010/06/25(金) 18:49:26
>>9
丁寧にありがとうございますー

む・・・難しい(@@;)

11Azuma:2010/06/25(金) 19:04:41
よしきたまかせろアーマー処理なら多少わかるぜ!

これにはヘルパーアーマー方式とHitoveride方式の2種類があるんです。
処理が比較的簡単なのでヘルパーアーマー方式を軽く解説

端的にいえば
・本体を無敵にする
・ヘルパーを出し、本体にアニメと座標を追従させ、代わりに攻撃を受けさせる
この2つが軸です(続く)

12Yes:2010/06/25(金) 19:16:01
僕も別角度から大雑把に解説

>多段ヒット
hitdefをたくさん出現させてください。
具体的に言うと
triger = time >= 0
にしてください。
20F赤枠が出ていると20回ヒットします。

>突進
[Statedef 200]
type = S
movetype= A
physics = S
juggle = 0
ctrl = 0
anim = 200
これを
[Statedef 200]
type = S
movetype= A
physics = S
juggle = 0
anim = 200
ctrl = 0
vel = 20,0
こうしてください。

>鋼体
アーマーかなにかですよね。
changestate

trigger = movetyp = H

value = prevestateno
にして
statedef-1
に入れてください。

13Azuma:2010/06/25(金) 19:26:34
ヘルパー側はPlayerPushとNotHitbyを適用し、保険としてAssertSpecialで影ごと消す
更にHitOverRideを用いてステートを固定、LifeAddでダメージを適用してやればOKです。

常時監視にIsHelper制限を追加しないとバグる可能性があるのと、打撃投げ(Hitdef.attr=Nでない)が当たらないのがデメリットですが
この方式の場合、管理するステートが極少数で済むので記述の把握がしやすいため逆にバグが減るのがメリット(凄く扱いやすいです)

具体的な記述を載せようと思ったんだけど、板的に長くなるので自重なりー

14Azuma:2010/06/25(金) 19:31:15
>>12の、YESさんが書いた記述だと
技の途中で攻撃を喰らった場合「ゼロから技を出し直す」形になります。
そういう仕様(のりもの、とかのアーマーは大概コレ)なら、それでいいんですが…

バルバトスの鋼体みたいに文字通り「怯まない」アーマーを作りたい場合は、ヘルパーアーマー方式ですね。
相手の攻撃が当たった際のヒットポーズとかをどうするか考えてあげるetc色々と工夫する点はありますけれど

15愛茶:2010/06/25(金) 19:37:28
はええw 皆様ありがとうございます。これで少しは内部設定が捗り―――――と言いたいところだった。

Error message: Command 5 "BA"missing command parameter
Error in キャラ名.cmb
Error loding chars/キャラ名/キャラ名.def
Error loding p1

というエラーメッセージが発生して戦闘に移行しない。
なんだこりゃ?;;;;原因なんぞもちろん駆け出しの自分には理解不能。
知恵を誰か貸してください・・・・(・・;

16ポポポンタ:2010/06/25(金) 19:54:40
 >>15
コマンド定義が足りないだけだと思われます。
和訳版kfmのcmdファイルを参考にして、適宜必要なコマンド定義を追加してやればおk。

17愛茶:2010/06/25(金) 21:17:22
≫16
格闘はし続けましたが、コマンド定義に異常は自分からしてはなかった、と思います。
基本的には他の場所にあったCommandをマルコピしてそこから改変したので。

ステート定義にも異常はないはず。では、なぜエラーが吐き出される?

解せぬ・・・・詰んだか?;;;;

18Azuma:2010/06/25(金) 21:23:22
いや、どう考えてもコマンド定義が足りませんエラーだと思います。

エラーメッセージを和訳すると
「「BA」というコマンドがトリガーとして使われているけど、こんなコマンドCMD内で定義されてねーぞ!」って感じですのぅ
CMDのコマンド定義箇所に
[Command]
name = "BA"
command = b, a

とか追加してやれば、とりあえずエラー吐かないと思います…たぶん

19彰厳2号:2010/06/25(金) 21:24:14
>>17
直訳すると
存在しないコマンドを指定した
ですね。

駆け出し以下の私にはわからないのです@@;;
ごめんなさい引っ込んでます。

20愛茶:2010/06/25(金) 21:49:34
最終的には最初から用意されていた方の超必殺コマンドを微改変してやってほか、色々常時監視ステートとか、カンフースルーに関するエラーが飛び出すわで苦労しましたがなんとか起動できました。

元々用意する技も3,4種類と結構少ないので流用程度で済みそうです。
・・・・自作で作ってみたコマンドをエラーで吐き出されるとかショックでかすぎるぞ・・・・。
何が違うってんだ・・・・?
てか、−2ステを記載した奴がエラー吐いた・・・・。これではアーマーどころの話じゃないな・・・・

21Azuma:2010/06/25(金) 21:51:08
がむばってくだされ

1年ちょい触ってますが、私も未だに理解しきれませぬw

22gan:2010/06/25(金) 21:57:31
おぉ、いつの間にかこんな所が出来てたんですか。なら折角なので質問です。
とある東方キャラの製作中で、追尾式飛び道具を作っているのですが、helperの数を極力抑えるため、projectile式にしたところ、
グレイズは出来るがprojectile式飛び道具に対して相殺が出来ないという状況になりました。
helper式飛び道具とは相殺出来るのですが、projectile相手だと一方的に打ち消したりすり抜けたりして困っています。
projContactTimeはちゃんと反応するのにprojCancelTimeは反応しないのが原因なのですが、そこが分からんとです。
projContactTimeとprojCancelTimeって1になるタイミングが違うんでしょうか…

23pain:2010/06/25(金) 22:01:20
CNSは初めの頃はほぼコピペでもガンガンエラー吐きまくりますし、
原因不明すぎて血管ブチ切れそうになることも多々ありますし、
慣れてきて新しいことにチャレンジしようと思うと全く上手くいかなかったりしますが、
諦めずに頑張り続けて独自の複雑なシステムが出来た時とか
思い通りの動きが無事に完成した時なんかはすごく嬉しいものですよ!
全くふざけたツンデレ野郎です。…誰か擬人化してキャラ作成してくれn(ry

24あえそぷ:2010/06/25(金) 22:16:44
>>22 !!
projectile式でもグレイズできたんだ!?
知らなかった!ぼくがんばっちゃう!

25pain:2010/06/25(金) 22:18:33
>>22
projの飛び道具をグレイズ可にする仕組みもprojCancelTimeの詳細も一体どういう状況かもわからないんですけど
可能性の一つとしてprojremanimもしくはprojcancelanimを設定していて、
そのアニメの時間の分projContactTimeとprojCancelTimeにズレが生じているというパターンがありえるかもしれません。

26gan:2010/06/25(金) 23:15:30
んー、projremanimもprojcancelanimも設定していないので何とも…
ちなみにprojectileにグレイズさせるのは、

1.飛び道具の位置を全てvarで管理する
 また、別のvar(仮にvar(10)とする)で相手と接触、相手がダッシュ中、それ以外、の3つの状況を判断(左から順に1、-1、0)
2.projremovetime = 1 のprojectileを1フレーム毎に発射
 この時、var(10) = -1で当たり判定無しの、var(10) = 0の時当たり判定有りの弾を出す様にする(var(10) = 1なら出さない)
3.var(10) = -1且つ相手が飛び道具の位置から一定範囲以内(当たり判定より大きめ)にいる時にvar(10) = 1にする
4.projContactTime(〜) = 1の時もvar(10) = 1にする

これでprojectile式飛び道具にグレイズさせています。ちなみにこの弾は追尾式なので相手との角度やらを更に別のvarで指定してやる必要がありますが、
helper1つ使用するだけで、頑張れば8〜9の追尾弾が出せます。
4番が機能していなかったら1フレーム毎に飛び道具が出てもの凄い多段ヒットするんですが、1ヒットしかしていないのでちゃんと機能しているはず。
なのにprojCancelTime(〜) = 1だと機能してくれない…

東方キャラと対戦する時、弾を打ち消せるのと弾をグレイズ出来るの、どっちがあった方が良いんでしょうか。
グレイズだけで良いならこのまま実装したいんですけどねぇ…

27pain:2010/06/26(土) 00:37:20
自分で試したわけではないのですが、ちょっと調べてみたところprojCancelTime(〜)は
最後に放出したprojがidの番号だった時に有効なトリガーだという記述を見つけました。
おそらく多数同時に出す場合このトリガーでは対応できない仕様だと思います。

机上論の代案ですがprojremovetime = 2の別idのprojをgametime%2=1とgametime%2=0でだして
NumProjID(〜)で判断すればいけるんじゃないだろうか。
まぁ、こういう思いつきは大体やってみると勘違いが多くて無理なものなんですけど、気が向きましたらお試しください。
2hitしちゃいますがダメージを半減させれば…あり…か?

28Yes:2010/06/26(土) 02:23:53
>>22
なかなか歯ごたえのある問題ですね。
答えが気になる。

関係する記述をまるまるtxtファイルでドット絵板のアップローダーに上げてください。
あと、
>helper式飛び道具とは相殺出来るのですが、projectile相手だと一方的に打ち消したりすり抜けたり
とありますが、helper、projectileの違いが原因だと判断した理由を教えてください。例外とか無かったですか?
相殺関係は相手の記述が原因なんてこともよくあります。
それと、その記述を使った同じ飛び道具をぶつけたときにどうなるか教えてください。

29メイトル:2010/06/26(土) 03:34:03
お邪魔します。

現在自作キャラのウサギくんのAIをちょこちょこ作ってるんですが、大体どの程度の強さにすればいいんですかね?
㍻㌢氏のAI説明書をベースに作ってるんで一応レベル制なんですが、最高レベルの10(10以上にもできますが無視)で対AI戦を基本にしていて、
そのレベルでどの程度の強さなら具合がいいのかなぁ、と。
(以前絵板のほうでエラーで落ちてしまって云々言ってましたが、あれの原因は綴りミスと記述の抜けでした。var→ver、var(**)→(**) …我ながらアホすぎる)

現時点では、デフォのカンフーマンには問題なく勝ちます。対人用の弱めのAIにもまぁ勝ちます。
でも今はちょっと射撃と設置に頼りすぎで…。かと言って接近戦できるほど通常技は強くないジレンマ。
そして通常技でダメージを稼ぐ時に必須の空中コンボをAIにやらせるのが難しすぎてどうしようもない。

後、今更ながらウサギくんはヘルパー使いすぎかもしれないと思った。一度の射撃でヘルパー6個使うんですよね…。
画面に残る時間が少し長い射撃なんで、状況によっては射撃だけでヘルパー18個くらい。
ヘルパー表示数の上限上げてねって注意書きはしてるにしてももっと減らす努力をしたほうがいいんだろうけどぶっちゃけどうすればいいかよくわからない。

30Azuma:2010/06/26(土) 08:58:57
どういう射撃なら一発で6つヘルパーを使うのかを教えて頂けないとサッパリでするよー

>グレイズさせる飛び道具
私も結論が気になる。
記述読みに行ってきます。

31gan:2010/06/26(土) 11:33:49
>>28
とりあえず問題の記述をアップローダに置いときました。
とりあえず今分かっているのは
1.同じ弾相手にはすり抜ける
2.projectile式飛び道具の内、一回しか放出しないものは一方的に打ち消す
  helper本体に当たり判定が無く、飛び道具本体がprojectileの場合も一方的に打ち消す
  helper本体に当たり判定があるものとは相殺(相殺強度が高いものは、相殺回数分当たってから相殺)
  但し、hitflagにPが無いものとは当たらずにすり抜ける
  
ちなみに判断は、Pots氏のご乱心に飛び道具を当てた後、実際の記述とairファイルを見て行っています。

多分、helper本体(hitflagにP有り)への接触はprojContactTimeで取れるから相殺出来るものかと。
問題は、projectile本体に当たり判定がある場合、放出が一回きりのものは一方的に打ち消し、
自分が出している様な、1フレーム毎に放出する様なものとはすり抜けるという事態。
要するに、projectile同士の接触の部分に問題があるわけで、結局行き着く先はprojCancelTimeなんですよね。
自分も放出を一回にすれば相殺自体は出来るのですが、そうすると追尾もグレイズも仕込めなくなるので…

32彰厳2号:2010/06/26(土) 13:19:21
ちょっと失礼します。
今作ってるキャラで原作再現をしたいのがあるのですが、
「徐々に前に進んでいき、攻撃を食らうと空中判定」
というのが原作です。
突進は大体把握したのですが空中判定、つまり
攻撃を食らうと浮き、若干(かなり小さく)吹き飛ぶというのは
できるのでしょうか。

わかる方、ご回答お願いします

33愛茶:2010/06/26(土) 13:52:05
とりあえず、ヘルパー式アーマーの搭載を今やっているが、本体とヘルパーの2つが同時に出てしまう・・・;
ヘルパーは操作できないけどアーマ化され、操作できる方は普通のキャラ。
なにをどうしたら・・・・;

34gan:2010/06/26(土) 14:20:24
>>32
statedefのtypeをAにしておけば良いんじゃなかろうか。若しくはStateTypeSetで指定するか。
要は自分が空中にいる扱いになれば良い訳だから。

35彰厳2号:2010/06/26(土) 15:08:39
>>34
ありがとうございます!
後々試してみますね

36blank:2010/06/26(土) 16:00:31
>>33
状況がわかりにくいですが、恐らくヘルパーアーマーはそれで合ってます。
ただヘルパーのほうのステートに
[State -2, 1]
type = AssertSpecial
trigger1 = 1
flag = noshadow
flag2 = invisible
ignorehitpause = 1

って入れておけばいいかと。
あと念のため書いておきますが、Bindtoparentで本体に追尾させるのも忘れないで下さい。

37Azuma:2010/06/26(土) 16:25:40
同意
あってますな、たぶんそれで
ステコンが足りてないんでしょう。 原理を理解すると単純なんですけど

[State x, PlayerPush]
type = PlayerPush
trigger1= IsHelper(x)
value = 1
ignorehitpause = 1


[State x, AssertSpecial]
type = AssertSpecial
trigger1= IsHelper(x)
flag = Invisible
flag2 = noShadow
ignorehitpause = 1


;------------------------[アニメ追従]
[State x, BindtoRoot]
type = BindtoRoot(Parentでも良い)
trigger1= IsHelper(x)
ignorehitpause = 1


[State x, Turn]
type = Turn
trigger1= IsHelper(x)
trigger1= Facing != Root,Facing
ignorehitpause = 1




;------------------------[被弾処理]
[State x, HitOverRide]
type = HitOverRide
trigger1= IsHelper(x)
time = -1
attr = SCA,AA,AP
slot = 0
stateno = x
ignorehitpause = 1


[State x, ChangeAnim]
type = ChangeAnim
trigger1= IsHelper(x)
trigger1= Anim != Root,Anim
value = Root,Anim
ignorehitpause = 1


ヘルパー側に、こんなステコン追加すればOKなハズ

38Azuma:2010/06/26(土) 16:26:55
そうそう、ある程度は自分で考えないと理屈が頭に入らないので応用が効かなくなりますぜ

39ケットシー:2010/06/26(土) 17:47:35
現在方向キーとボタン同時押し技の製作中なのですが、6xは普通に出るのですが6Yの方は相手に密着して押している状態だと出ません。
CMDは
[State -1, ブリハマチアッパー]
type = ChangeState
value = 250
triggerall = (command = "x") && (command = "holdfwd")
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200) || (stateno = 210)|| (stateno = 400)|| (stateno = 410)
trigger2 = movecontact

[State -1, 鉄球落とし中段]
type = ChangeState
value = 260
triggerall = (command = "y") && (command = "holdfwd")
triggerall = command != "holddown"
trigger1 = statetype = S
trigger1 = ctrl
trigger2 = (stateno = 200) || (stateno = 210)|| (stateno = 400)|| (stateno = 410)
trigger2 = movecontact
となっています。(xを押すかyを押す以外は一緒なんだけどなんで?)

40ダガー:2010/06/26(土) 20:45:15
キャラ公開してる身なのにこのレベルの話についていけない自分・・・

>>29

強さといってもキャラによって性能が異なりますから一概には言えませんが
レベル10ならそのキャラの持てる最高精度の強さでいいんじゃないでしょうか。
あとはレベルが低くなるにつれてガードの固さやコンボの成功率が落ちるとか・・・

自分はヘルパーは画像表示だけなら極力Explodに
複雑な動きの攻撃でなければヘルパーにProjectileくっつけたり、と
できるだけ節約するようにしてますがその程度の話ですかね。
自分も状況がわからないのでちょっと・・・
あとでウサギくんのCNS見てみます。

41Yes:2010/06/26(土) 21:43:21
>>29
>どの程度の強さ
1のときAI発動して無い方が強いレベル。
5のとき戦っていて楽しいレベル。
10のとき勝つために一切の手抜きなしの全力
な感じじゃないでしょうか。
>ヘルパー使いすぎかもしれない
最大18個ならば減らさなくてもいいと思います。
どうしても減らしたいときは、
技の詳細(技名など)を教えていただければ一緒に考えますよ。

>>31
申し訳ないですが
"旧"ドット絵板のアップローダーに同じものを上げてください。

>>39
6xの方は相手に密着して押している状態でも出るって事ですよね。
不思議ですね‥。

この記述だけでは見当が付きません。
cmdファイルまるごと.txtファイルにコピペして
"旧"ドット絵板のアップローダーに上げてください。

6Yがでないとき、変わりに別の技が出たりしますか?

42pain:2010/06/26(土) 21:58:16
>>29
AI戦を想定しているということでしたら二コ動などの大会でよく見かける
凶未満のキャラの中から原作再現度が高くていいAIを搭載しているキャラを数体選び
レベル8〜9で勝ったり負けたりするくらいに調整できればかなりいいと思います。
その他のレベルは適当に行動確立を調節していけばオッケーだと思います。

>>39
問題なさそうに見えますね。。。
移動先のステートの方が怪しいかもしれません。
とりあえず2つのコマンドを入れ替えてみて、
それでも同じように6yのコマンドが機能しないのか試してみると良いと思います。

43ケットシー:2010/06/27(日) 00:16:49
>>42
 入れ替えたら今度は6xが出ない???
6yのCNSです、どなたか原因わかる方アドバイスお願いします。
;鉄球落とし中段
[Statedef 260]
type = S
movetype= A
physics = S
juggle = 1
velset = 0,0
ctrl = 0
anim = 260
poweradd = 30
sprpriority = 2
facep2 = 1

[State 260, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 1
value = 0, 0

[State 260, ヒット定義]
type = HitDef
trigger1 = AnimElem = 7
attr = S, NA ;立ち通常打撃(Standing, Normal Attack)
damage = 40, 0
animtype = Medium
guardflag = HA
hitflag = MAFD
priority = 3, Hit
pausetime = 8, 8
sparkno = 0
sparkxy = -10, -76
hitsound = 5, 0
guardsound = 6, 0
ground.type = High
ground.slidetime = 5
ground.hittime = 30
guard.hittime = 20
ground.velocity = -4
airguard.velocity = -1.9,-.8
air.type = High
air.velocity = -1.4,-3
air.hittime = 12


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

44pain:2010/06/27(日) 00:47:31
>>43
ブリハマチアッパーの方は6yでも出るということでしたらCMDは問題なさそうですね。
となると260ステートには移行してるけど、即座に0ステートに帰ってるってことっぽいので、
次に怪しいのはChangeStateだと思います。

260ステートの中だけで見ると260番のanimが問題ありで0フレで終わってしまってる可能性が高そうですけど、
相手に密着して押してない状況だと普通にでるなら、-1,-2,-3のどこかでChangeStateかselfstateしてしまってる可能性もありますね。
んー、私にはこれくらいしか思いつかないかなー。

45沫莉:2010/06/27(日) 07:44:21
>>39
相手に密着した場合のみ6yコマンドで技が出ない場合ですが、確認しますが元のcmdは何もないところから記述していますか?
KFMや既存キャラを下敷きに記述した場合、[State -1, 鉄球落とし中段]より上に6y通常投げとかの-1Stateが万が一残っていると、そちらが成立してそれより下の記述は判定されません。
念のため、cmdの[Statedef -1]を上から見直して[State -1, 鉄球落とし中段]より上にコマンドが重複しているものがあるかどうか見直すのをお勧めします。
症状的に密着時限定で発生しているとなるとcmd重複の可能性が一番高いと思いますので。

46ケットシー:2010/06/27(日) 09:32:58
>>45
 ご指摘の通りcmdの重複でした。投げのcmdを書き換えたら密着状態でも6yが出るようになりました。ありがとうございます。

47Yes:2010/06/27(日) 14:43:25
ganさん
申し訳ございません‥
無理でした!

あの記述に問題点は無いです。
本当ならあの記述で予定どうりの効果を発揮するはずですが、

projCancelTimeが(win版においては)機能していません。間違いない。
色々検証しましたが、動かない。
間違いなく機能していないです。

それならば
projCancelTimeの代わりになるトリガーを
作ろうとしたんですが‥
無理でした。

そこでここに居る皆さんに考えていただきたいのが
”Projectileが相殺(コンタクト、ヒット、ガードではありません)したことをHelperを使わずに判定するトリガー”
これを思いついた方はその記述を教えてください。

48pain:2010/06/27(日) 22:21:03
ganさんのproj弾グレイズについて
完全に思いつきなんですけど、
1、弾にprojcancelanimを1フレでもいいのでつける。
2、奇数フレームと偶数フレームで違うidの弾を出す。
3、奇数フレームの弾のトリガーにnumprojid(偶数の弾のid)=0、
  偶数フレームの弾のトリガーにnumprojid(奇数の弾のid)=0を入れる。
4、偶数フレームにnumprojid(偶数の弾のid)=1、奇数フレームにnumprojid(奇数の弾のid)=1
  かどうか確認する。
これでどうでしょう。
細かい仕様は把握してませんし、確認してないので自信はありませんが、projcancelanimを入れることで弾が消された場合のみ
projが消えるまでの時間に普段と差異が生まれ、判別可能になるのでは?という考えです。

49Azuma:2010/06/27(日) 23:06:08
質問です。
Helperでガワ作ってProjに判定を持たせる方式の飛び道具なんですが
 
1.ブロッキングされない飛び道具って可能ですか?(投げ判定にしてしまう…程度しか思いつかない)
2.無敵状態の相手に攻撃を当てる手段は、当て身でステートを奪う以外にあるのでしょうか?
        →NotHitBy=SCA または 判定そのもののない相手
3.HitDefAttrに「P」のある攻撃をすり抜ける飛び道具は可能なのでしょうか?(Clsn2判定を与えなければOK?)

50gan:2010/06/27(日) 23:23:36
Yesさん、painさん検証の程ありがとうございます。
とりあえずpainさんの指摘を試しに入れてみましたが、やはり上手くはいかないです。
projcancelanimに2フレーム程のものを入れて、別IDのものを用意したところ、更に挙動不審になりまして。
具体的に言うと、何故か1つ置き毎にどこかの弾が消えます。何この謎現象…

ただ、この実験をやっていて気付いたこと。
1フレーム毎に放出する今回の様な弾。これのprojremanimに適当なanimを設定すると
綺麗な軌跡が演出できる。…それだけ。

51Yes:2010/06/28(月) 01:27:47
>>49
1.無理です。僕が知っているブロッキングの記述相手だと無理なはず。
2.ないです。あればオメガトムハンクスが雑魚キャラ扱いですよ。多分まだ開発されてないと思います。
3.可能です。Clsn2判定を与えない他に、消されたらまたでてくる記述を書けば大丈夫です。
      Helperでガワ作ってProjに判定を持たせる方式の飛び道具ならそれが可能(やりやすい?)です。

>>48
「そのやり方僕も思いついたんですが、
 projremovetimeが過ぎるとprojcancelanim(の表示時間)を無視して消滅してしまうので成り立たないです。
 キチンと検証していませんが、ganさんの記述をいじっているときはそうなりました。」
って書こうと思ってちょっと検証したら‥
projcancelanim(の表示時間)を無視しない、上手くいく。
ついでにP攻撃でかき消すのは相殺扱いにならないことが判明。(ずっとP攻撃でやっていた。)
IDさえ上手くとればもしかしたら上手くいくかもしれません。
painさんのIDのとり方を参考にもう少し考えてみたいと思います。

52pain:2010/06/28(月) 01:48:11
>>51
おぉ!さすがYesさん!私も実際に搭載して試してみたんですが、さっぱりでした。
一方的に消せてたはずのproj式の飛び道具すら何故かすり抜けるようになるという怪現象が起こりましたw
あと、実際やってみて思ったのは、
4、は48のやり方より偶数フレーム時にnumprojid(奇数の弾のid)=1、奇数フレーム時にnumprojid(偶数の弾のid)=1
  でprojcancelanimが発生してるかどうかを判断する方が良さそうですね。

53Yes:2010/06/28(月) 04:27:34
できました!

攻撃判定を持ったProjectile(弾1で言うところのvar(2) = 0のやつ)に
trigger1 = root,NumProjID(そのProjectileのProjID) = 0
をくっつけ
hitflagからPを抜きます

消滅アニメーションを1F(4Fまでなら弾がカクカクにならないと思われる。)
相殺アニメーションを2F(消滅アニメーション+1)
にします。

varadd
でvar(かぶらない適当な数字:A)を
攻撃判定を持ったProjectile(var(2) = 0)が出現したと同時(トリガー同じでNumProj = 1)に
1Fずつ増加させます。

そうしたら
varset
var(A) = 3 (projRemoveTime + projremanimの表示時間 では到達しないが projRemoveTime + projcancelanimの表示時間 だと到達する値)

var(2) = 1

これでできますよ!
IDもいじらなくていいので簡単
5個出したときはまだ試していないですが多分大丈夫!

おまけ
projpriorityが相手と違う場合
P攻撃と同じく相殺(cancel)ででもなく消滅(remove)でもなく除去(パッと消える)する、されることになります。
除去した場合、相手のProjectileを一方的にかき消し
除去された場合、相手のProjectileをすり抜けます。
また
projpriorityが相手と同じ場合でもすり抜けが起きる場合があります。
これは単純に
相手の喰らい判定とこちらの攻撃判定の長さの合計(ドット)が
相手のProjectileを基準にしたこちらのProjectileの相対速度を下回るときです。
ありえなさそうに思えますが、scalが小数になっていたりするとありえなくも無いです。

54Azuma:2010/06/28(月) 08:17:31
>>51
ありがとうございます。
なるほど、とすると演出で誤魔化すかな…
ブロッキング不可は原作再現不可能なのかー

55gan:2010/06/28(月) 09:53:01
>>53
で、出来たのか!Yesさんありがとうございます!
時間が出来次第、試してみたいと思います。
これでhelper数に優しい弾幕が作れる!

56メイトル:2010/06/29(火) 03:36:36
どもです。
>>30>>40>>41>>42
>ヘルパー数
1回に3つの弾が出る射撃で、ここでまずヘルパー3つ。
追尾型の射撃で相手の背後に回り込むことがあるんで、Turn使ったガード用のヘルパーをそれぞれに重ねていてここでも3つ。
なんかこれは減らせない気がするんで、ここよりもただのエフェクトなのにヘルパーで表示してる箇所とかを修正するべきかなと思いました。
ぼちぼちやってきます…。うん…ぼちぼち。

>AI
とりあえずニコMUGEEwikiのランク付けページの強キャラ当たりを目安にしてこと思います
ウサギくんにそれだけのポテンシャルがあるかという点と、私にそれだけのものが作れるかということを置いといて
AIって難しいですね…ドット描いてるほうが楽しいー新キャラのドット進んでないー

57ケットシー:2010/06/29(火) 19:09:59
現在投げ製作中なのですが相手によってさかさまになったり空中で横になったり対応がばらばらです??
;カンフースルー:相手側1(掴まれて放り投げられるまで)
[Statedef 820]
type = A
movetype= H
physics = N
velset = 0,0

[State 820, 相手のアニメ変更]
type = ChangeAnim2
trigger1 = Time = 0
value = 820

[State 820, 相手ステートに戻す]
type = SelfState
trigger1 = !GetHitVar(IsBound) ;(※3)
value = 5050
このへんは別にいじってないのですが??どなたかアドバイスお願いします。

58blank:2010/06/29(火) 19:51:16
>>57
ChangeAnim2で相手にこちらのアニメを参照させてるから
自分のairファイルいじらないとダメなんじゃね?

59ケットシー:2010/06/29(火) 21:44:49
座標y軸指定が30だったのを-30に直したら同キャラやネコアルクはちゃんとするようになりましたが・・・・
すいかやらレナやらは逆さまのまま・・・・・。
>>57
AIRファイルの820グループに登録してるのは「5000-0][5000-10][5030-0][5030-20]です。特に左右反転などの指定はしていません。

60blank:2010/06/29(火) 23:27:37
うーん、どういう投げを想定しているかがわからないけど、投げとか相手にアニメ参照させて何かするときは
airファイルには5001とか5002とかの体や頭を中心にしたやつをつかって、
細かい位置指定はCNS内のTargetBind使うといいかも。
じゃないとKFMとかD0キャラ相手にうまくいってもD4キャラ相手の時にずれてしまう場合がある。

単純にその相手のキャラのスプライト登録ミスとかの場合もあるけど。

61Yes:2010/06/30(水) 01:54:21
>>56
>Turn使ったガード用のヘルパーをそれぞれに重ねていてここでも3つ。
この部分もしかしたら減らせるかも。

>>57
以下の質問に答えてください。

>逆さまのまま
想定しているものの上下反転ですか?
それとも180度回転ですか?

>座標y軸指定が30だったのを-30に直したら同キャラやネコアルクはちゃんとするようになりました
座標y軸指定←これtargetbaindのyの値のことですよね。
30だったときは同キャラやネコアルクは逆さまでしたか?

>Statedef 820
逆さまになるのはこのstateにいる間ずっと逆さまで、stateを抜けると元に戻る
ということでよろしいですか?

>相手によってさかさまになったり
おかしなことになる相手に別のキャラ(特にkfm)で投げを行った場合
おかしなことになりますか?

62ケットシー:2010/06/30(水) 11:14:58
>>61
>想定しているものの上下反転ですか?
>それとも180度回転ですか?
180度回転です。こっちの顔の前に相手の顔が来るはずがお尻が前に・・・。逆さに吊るしておしりぺんぺんとかどんなプレイ・・・
>30だったときは同キャラやネコアルクは逆さまでしたか?
地面に叩き付けれていました。

投げ全体のイメージとしてはまるるんみたいに相手をつかんで数回叩いてから放り投げるようなイメージです。

63Yes:2010/06/30(水) 21:13:55
>>62
なるほど
相手をつかんでいるときに、逆さまになってしまうキャラがいるということですね。
‥原因が想像も付かない。

おかしくなるキャラのSFFの「5000-0][5000-10][5030-0][5030-20]を見てみて
原因がなさそうなら
掴まれている側ではなく掴んでいる側の記述を見せてください。

>座標y軸指定が30だったのを-30に直したら同キャラやネコアルクはちゃんとするようになりました
ここもうチョイ詳しく教えてください。
30だったときは同キャラやネコアルクは逆さまでしたか?

64Yes:2010/06/30(水) 23:32:27
すみません
>>座標y軸指定が30だったのを-30に直したら同キャラやネコアルクはちゃんとするようになりました
>ここもうチョイ詳しく教えてください。
>30だったときは同キャラやネコアルクは逆さまでしたか?
この部分の書き込みは無かったことに。

65ケットシー:2010/07/01(木) 00:06:09
>掴まれている側ではなく掴んでいる側の記述を見せてください。
 改行多すぎ表示が出たので分割ですが

;カンフースルー:掴み
[Statedef 800]
type = S
movetype= A
physics = S
juggle = 0
velset = 0,0
ctrl = 0
anim = 800
sprpriority = 2

[State 800, ヒット定義(投げ用)]
type = HitDef
trigger1 = AnimElem = 2
attr = S, NT ;立ち通常投げ(Standing, Normal Throw)
hitflag = M- ;マイナスが付加されてるので相手が食らい中の時は掴めない
priority = 1, Miss
sparkno = -1 ;-1だからヒットスパークは表示しない
p1sprpriority = 1
p1facing = 1
p2facing = 1
p1stateno = 810
p2stateno = 820
guard.dist = 0 ;相手のガード態勢に入る距離を0にしてるので、ガード不可
fall = 1

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

66ケットシー:2010/07/01(木) 00:09:18
続きそのです。
;カンフースルー:成功(放り投げる)
[Statedef 810]
type = S
movetype= A
physics = N
anim = 810
poweradd = 60

[State 810, 変数];「holdback」のコマンドが入力されているかどうかを判断する
type = VarSet
trigger1 = Time = 0
var(2) = command = "holdback"

[State 810, 音を鳴らす];ぺしぺし用
type = PlaySnd
trigger1 = AnimElem = 2
trigger2 = AnimElem = 3
trigger3 = AnimElem = 4
trigger4 = AnimElem = 5
trigger5 = AnimElem = 6
trigger6 = AnimElem = 7
trigger7 = AnimElem = 8
value = 0, 0

[State 810, 音を鳴らす];ぺちん用
type = PlaySnd
trigger1 = AnimElem = 15
value = 0, 4

[State 810, 掴んだ相手の位置1];TargetBindで相手を一時的に拘束
type = TargetBind
trigger1 = AnimElem = 1
trigger2 = AnimElem = 3
trigger3 = AnimElem = 5
trigger4 = AnimElem = 7
trigger5 = AnimElem = 9
trigger6 = AnimElem =11
trigger7 = AnimElem = 13
pos = 30, -30 ;自分の軸位置から相手の軸をX=28・Y=10の位置にする

[State 810, 掴んだ相手の位置2];TargetBindで相手を一時的に拘束
type = TargetBind
trigger1 = AnimElem = 2
trigger2 = AnimElem = 4
trigger3 = AnimElem = 6
trigger4 = AnimElem = 8
pos = 25, -30 ;自分の軸位置から相手の軸をX=28・Y=10の位置にする

[State 810, 掴んだ相手の位置3];TargetBindで相手を一時的に拘束
type = TargetBind
trigger1 = AnimElem = 10
trigger2 = AnimElem = 12
trigger3 = Animelem = 14
pos = 32, -30 ;自分の軸位置から相手の軸をX=28・Y=10の位置にする

67ケットシー:2010/07/01(木) 00:10:26
さらに続きです(長文失礼します)
[State 810, 振り返る];Var(2)が有効な時
type = Turn
trigger1 = var(2)
trigger1 = AnimElem = 1

[State 810, 軸位置移動];Var(2)が有効な時
type = PosAdd
trigger1 = var(2)
trigger1 = AnimElem = 1
x = -37

[State 810, 掴んだ相手の向き];Var(2)が有効な時
type = TargetFacing
trigger1 = var(2)
trigger1 = AnimElem = 1
value = -1

;相手が食らい状態の時のみ機能するTarget系コントローラ
[State 810, 掴んだ相手のライフ増減]
type = TargetLifeAdd
trigger1 = AnimElem = 2
trigger2 = AnimElem = 3
trigger3 = AnimElem = 4
trigger4 = AnimElem = 5
trigger5 = AnimElem = 6
trigger6 = AnimElem = 7
trigger7 = AnimElem = 8
value = -8

[State 810, 掴んだ相手のステート変更]
type = TargetState
trigger1 = AnimElem = 15
value = 821



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

68Yes:2010/07/01(木) 00:52:23
わかりました。

”解決法”
[Statedef 820]の
SelfStateのTriggerを変更してください。

原因を説明しますと
targetのstateが820にくると
間髪居れずにSelfStateが発動し
targetのstateが5050に移ってしまう
キャラによって5050番stateのアニメーションは
上を向いたり下を向いたりしているため
このような現象が起きたということです。

gethitvar(isbound)なんて便利なTriggerがあるなんて知らなかったです。
何かに使えそうだから覚えておこう。
バグの発生を抑制するのに使えそうだ。

gethitvar(isbound)
⇔(意味)
targetbindで拘束している場合1
そうでないなら0

69Yes:2010/07/01(木) 03:13:53
訂正
:targetbindで拘束している場合1

:targetbindで拘束されている場合1

70ケットシー:2010/07/01(木) 11:02:33
>”解決法”
>[Statedef 820]の
>SelfStateのTriggerを変更してください。
 triggerをAnimTime = 0に変更したら解決しました。ありがとうございます。
ただGetHitVerトリガーの使い方がまだよくわからなかったりしますが(targetbindをAnimElemTimeじゃなくてAnimElemでトリガーしたのがまずかったかな?)

71Yes:2010/07/02(金) 00:50:09
targetbindは有効時間の設定を省略すると
有効時間は1Fになります。

またAnimElemは
trigger1 = AnimElem = 2
のような書き方の場合
”現在のアニメが2枚目に切り替わった”
というトリガーです。
現在のアニメの2枚目の表示時間が4Fだった場合
1F目は条件を満たし、残りの3Fは条件を満たしません

この2点からtargetbindの効果が途切れ
trigger1 = !GetHitVar(IsBound)
が満たされた。
ということです。

だから、
trigger1 = AnimElem = 2    ;現在のアニメが2枚目に切り替わった

trigger1 = AnimElem = 2, >= 0 ;現在のアニメが2枚目に切り替わってからず〜と
trigger1 = AnimElem = 3, < 0  ;現在のアニメが3枚目に切り替わっるまで
にすれば
現在のアニメが2枚目の間、というtriggerになります。
‥AnimElemTimeの方が簡単ですね。

72ケットシー:2010/07/02(金) 02:15:03
>>71
 丁寧な説明ありがとうございます。trigger1 = !GetHitVar(IsBound)でもちゃんとなげられました。

73blank:2010/07/03(土) 19:43:14
初心者が質問です。
飛び道具の発射位置やヘルパーの出す位置をランダムにすることは可能でしょうか?
もし可能なら教えていただきたいです。

74blank:2010/07/03(土) 20:38:58
可能です。ヘルパーの発生ステートのposの部分を、
[State xxx, 1]
type = helper
trigger1 = 〜
name = "myhelper"
ID = xxx
postype = p1
pos = 0+random%10,0
例えばこうすると、この場合p1の前方0〜9ドット目にランダムで発生します。
random%10は「0〜999を10で割った余り」という意味です。

75gan:2010/07/03(土) 20:57:08
>>73
randomを使えば0〜999までの、その名の通りランダムな数字が出る。
それを使って、例えば基準のx座標から±10の位置に出したいなら
pos = (基準のx座標)+(random-499)/50, (基準のy座標)
とかにすれば良い。
pos = random, random
みたいにすると、本当にどこに出るか分からないし(画面の大きさを考えると大体8割方画面外に出る)、
出る位置はある程度制限した方が良いけどね。
数式に関しては自分で考えてとしか言えないけど。

76blank:2010/07/03(土) 21:45:26
>>74
>>75

うまくいきました。ありがとうございます。
これってダメージに乱数を設定する時とかにも使えそうですね。
便利なので覚えておきます。

77仮面魔獣:2010/07/05(月) 19:06:22
大きさを弄ってみた〜とかでいろいろな大きさを見かけるんですが、もとの画像を自在に変更できるんでしょうか?
極端なことだと0.001倍とか100倍とか0.8756倍とか

78Azuma:2010/07/05(月) 21:51:39
できます。
CNS最初の定数記述の項目にてscale設定があるので、XYそれぞれの数字を変えればOK

79仮面魔獣:2010/07/05(月) 23:38:44
>Azumaさん
ありがとうございます。
削らずにすんでよかった・・・。

80Azuma:2010/07/06(火) 15:44:42
ちなみに 0.5倍や0.25倍etc以外の縮尺だとドットが荒れるので注意が必要っす。

81仮面魔獣:2010/07/06(火) 21:23:29
望みの倍率にかえればどれくらい荒れるのかKFMのSFFを一枚差し替えて試そうとしたら色がおかしくなったり、
新しくSFFに一枚だけ0_0を登録してもairやcnsが〜みたいなエラーがでてできませんでした。
作製動画とかで一枚だけでも表示させているのを見かけるのですがどうすればできるのでしょうか?
初歩的なことだと思いますが教えて下さい。

82あえそぷ:2010/07/06(火) 22:17:42
>>81
>>78でAzumaさんが言ってるのは、
カンフーマンのフォルダの中にある
kfm.cns の記述を書き変えるやり方だよ

xscale = 1
yscale = 1

の 1 を他の数字に置き換えればサイズを変えられるよ
このやり方の場合はsffを弄る必要はないね

ただこのやり方だとキャラそのものの大きさが変わるので、
キャラの当たり判定や攻撃判定まで変わっちゃうので注意!

83仮面魔獣:2010/07/06(火) 22:52:36
>あえそぶさん
xscale = 0.4、yscale = 0.4でだいたい自分の望んでいた大きさになったのでが、もともとKFMに使われていない色のためか配色がぐちゃぐちゃになっていました。
その時は大きさを変えられたということで満足していたのですが、Azumaさんが0.5や0.25etcだと・・・
とおっしゃっていたので荒れていないか見てみたくて質問しました。言葉足らずでした申し訳ない

84Azuma:2010/07/07(水) 11:28:23
よくわかんないけど、縮尺変えるだけでは色に変化なんか出ないですよ?
色化けならSFFかAct側弄った以外では発生しません。

85Yes:2010/07/07(水) 12:56:43
>>83
MCMをお使いですよね。
新アップローダーの[file106.zip]を落としてキャラとして登録してください。
そのキャラのsff 10000-0番(一番最後のやつ)と画像を差し替えるだけで
色化けせずに表示されます。

MCMで色化けと戦うのはかなり厳しい!
僕は折れて違うツールでやってます。

86仮面魔獣:2010/07/07(水) 22:25:27
>Azumaさん
どう説明したらいいのかよくわかりませんが、大きさいじったときでなく画像を入れ替えたときの変色です。
>Yesさん
MCMです。やってみましたが変わりませんでした。色化けではないのでしょうか?1からSFFを作った時は変色しなかったんですが、入れ替えたら・・・
初心者にMCMはきびしいでしょうか?

新ローダーのfile107.gifになったものを貼ったので気づいたことがあればお願いします。

87Yes:2010/07/07(水) 22:39:05
MCMで
スプライトの置き換えを選ぶと
イメージの読み込みの、小ウインドーがでるじゃないですか。
その小ウインドーの左下に

オプション
□共通パレット
□クロップイメージ

ってのがあります。
この □共通パレット のチェックをはずしてから
読み込みを行ってください。

88仮面魔獣:2010/07/07(水) 23:08:55
>Yesさん
できました有難うございます。
Azumaさんもあえそぶさんもありがとうございました。

89ケットシー:2010/07/08(木) 11:15:24
必殺技の製作にかかったらいきなりエラーが出ました。
Error massege:Invalid
Error parsing Hitdef
Error parsing[State 1000 q b g i`1]
Error in[Statedef 1000]
Error in kfmb\cns
Characterversion is older than this version of MUGen
Error loading chars/kfml/kfm.def
Error loading p2
と表示されました。これAirファイルにも問題があるということでしょうか?
ちなみにCNSは以下の通りです。
;レイジング肉球
[Statedef 1000]
type = S
movetype= A
physics = S
juggle = 1
velset = 0,0
ctrl = 0
anim = 1000
poweradd = 30
sprpriority = 2
facep2 = 1

[State 1000, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 2
value = 0, 2
改行多いので分割書き込みします。

90ケットシー:2010/07/08(木) 11:19:14
[State 1000];無敵の状態を作る
type = NotHitBy
trigger1 = Animelem = 1
value = SCA
time = 9 (これで9フレーム目まで無敵って意味になってるでしょうか?)

[State 1000, ヒット定義1]
type = HitDef
trigger1 = AnimElem = 2
attr = S, SA
damage = 90,5
animtype = Up
guardflag = M
hitflag = MAF
priority = 7, Hit
pausetime = 10, 10
sparkno = 0
sparkxy = -10, -30
hitsound = 5, 0
guardsound = 6, 0
ground.type = High
ground.slidetime = 3
ground.hittime = 10
guard.hittime = 20
ground.velocity = -20,-10
airguard.velocity = -6,-2
air.type = Up
air.velocity = -1.4,-3
air.hittime = 45
fall = 1
air.fall = 1
fall.xvelocity = -2.4
down.bounce = 1

91ケットシー:2010/07/08(木) 11:21:00
[State 1000, ヒット定義2]
type = HitDef
trigger1 = AnimElem = 3
trigger1 = AnimElem = 4
trigger1 = AnimElem = 5
attr = S, SA
damage = 90,3
animtype = Up
guardflag = M
hitflag = M-A-
priority = 7, Hit
pausetime = 10, 10
sparkno = 0
sparkxy = -10, -30
hitsound = 5, 0
guardsound = 6, 0
ground.type = High
ground.slidetime = 3
ground.hittime = 10
guard.hittime = 20
ground.velocity = -20,-10
airguard.velocity = -6,-2
air.type = Up
air.velocity = -1.4,-3
air.hittime = 45
fall = 1
air.fall = 1
fall.xvelocity = -2.4
down.bounce = 1

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

以上です。どなたか助言していただければ助かります。

92a:2010/07/08(木) 20:07:33
えっと ヒット定義1の
air.type = Upを
ハイかローとかにかえると直るかも

自分のcns久々にいじってたら変数だらけで
よくわからないです
当時なにがやりたかったのか覚えてない

93gan:2010/07/08(木) 20:13:13
文字化けから見てヒット定義1の所に問題があるみたいですが…何だろう。
ヒット定義1の所を丸ごと消してもエラーは出ますか?

後、エラーとは関係ないと思いますがヒット定義2の所。多分多段ヒット技にしたいんでしょうけど、このままだと
コマ番号が3、且つ4、且つ5であるという条件になるので、まず成立しません。なので
trigger1 = AnimElem = 3
trigger2 = AnimElem = 4
trigger3 = AnimElem = 5
と直した方が良いかと。

94ケットシー:2010/07/08(木) 23:31:35
>ganさん
>ヒット定義1の所を丸ごと消してもエラーは出ますか
エラー出なくなりました。通常技の製作で「基本的な技のCNSはばっちりだぜ」とか思ってた自分が恥ずかしくなりました。
カンフーアッパーを元に1行ずつ足していくことにしました。

>コマ番号が3、且つ4、且つ5であるという条件になるので、まず成立しません。なので
うわあ・・・・・・何やってんだろ私。

アドバイスありがとございました。

95blank:2010/07/14(水) 22:41:56
KO負け時のボイスを複数使うにはどうすればいいでしょうか?

96Azuma:2010/07/14(水) 23:00:09
喰らった攻撃が飛び道具か否かで判断をさせたいのですが
trigger1= EnemyNear,HitDefAttr = SCA,NA,SA,HAで、打撃判断は出来る(ストライカーの場合機能しない)のですが
trigger1= EnemyNear,HitDefAttr = SCA,NP,SP,HPにしちゃうと本体の攻撃が飛び道具判定というのにしか反応しないので

この場合のリダイレクトキーって、何を使えば良いのでしょうか?
ヘルパーHitdef.Attr=P系、プロジェク型飛び道具両方とも反応させたいのですが…

>>95
Sndの11-0に何も登録しないで、自分でKO時に鳴るようトリガーを設定したPlaySndステコンを常時監視にでも複数組み込めばOK

97Yes:2010/07/15(木) 01:18:59
既存のトリガー、リダイレクトキーじゃ無理です。
HitOverrideを駆使するしかありません。

98Azuma:2010/07/15(木) 09:00:17
なるほど…
目的としてはアーマーキャラが攻撃喰らった際に、飛び道具と打撃でダメージ量が変わるよう設定したいです。

ヘルパーをもう一個出して、飛び道具だけ喰らうように設定、喰らった攻撃のダメージ量を変数使って記憶
ヘルパーの変数を本体側準常時監視で参照してLifeAddで適用…でいいのかな… んーとりあえず試してきますw

99Yes:2010/07/15(木) 18:15:56
「無理です。」とか「不可能です。」
て教えるのは「こうすれば出来るよ。」
って教えるより数段不安ですね。
>>1
”ただし教えてくれた内容が間違っていても怒らないように。”
この一文を入れた過去の自分を褒めてあげたい。うん‥、褒めてあげたい///。

ヘルパー式アーマーなら
ヘルパー1個でHitOverrideを2個使えば出来そうですがなんともいえません。
がんばって作ってください。
こういう特殊な記述をまとめて後人に残したいですよね。
ganさんの グレイズの出来るhelperから射出のprojectile式飛び道具 とか
いろいろ整ってきたら、やろうかな。

100ADA:2010/07/15(木) 22:48:15
はじめまして。
体力が減れば減るほど数値が大きくなる記述をしたいのですが
lifemax-life、で大丈夫でしょうか?




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