[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
1-
101-
201-
この機能を使うにはJavaScriptを有効にしてください
|
製作お助け掲示板2
1
:
blank
: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はそんなに影響してこないと思う。
「:=」を使った代入も使ってるステコンも昔からの共通仕様の範囲内だし。
2
:
ケットシー
:2012/09/13(木) 01:14:28
>10000のHelperとNullの間にVarSetのTrigger1=1のvar(58)=0を追加で。
[state ]
type = varset
trigger1 = 1
v = var(58)
value = 0
を指定の場所に追加しましたがvar(58)がそのままです。
相手のヘルパーが出っ放しでもvar(1)が0に戻るんですが仕様上これであってますか?
3
:
blank
:2012/09/14(金) 01:20:34
ごめん、Var(59)の初期化も忘れてる
>>2
のVarSetの代わりにVarRangeSetのFirst=58のLast=59のValue=0にしてみて
それかV=Var(58)をV=58に変えて、VarSetのV=59のValue=0を追加するか
ヘルパー出しっぱなしならVar(1)が0に戻ることはない予定だから
↑の変更しても駄目なら実際の記述見ないと何が原因か分からないかも
4
:
ケットシー
:2012/09/14(金) 22:16:13
>↑の変更しても駄目なら実際の記述見ないと何が原因か分からないかも
var(1)がすぐ消えるので変数管理の記述はります。
[State ]
Type = Helper
Trigger1 = 1
StateNo = 10011
[state ]
type = varrangeset
trigger1 = 1
First = 58
Last = 59
Value = 0
[State ];VarにIDを格納した敵ヘルパーがいなくなった場合、Var(59)にいなくなった数を格納しつつ番号の若いVarへ詰め、Var(58)にはMoveTypeがAの敵ヘルパー数を格納
Type = Null
Trigger1 = !PlayerIDExist(Var(1))
Trigger1 = Var(59) := 1
Trigger1 = 0
Trigger2 = PlayerIDExist(Var(1))
Trigger2 = PlayerID(Var(1)),MoveType = A
Trigger2 = Var(58) := 1
Trigger2 = 0
Trigger3 = !PlayerIDExist(Var(2))
Trigger3 = Var(59) := Var(59)+1
Trigger3 = 0
Trigger4 = PlayerIDExist(Var(2))
Trigger4 = Var(2-Var(59)) := Var(2) || 1
Trigger4 = PlayerID(Var(2)),MoveType = A
Trigger4 = Var(58) := Var(58)+1
Trigger4 = 0
(中略)
[State ];いなくなった数だけVarを初期化
Type = VarrangeSet
Trigger1 = Var(59) > 0
First = 8-Var(59)
Last = 8
Value = 0
5
:
ケットシー
:2012/09/14(金) 22:19:32
続きです
[State ];1F前に出したヘルパーのIDを自分のVar(0)に記憶しつつ親のVar(0)に自分のIDを格納
Type = ParentVarSet
Trigger1 = Var(0) := Parent,Var(0)
Trigger2 = 1
V = 0
Value = ID
[State ];親ヘルパーの未使用Varのうち最も番号の若いVarを取得(Var(0)を除く)なぜか8まで入れるとばぐる
Type = Null
Trigger1 = Var(1) := !!Parent,Var(1)
Trigger1 = Var(1) := Var(1)+!!Parent,Var(2)
Trigger1 = Var(1) := Var(1)+!!Parent,Var(3)
Trigger1 = Var(1) := Var(1)+!!Parent,Var(4)
Trigger1 = Var(1) := Var(1)+!!Parent,Var(5)
Trigger1 = Var(1) := Var(1)+!!Parent,Var(6)
Trigger1 = Var(1) := Var(1)+!!Parent,Var(7)
Trigger1 = Var(1) := Var(1)+!!Parent,Var(8)
[State ];自分の直前に呼び出されたヘルパーが敵のものだった場合、上で取得した親ヘルパーの空きVarにそのIDを格納し、Var(1)を1増やす
Type = ParentVarSet
Trigger1 = ID-Var(0) > 1
Trigger1 = PlayerIDExist(ID-1)
Trigger1 = PlayerID(ID-1),TeamSide != TeamSide
Trigger1 = Var(1) := Var(1)+1
V = Var(1)
Value = ID-1
[State ];自分の2つ前に呼び出されたヘルパーが敵のものだった場合、上で取得した親ヘルパーの空きVarにそのIDを格納し、Var(1)を1増やす
Type = ParentVarSet
Trigger1 = ID-Var(0) > 2
Trigger1 = PlayerIDExist(ID-2)
Trigger1 = PlayerID(ID-2),TeamSide != TeamSide
Trigger1 = Var(1) := Var(1)+1
V = Var(1)
Value = ID-2
(中略)
[State ];呼び出したFのうちに削除
Type = DestroySelf
Trigger1 = 1
6
:
blank
:2012/09/15(土) 00:07:56
あー
親ヘルパーの1F目でPlayerIDExist(0)がいないからVar(59)に1が入っちゃうのか
子ヘルパーのParentVarSetでID格納する前にPlayerIDExist(Var(1))とか読ませちゃ上手くいくわけないな
なんか見落とし多くてスマソ
[State ];VarにIDを格納した敵ヘルパーがいなくなった場合、Var(59)にいなくなった数を格納しつつ番号の若いVarへ詰め、Var(58)にはMoveTypeがAの敵ヘルパー数を格納
Type = Null
Trigger1 = Var(1) > 0
Trigger1 = !PlayerIDExist(Var(1))
Trigger1 = Var(59) := 1
Trigger1 = 0
Trigger2 = Var(1) > 0
Trigger2 = PlayerIDExist(Var(1))
Trigger2 = PlayerID(Var(1)),MoveType = A
Trigger2 = Var(58) := 1
Trigger2 = 0
Trigger3 = Var(2) > 0
Trigger3 = !PlayerIDExist(Var(2))
Trigger3 = Var(59) := Var(59)+1
Trigger3 = 0
Trigger4 = Var(2) > 0
Trigger4 = PlayerIDExist(Var(2))
Trigger4 = Var(2-Var(59)) := Var(2) || 1
Trigger4 = PlayerID(Var(2)),MoveType = A
Trigger4 = Var(58) := Var(58)+1
Trigger4 = 0
(中略)
↑こんな風に各トリガーの1行目を追加で。
あとはVar(9)以降にID格納しちゃわないように
[State ];自分の直前に呼び出されたヘルパーが敵のものだった場合、上で取得した親ヘルパーの空きVarにそのIDを格納し、Var(1)を1増やす
Type = ParentVarSet
Trigger1 = ID-Var(0) > 1
Trigger1 = PlayerIDExist(ID-1)
Trigger1 = PlayerID(ID-1),TeamSide != TeamSide
Trigger1 = Var(1) := Var(1)+1
Trigger1 = Var(1) <= 8
V = Var(1)
Value = ID-1
↑こんな風にトリガーの5行目を追加した方がいいかな
8までじゃないとバグる理由はよく分からない
7
:
ケットシー
:2012/09/16(日) 00:00:07
var(58) とvar(59)の初期化は成功していますが。
なぜか敵ヘルパーが消えた際var(4)は0になるのにvar(5)はそのままという自体が。
それと
trigger1 = PlayerID(Var(1)),HitDefAttr = SCA,AA
trigger2 = PlayerID(Var(2)),HitDefAttr = SCA,AA
中略
trigger8 = PlayerID(Var(2)),HitDefAttr = SCA,AA
v= var(57)
value = 1
という記述を入れるとvar(4)以降が全部埋まりvar(58)=5という結果になりました。
ちなみにみやかか同士のテストなのでvar(1)からvar(3)はstate10010のヘルパーとそれ以前に実装したヘルパー飛び道具感知用
ヘルパーが消えずに出続けているので埋まっていると思われます。
8
:
blank
:2012/09/16(日) 02:27:37
まず、Var(4)を0にする記述は
[State ]
Type = VarrangeSet
Trigger1 = Var(59) > 0
First = 9-Var(59);8-Var(59)じゃなかった、ごめん
Last = 8
Value = 0
↑これのVar(59)が5以上だった場合のみだから一緒にVar(5)も0になるハズ
Var(4)が0になってVar(5)がそのままってことは他のVar弄りが働いてるからそれをチェック
もしかしたら常時監視のVarSet読んでるかもしれない
で、Var(4)に格納したIDのヘルパーが消えてVar(5)に格納したIDのヘルパーが残っている場合は
[State ];VarにIDを格納した敵ヘルパーがいなくなった場合、Var(59)にいなくなった数を格納しつつ番号の若いVarへ詰め、Var(58)にはMoveTypeがAの敵ヘルパー数を格納
Type = Null
Trigger1 = Var(1) > 0
Trigger1 = !PlayerIDExist(Var(1));敵の常駐ヘルパーがいるから満たさず。これ以降のTrigger1を読み飛ばしてTrigger2を読み始める。Var(59)は0のまま
Trigger1 = Var(59) := 1
Trigger1 = 0
Trigger2 = Var(1) > 0
Trigger2 = PlayerIDExist(Var(1))
Trigger2 = PlayerID(Var(1)),MoveType = A
Trigger2 = Var(58) := 1
Trigger2 = 0;絶対に満たさず。Trigger3を読み始める。
Trigger3 = Var(2) > 0
Trigger3 = !PlayerIDExist(Var(2));敵の常駐ヘルパーがいるから満たさず。これ以降のTrigger3を読み飛ばす。Var(59)は0のまま
Trigger3 = Var(59) := Var(59)+1
Trigger3 = 0
Trigger4 = Var(2) > 0
Trigger4 = PlayerIDExist(Var(2))
Trigger4 = Var(2-Var(59)) := Var(2) || 1;Var(59)が0なのでVar(2)に現在のVar(2)を代入、つまり変化なし
Trigger4 = PlayerID(Var(2)),MoveType = A
Trigger4 = Var(58) := Var(58)+1
Trigger4 = 0
Trigger5 = Var(3) > 0
Trigger5 = !PlayerIDExist(Var(3));敵の常駐ヘルパーがいるから満たさず。これ以降のTrigger5を読み飛ばす。Var(59)は0のまま
Trigger5 = Var(59) := Var(59)+1
Trigger5 = 0
Trigger6 = Var(3) > 0
Trigger6 = PlayerIDExist(Var(3))
Trigger6 = Var(3-Var(59)) := Var(3) || 1;Var(59)が0なのでVar(3)に現在のVar(3)を代入、つまり変化なし
Trigger6 = PlayerID(Var(3)),MoveType = A
Trigger6 = Var(58) := Var(58)+1
Trigger6 = 0
Trigger7 = Var(4) > 0
Trigger7 = !PlayerIDExist(Var(4));敵のヘルパーがいなくなったから満たす。
Trigger7 = Var(59) := Var(59)+1;Var(59)に1を足す。Var(59)が1になる
Trigger7 = 0
Trigger8 = Var(4) > 0
Trigger8 = PlayerIDExist(Var(4));敵のヘルパーがいなくなったから満たさず。これ以降のTrigger8を読み飛ばす。
Trigger8 = Var(4-Var(59)) := Var(4) || 1
Trigger8 = PlayerID(Var(4)),MoveType = A
Trigger8 = Var(58) := Var(58)+1
Trigger8 = 0
Trigger9 = Var(5) > 0
Trigger9 = !PlayerIDExist(Var(5));敵のヘルパーが残っているから満たさず。これ以降のTrigger9を読み飛ばす。Var(59)は1のまま
Trigger9 = Var(59) := Var(59)+1
Trigger9 = 0
Trigger10 = Var(5) > 0
Trigger10 = PlayerIDExist(Var(5))
Trigger10 = Var(5-Var(59)) := Var(5) || 1;Var(59)が1なのでVar(4)に現在のVar(5)を代入、2行前を満たしているから代入する数値は0より大きい
Trigger10 = PlayerID(Var(5)),MoveType = A
Trigger10 = Var(58) := Var(58)+1
Trigger10 = 0
いなくなった敵ヘルパーがVar(4)の1つだけだった場合はVar(59)が1のまま最後まで実行されて
Var(5)にVar(6)を、Var(6)にVar(7)を、Var(7)にVar(8)を代入してVarRangeSetでVar(8)〜Var(8)を0に、って仕組みなんだけど…
追加する記述に関してはv = var(57)という書き方じゃVar(57)に格納されている数字に対応するVarを弄ることになるからVar(0)が変わっちゃうよ
Var(57)は一度も弄ってないから0になってるだろうし
trigger8のVar(2)はVar(8)の書き換え忘れかな
9
:
ケットシー
:2012/09/16(日) 22:49:37
本体の-2ステートのvarsetがヘルパーの変数にも影響する場合ってありましたっけ?
10
:
blank
:2012/09/16(日) 23:01:46
常時監視は本体用って訳じゃないよ
-2ならHelperType=Playerのヘルパーも実行する
11
:
ケットシー
:2012/09/19(水) 16:40:15
var(5)がそのままな理由はわかりませんが打撃ヘルパーの検出には成功しました。
親ヘルパーに
[State ];打撃、投げヘルパー検知
Type = ParentVarSet
trigger1 = PlayerID(Var(1)),hitdefattr = SCA,AA,AT
trigger2 = PlayerID(Var(2)),hitdefattr = SCA,AA,AT
trigger3 = PlayerID(Var(3)),hitdefattr = SCA,AA,AT
trigger4 = PlayerID(Var(4)),hitdefattr = SCA,AA,AT
trigger5 = PlayerID(Var(5)),hitdefattr = SCA,AA,AT
trigger6 = PlayerID(Var(6)),hitdefattr = SCA,AA,AT
trigger7 = PlayerID(Var(7)),hitdefattr = SCA,AA,AT
trigger8 = PlayerID(Var(8)),hitdefattr = SCA,AA,AT
var(27) = 1
[State ]
Type = ParentVarSet
trigger1 = (PlayerID(Var(1)),hitdefattr = SCA,AP)||!PlayerIDExist(Var(1))||PlayerID(Var(1)),MoveType!= A
trigger1 = (PlayerID(Var(2)),hitdefattr = SCA,AP)||!PlayerIDExist(Var(2))||PlayerID(Var(2)),MoveType!= A
trigger1 = (PlayerID(Var(3)),hitdefattr = SCA,AP)||!PlayerIDExist(Var(3))||PlayerID(Var(3)),MoveType!= A
trigger1 = (PlayerID(Var(4)),hitdefattr = SCA,AP)||!PlayerIDExist(Var(4))||PlayerID(Var(4)),MoveType!= A
trigger1 = (PlayerID(Var(5)),hitdefattr = SCA,AP)||!PlayerIDExist(Var(5))||PlayerID(Var(5)),MoveType!= A
trigger1 = (PlayerID(Var(6)),hitdefattr = SCA,AP)||!PlayerIDExist(Var(6))||PlayerID(Var(6)),MoveType!= A
trigger1 = (PlayerID(Var(7)),hitdefattr = SCA,AP)||!PlayerIDExist(Var(7))||PlayerID(Var(7)),MoveType!= A
trigger1 = (PlayerID(Var(8)),hitdefattr = SCA,AP)||!PlayerIDExist(Var(8))||PlayerID(Var(8)),MoveType!= A
trigger2 = helper(10010),var(58) = 0
trigger2 = var(27) = 1
var(27) = 0
の記述で上手くいきました。
次は設置対策だ!
12
:
ケットシー
:2012/09/19(水) 17:33:21
っと↑の
trigger2 = var(27) = 1
は
trigger2 = root,var(27) = 1
に修正
13
:
ケットシー
:2012/09/19(水) 22:31:49
設置?の大雑把な認識はできました。
[State ];打撃判定の設置足元にある
Type = ParentVarSet
trigger1 = (PlayerID(Var(1)),hitdefattr = SCA,AA,AT)&&PlayerID(Var(1)),vel X = 0
trigger1 = (PlayerID(Var(1)),pos Y > -50)||((PlayerID(Var(1)),CONST(size.height) < 50)&&(PlayerID(Var(1)),statetype!=A))
trigger2 = (PlayerID(Var(2)),hitdefattr = SCA,AA,AT)&&PlayerID(Var(2)),vel X = 0
trigger2 = (PlayerID(Var(2)),pos y > -50)||((PlayerID(Var(2)),CONST(size.height) < 50)&&(PlayerID(Var(1)),statetype!=A))
trigger3 = PlayerID(Var(3)),hitdefattr = SCA,AA,AT&&PlayerID(Var(3)),vel X = 0
trigger3 = (PlayerID(Var(3)),pos y > -50)||((PlayerID(Var(3)),CONST(size.height) < 50)&&(PlayerID(Var(1)),statetype!=A))
trigger4 = PlayerID(Var(4)),hitdefattr = SCA,AA,AT&&PlayerID(Var(4)),vel X = 0
trigger4 = (PlayerID(Var(4)),pos y > -50)||((PlayerID(Var(4)),CONST(size.height) < 50)&&(PlayerID(Var(1)),statetype!=A))
trigger5 = PlayerID(Var(5)),hitdefattr = SCA,AA,AT&&PlayerID(Var(5)),vel X = 0
trigger5 = (PlayerID(Var(5)),pos y > -50)||((PlayerID(Var(5)),CONST(size.height) < 50)&&(PlayerID(Var(1)),statetype!=A))
trigger6 = PlayerID(Var(6)),hitdefattr = SCA,AA,AT&&PlayerID(Var(6)),vel X = 0
trigger6 = (PlayerID(Var(6)),pos y > -50)||((PlayerID(Var(6)),CONST(size.height) < 50)&&(PlayerID(Var(1)),statetype!=A))
trigger7 = PlayerID(Var(7)),hitdefattr = SCA,AA,AT&&PlayerID(Var(7)),vel X = 0
trigger7 = (PlayerID(Var(7)),pos y > -50)||((PlayerID(Var(7)),CONST(size.height) < 50)&&(PlayerID(Var(1)),statetype!=A))
trigger8 = PlayerID(Var(8)),hitdefattr = SCA,AA,AT&&PlayerID(Var(8)),vel X = 0
trigger8 = (PlayerID(Var(8)),pos y > -50)||((PlayerID(Var(8)),CONST(size.height) < 50)&&(PlayerID(Var(1)),statetype!=A))
var(25) = 2
[State ];打撃判定の設置空中にある
Type = ParentVarSet
trigger1 = PlayerID(Var(1)),hitdefattr = SCA,AA,AT&&PlayerID(Var(1)),vel X = 0
trigger1 = PlayerID(Var(1)),pos Y < -50
trigger2 = PlayerID(Var(2)),hitdefattr = SCA,AA,AT&&PlayerID(Var(2)),vel X = 0
trigger2 = PlayerID(Var(2)),pos y< -50
trigger3 = PlayerID(Var(3)),hitdefattr = SCA,AA,AT&&PlayerID(Var(3)),vel X = 0
trigger3 = PlayerID(Var(3)),pos Y< -50
trigger4 = PlayerID(Var(4)),hitdefattr = SCA,AA,AT&&PlayerID(Var(4)),vel X = 0
trigger4 = PlayerID(Var(4)),pos Y < -50
trigger5 = PlayerID(Var(5)),hitdefattr = SCA,AA,AT&&PlayerID(Var(5)),vel X = 0
trigger5 = PlayerID(Var(5)),pos Y< -50
trigger6 = PlayerID(Var(6)),hitdefattr = SCA,AA,AT&&PlayerID(Var(6)),vel X = 0
trigger6 = PlayerID(Var(6)),pos Y< -50
trigger7 = PlayerID(Var(7)),hitdefattr = SCA,AA,AT&&PlayerID(Var(7)),vel X = 0
trigger7= PlayerID(Var(7)),pos Y < -50
trigger8 = PlayerID(Var(8)),hitdefattr = SCA,AA,AT&&PlayerID(Var(8)),vel X = 0
trigger8 = PlayerID(Var(8)),pos Y < -50
var(24) = 2
が、足元の設置を消して空中の設置を出してもvar(25)が2のままという事態が発生しました。(var(24)とvar(25)が一つの設置で同時に2になりといことはありませんでした)
14
:
ケットシー
:2012/09/19(水) 22:32:46
var(25)の初期化に関する記述は
[State ];打撃判定の設置足元にある初期化
Type = ParentVarSet
triggerall = root,var(25) = 2
trigger1 = (PlayerID(Var(1)),pos y < -50)||PlayerID(Var(1)),hitdefattr!= SCA,AA,AT||PlayerID(Var(1)),vel X!= 0
trigger1 = (PlayerID(Var(2)),pos y < -50)||PlayerID(Var(2)),hitdefattr!= SCA,AA,AT||PlayerID(Var(2)),vel X!= 0
trigger1 = (PlayerID(Var(3)),pos y < -50)||PlayerID(Var(3)),hitdefattr!= SCA,AA,AT||PlayerID(Var(3)),vel X!= 0
trigger1 = (PlayerID(Var(4)),pos y < -50)||PlayerID(Var(4)),hitdefattr!= SCA,AA,AT||PlayerID(Var(4)),vel X!= 0
trigger1 = (PlayerID(Var(5)),pos y < -50)||PlayerID(Var(5)),hitdefattr!= SCA,AA,AT||PlayerID(Var(5)),vel X!= 0
trigger1 = (PlayerID(Var(6)),pos y < -50)||PlayerID(Var(6)),hitdefattr!= SCA,AA,AT||PlayerID(Var(6)),vel X!= 0
trigger1 = (PlayerID(Var(7)),pos y < -50)||PlayerID(Var(7)),hitdefattr!= SCA,AA,AT||PlayerID(Var(7)),vel X!= 0
trigger1 = (PlayerID(Var(8)),pos y < -50)||PlayerID(Var(8)),hitdefattr!= SCA,AA,AT||PlayerID(Var(8)),vel X!= 0
trigger2 = helper(10010),var(58) = 0
var(25) = 0
という風になっています。
15
:
blank
:2012/09/19(水) 22:53:15
PlayerID(Var(1))等が存在しない場合の条件を付けておかないと駄目かな
>>14
のTrigger1は1〜8まで全て存在する上で、それらのy座標が-50より大きいか、
打撃や投げを振ってないか、水平方向に速度を持っているかっていう条件だからね
親ヘルパー(10010番ヘルパー自身)に読ませるならTrigger2はリダイレクト使わずににVar(58) = 0で。
あと、親ヘルパーは本体が直接呼び出してると思うけど、
そうでないならTriggerAllのRootリダイレクトはParentリダイレクトに変えないと駄目
16
:
ケットシー
:2012/09/20(木) 23:44:27
>PlayerID(Var(1))等が存在しない場合の条件を付けておかないと駄目かな
成功しました。これで設置の手前で行ったり着たりせずにすみます。
17
:
mas2
:2012/10/31(水) 22:02:19
絵の依頼ってココでできますかね?
家族計画の「広田 寛」を作るんですけど高屋敷家の皆さんとその他をどなたか描いていただけないでしょうか?
富竹やミクみたいにいろんな人が協力していただけると、嬉しいです。m(_ _)m
ヘルパーとして出します。
家計キャラ以外でも、中の人つながりでもネタでもいいので、なにとぞご検討のほどお願いします。
18
:
blank
:2012/11/02(金) 19:46:39
>>17
ドット絵板でも指摘されているようですが、まずはα版なり形になってから募集されるのが一番よいかと思います。
19
:
mas2
:2012/11/02(金) 22:28:21
>>18
そうですね、分かりました。まずはα版まで形にします。
20
:
mas2
:2012/11/07(水) 22:18:25
「広田 寛」α版完成までなんとかたどり着きました。
>>18
様ありがとうございました
本格的に募集したいとおもいます。
家計キャラのストライカーの絵を代わりに描いてくださる方
ご協力の程をおねがいいたしますm(_ _)m
ホントお願いします
ゆっくりでいいので検討の方を・・・
21
:
ケットシー
:2012/12/18(火) 20:00:21
モカにラビキャン的なシステムを搭載しAIにもそれを組み込んでみたのですがなぜか指定範囲外でも暴発・・・
試しに同キャラでF3を押すとSEなりまくってゲージがあっという間にからに・・・
記述は以下の通りになります。
[state -1,ぬこキャンセル]
type = changestate
value = 3300
triggerall = power >= 1000
triggerall = alive
triggerall = movetype!=H
triggerall = var(59) = 1
triggerall = ctrl = 0
trigger1 = stateno = 260;立ち中段
trigger1 = moveguarded
trigger1 = (Random<=var(58)*30)||(var(58)>9)
trigger2 = stateno = 810;投げ成功
trigger2 = AnimElem = 3, < 0
trigger2 = p2life > 300
trigger2 = EnemyNear(var(50)),backedgebodydist <= 130
trigger3 = stateno = 1120||1140;昇竜
trigger3 = moveguarded
trigger3 = (Random<=var(58)*50)||(var(58)>9)
trigger4 = stateno = 1120||1140
trigger4 = AnimElemTime (9) > 0
trigger4 = (EnemyNear,HitDefAttr = SCA,AA,AT,AP)|| var(27) = 1||var(26) = 1||(enemynear(var(50)),NumProj = 1)
trigger4 = inguarddist
trigger4 = (Random<=var(58)*50)||(var(58)>9)
trigger5 = stateno = 260
trigger5 = AnimElemTime (5) < 0
trigger5 = p2stateno = 130
trigger5 = (Random<=var(58)*50)||(var(58)>9)
trigger5 = P2bodyDist X = [-15,25]
trigger5 = var(58)>7
trigger6 = stateno = 810
trigger6 = AnimElem = 3, < 0
trigger6 = p2life > 100
trigger6 = EnemyNear(var(50)),backedgebodydist >= 130
trigger6 = power >= 1800
trigger7 = stateno = 1010
trigger7 = NumHelper(1011) = 0
trigger7 = animelem = 9, > 0
trigger7 = inguarddist
trigger7 = EnemyNear(var(50)),movetype = A
trigger7 = (Random<=var(58)*50)||(var(58)>9)
trigger7 = (EnemyNear,HitDefAttr = SCA,AA,AT)|| var(27) = 1
trigger8 = stateno = 1141||1151
trigger8 = EnemyNear(var(50)),movetype = A
trigger8 = (EnemyNear,HitDefAttr = SCA,AA,AT)|| var(27) = 1||(enemynear(var(50)),NumProj = 0)
trigger8 = (Random<=var(58)*50)||(var(58)>9)
triggerは全てstateno を入れてあるのでところかまわず暴発するはずはないんですが??
22
:
blank
:2012/12/18(火) 21:39:18
Trigger3、Trigger4、Trigger8の各1行目が確実に成立するね、それだと
やるなら
Trigger3 = (StateNo = 1120) || (StateNo = 1140)
みたいにしなきゃ駄目
23
:
ケットシー
:2012/12/19(水) 00:46:25
>22
>Trigger3 = (StateNo = 1120) || (StateNo = 1140)
>みたいにしなきゃ駄目
ご指摘ありがとうございました。
24
:
blank
:2012/12/29(土) 14:56:46
ヘルパーを呼び出し、同じコマンドを入力をすると呼びだしたヘルパーが攻撃するようにしたいのですが、
どのような記述をしたらいいのでしょうか?
25
:
blank
:2013/01/03(木) 16:18:29
[State -1]
Type = ChangeState
Trigger1 = Command = "○○"
Trigger1 = !NumHelper(XXX)
Value = ???
[Statedef ???];本体動作(ヘルパー呼び出し)
Anim = ???
Ctrl = 0
[State ???]
Type = Helper
Trigger1 = !NumHelper(XXX)
Trigger1 = Time = **
ID = XXX
StateNo = !!!
[State ???]
Type = ChangeState
Trigger1 = AnimTime = 0
Value = 0
Ctrl = 1
[Statedef !!!];ヘルパー待機
[State !!!]
Type = ChangeState
Trigger1 = Time > 0
Trigger1 = Root,Command = "○○"
Trigger1 = Root,Ctrl
Value = ###
[Statedef ###];ヘルパー攻撃
例えばこんな感じで
この場合コマンドは常に本体の向き依存だから
ヘルパーの向きに合わせたいならFacing使ってやる必要があるけど
26
:
マーレイ
:2013/01/08(火) 16:03:44
初めまして。初のキャラ制作チャレンジ中なのですが、sndファイルでトラブってます。
MCMで作ったsndファイルを登録するとエラーが出てしまいます。
他キャラのsndファイルを登録したら問題なく動きましたが、他キャラのsndファイルに自前のwavファイルを追加してsndファイルを作ってもエラー、SAEで作ってもダメでした。
エラーメッセージは
"Can't load mitate.snd
Error loading chars/mitate/mitate.def
Error loading p1"
です。
あまり変なwavファイルは使っていないはずですが、wavファイルが壊れているのでしょうか?それとも登録できない番号があるのでしょうか?どなたか御教示ください。
27
:
blank
:2013/01/08(火) 22:48:42
そのwavファイルとMCMの相性が悪いだけだから別のツール使って登録するなり
別のツールでエラーsndを開いて保存し直すなりすれば解消されるはず
それで直らないならwavファイルに原因アリ
MCMは旧世代のツールだから新しく製作始めたい人には正直お勧めしない
sffとsndは不具合多いから、MCM使い慣れた俺でもair以外はSAMに鞍替えしたし
airも慣れてなきゃ使ってられないレベルだよ
28
:
マーレイ
:2013/01/09(水) 17:24:29
相性なんてあったんですね・・・
とりあえずSndEditorも使ってみましたがダメだったのでWAVファイル見直してみます。
他のエディタに関してはSAMを使ってみることにします。
ありがとうございました。
29
:
blank
:2013/02/15(金) 21:53:51
食らった攻撃が打撃か飛び道具か投げかを判断するにはどうすればいいのでしょうか?
30
:
blank
:2013/02/16(土) 01:25:49
トリガーでenemynear,hitdefattrと指定すると相手の出した攻撃の属性が分かる。
enemynear,hitdefattr = SCA,AAなら全ての攻撃(投げと飛び道具を除く)、enemynear,hitdefattr = SCA,ATなら全ての投げ。
Statedef -2で上のトリガーと変数を使って敵の攻撃属性を監視しておけば、攻撃を喰らった瞬間にその攻撃が打撃か投げか判断できる。
ただしこの方法だと、「enemynear,」は一番近くの敵本体という意味になるので、
飛び道具やヘルパーを使った同時攻撃、またはタッグ戦で属性を精密に判別できない。できる方法があるのかもしれないが私では説明できない。
とりあえず簡単な方法を参考程度に。
31
:
blank
:2013/02/16(土) 21:52:43
HitOverrideを2つ用意して
片方はSlot=0でAttr=SCA,AAでStateNo=5025
もう片方はSlot=1でAttr=SCA,APでStateNo=5026
みたいにパラメータ設定して
5025や5026にはステートの最初にMoveType=Hを置いておく
5025では適当なVarに適当な値を格納して(打撃を喰らったフラグON)5000や5020や5070へChangeState
5026では適当なVarに適当な値を格納して(飛び道具を喰らったフラグON)5000や5020や5070へChangeState
本来の喰らいステートの前に5025か5026を経由して判別する感じ
どちらのフラグも立たなかったら投げってことで
まあこの方法はP2StateNo付きのHitDef効かなくなるし常時展開するのはお勧めできない
攻撃で潰せるストライカーとか身代わりの術みたいな技に限って組み込むならいいと思うけど
32
:
blank
:2013/02/20(水) 22:51:05
>>30
,
>>31
遅くなりましたがお二人共ありがとうございます。
参考になりました!
33
:
ケットシー
:2013/03/22(金) 00:16:58
有利ステートがとれるダウン引き起こし技(早い話が「まだお」)の終わり際5Fを必殺技でキャンセルできるようにしたいのですがどうも上手くいきません。
State -1, 変数の例2];必殺技の発生条件をチェック
type = VarSet
triggerall = statetype != A
trigger1 = ctrl||stateno = 11
trigger2 = (stateno = [200,270]) || (stateno = [400,499])
trigger2 = movecontact
trigger3 = stateno = 1111
trigger3 = AnimElemTime (6) >= 0;ここより下
trigger4 = stateno = 1211
trigger4 = AnimElemTime (6) >= 0
trigger5 = stateno = 281
trigger4 = AnimElemTime (6) >= 0
var(1) = 1
という記述したのですがキャンセルできていません。この他にもtimeやanimtimeでも試してみたのですが上手くいきません。
34
:
ケットシー
:2013/03/22(金) 12:29:21
すいません自己解決しました。超必殺技専用の変数管理とtoriggerがかぶっていたのが原因だったようです。
35
:
ケットシー
:2013/03/22(金) 22:52:34
空中技のステートで何故かair一枚目で固まるという減少が発生しています。人操作だとなんともないのですが何故かAIだとバグります。
ただ、バグっても落下中にのこりの動作がはじまったりします。一枚目の表示時間は3FしかないはずでSAEでAIRファイルを再生するぶんには問題がありません。
一応CNSとCMDを張って置きます。どなたかアドバイスを頂けると助かります。
;ジャンプ強爪
[Statedef 640]
type = A
movetype= A
physics = A
juggle = 1
poweradd= 0
ctrl = 0
anim = 640
sprpriority = 2
facep2 = 0
[State 640, 音を鳴らす]
type = PlaySnd
trigger1 = Time = 9
value = 0, 1
[State 400]
type =Explod
trigger1 = time = 13
trigger1 = NumExplod(10026) < 1
Anim = 10026
ID = 10026
postype = p1
pos = 0,0
SprPriority = 3
scale = 0.25,0.25
BindTime = -1
RemoveTime = 10
OwnPal = 1
RemoveOnGetHit = 0
ignorehitpause = 1
[State 640, ヒット定義]
type = HitDef
trigger1 = AnimElem = 4, >= 0 && AnimElem = 5, < 0
attr = A, NA
damage = Floor(75*fvar(0)), 0
guardflag = HA
getpower = 80,0
priority = 4
pausetime = 20,20
sparkno = 1
sparkxy = -10,-40
hitsound = s200,7
guardsound = s201,5
animtype = Med
ground.type = High
ground.slidetime = 12
ground.hittime = 12
guard.hittime = 2
ground.velocity = -1.2,-6.5
air.velocity = -1.5,-6
air.hittime = 20
fall = 1
air.fall = 1
fall.recovertime = 50
guard.velocity = -2.5
persistent=0 ;これでステート中一回しか発動しない。
[State 240]
type =Explod
trigger1 = movehit= 1
trigger1 = NumExplod(10021) < 1
trigger1 = (AnimElemTime (4) >= 0) && (AnimElemTime (5) < 0)
Anim = 10021
ID = 10021
postype = p1
pos = 30,-60
SprPriority = 3
scale = 0.25,0.25
BindTime = -1
RemoveTime = 24
OwnPal = 1
RemoveOnGetHit = 0
ignorehitpause = 1
36
:
ケットシー
:2013/03/22(金) 22:55:06
続いてCMDです。
[State -3,空中強]
Type = ChangeState
value = 640
TriggerAll=var(59) = 1 && RoundState = 2
TriggerAll=StateType=A
TriggerAll=EnemyNear(var(50)),StateType != L
triggerall = var(9) = [0,14];juggle
triggerall = p2stateno!= var(52) && var(52) > 0||var(52) = 0;当身ステート
triggerall = p2stateno!= var(51) && var(51) > 0||var(51) = 0
trigger1 = var(21) =0;コンボ管理用変数
trigger1 = ctrl
trigger1 = P2BodyDist X =[-40,80]
Trigger1 =P2BodyDist Y =[-45,42]
Trigger1 = Random <= var(58)*(30-var(38)*5)
trigger2 = stateno = 610
trigger2 = movehit
trigger2 = P2BodyDist X =[-40,50]
trigger2 = (fvar(5) = 0.3)||(var(23)=0);同技補正とパワーアップ管理変数
trigger3 = ctrl
trigger3 = P2BodyDist X =[-40,60]
Trigger3 =P2BodyDist Y =[-52,62]
trigger3 = p2movetype = H
trigger3 = var(21) =0
trigger4 = var(21)>0
trigger4 = vel Y > 0
trigger4 = P2BodyDist Y = [-45,50]
trigger4 = P2BodyDist X =[-40,60]
trigger4 = EnemyNear(var(50)),movetype =H
trigger5 = stateno = 610
trigger5 = movehit
trigger5 = EnemyNear(var(50)),StateType!= A
trigger5 = (var(23)=0)||(fvar(5)!=1)
trigger6 = ctrl
trigger6 = var(20)=7
trigger6 = P2BodyDist Y = [-55,50]
trigger6 = P2BodyDist X =[-40,60]
37
:
ケットシー
:2013/03/23(土) 01:47:08
追記
録画してみてみたのですがtimeが0のままになっていました。
38
:
ケットシー
:2013/03/23(土) 21:49:09
すいません二回連続自己解決しました。trigger4にctrlが入っていなかったためひたすら640へチェンステし続けてたのが原因でした。
39
:
Azuma
:2013/05/05(日) 18:32:36
鬼武者の魂エフェクト(へルパー管理)を作りたいのですが
※参考ムービー ttp://www.nicovideo.jp/watch/sm520983
①相手を攻撃した場所(X座標のみ読み取り)から発生
②画面内ではなくステージ内で一定時間存在する
③発生後、消滅まで蛍っぽい動き方をする(一定範囲をランダムor数パターンでふよふよと浮遊して動く)
④本体の特定アクションに反応して、本体の指定座標へと動く(本体が吸い込むイメージ)
このうち、③の「蛍っぽいふよふよしたランダムorパターン挙動」
及び④の「本体の指定座標へと動く」のvel系ステコンを作れませんでした。
参考になるキャラがいたら、それをベースに作るなどの手段を考えているのですが見つかっていません。
可能であれば記述それ自体を教えて下されば理想ですが
もしくは、参考になるキャラデータの紹介をお願いしたいです。
40
:
blank
:2013/05/07(火) 22:35:22
東方の「魂魄 妖夢」は半霊という「本体を追尾する」「ふよふよした」オプションを連れています。
クロガネ氏が原作再現キャラを作成していてダウンロード可能なので参考にしてはいかがでしょうか?
41
:
blank
:2013/05/14(火) 20:20:59
すいません、初心者なんですけどここってCNS代行をお願いできますか?
42
:
blank
:2013/05/15(水) 00:41:29
ドッターなら「こういうキャラ描いてるんでプログラマー募集します」的なのを
どっちかの絵板に貼れば、ドット打てないけどCNS組めるって人が名乗りを上げるかもしれないよ
箱レンとかそういうタイプだった気がするし
ここはどっちかというと、自分で記述組んでるけど上手くいかない部分があるから解決策が欲しい
って人にアドバイスするのがメインだから、そういう呼びかけには適さないと思う
ここ見てる人自体そんなに多くなさそうだし
43
:
blank
:2013/05/15(水) 12:58:12
>>41
【同人ゲーム】MUGENキャラ作ろうぜ!スレあたりはどうかな?
42の云うとおり、具体的に○○なキャラ作ってますorサンプル絵提示すると
更に良いかも知れないよ
44
:
blank
:2013/05/15(水) 16:56:52
>>42
>>43
返信ありがとうございます。
そんなスレがあったんですね、了解しました。のぞいてみますね。
45
:
Azuma
:2013/05/19(日) 18:20:39
>>40
参考にしてみます、ありがとうございます。
御礼遅れました。
サキエルのオプション火の玉も参考になりそうなので、見てみることにします。
46
:
flax
:2013/05/23(木) 16:22:04
すんません、非常に間抜けな質問なんですが…
ヘルパーを出して、それにエフェクトを出させて、本体の方でvarの数値を変更したらエフェクトを消してヘルパーも消す、っていう処理をさせたいんですが、
[State -2, エフェクト消去]
type = RemoveExplod
trigger1 = var(21)!= 1
ID = 12000
と記述してもエフェクトを出した瞬間に消してしまいます
デバッグ情報ではちゃんとvarそのものは1になっているんですが…
47
:
blank
:2013/05/23(木) 23:49:58
Trigger1 = Parent,Var(21) != 1
だね
本体とヘルパーは別々に変数管理してるから
本体のvarを見てヘルパーが行動を起こすって場合にはParentリダイレクトが必要
48
:
flax
:2013/05/25(土) 02:28:53
>>47
ありがとうございます!
こんな簡単な事に気付かなかったとは…
49
:
blank
:2013/08/27(火) 16:03:44
ステートを奪って地面に接触するとバウンドする技が作りたいのですが、
どの様な記述をすればいいのでしょうか?
カンフーマンの壁バウンドを参考にしようと思ったのですが、壁バウンドにしかならないので…。
50
:
blank
:2013/08/27(火) 23:20:40
5050の空中喰らい落下から始まって5100〜5101が床バウンド、5110が床ダウンのステートだから参考に。
基本的にPos y>=0とVel y>0でPosSetとVelSetとChangeAnimで床衝突、
AnimTime等でタイミング図ってVelSetとChangeAnimで跳ね上がり、
あとはVelAddやGravityで重力かけつつ再度Pos y>=0とVel y>0で床ダウン
って流れ。
Common1.cns見て記述を理解しながら書いた方がいいと思うよ
51
:
MANDA
:2013/09/16(月) 17:30:23
初めまして、MANDAというものです。最近MUGENでキャラ作りを始めたのですが、
ヘルパーが思うように消滅してくれなくて困っています。ちなみにそのヘルパーとは、
KFMを改造してお辞儀をするたびに本体の動きとシンクロするKFMが沸いてきて
、その沸いてきたKFMは攻撃を受けると消滅する・・・という感じにしたいんです。
しかし攻撃を受けると、なぜか消滅せずに判定が残ったまま固まるという現象が、
分身だけでなく、本体にも起こります。どうすればちゃんと消えてくれるのでしょうか?
CNSの記述も書いたほうがいいでしょうか?
52
:
blank
:2013/09/17(火) 23:15:49
statedef 5000が無い(or無関係なステートと番号被ってる)んでしょうな
53
:
blank
:2013/09/17(火) 23:19:10
書き忘れたけど5000とかはCommon1.cnsに最初からあるから
特に弄ってなければ5000が無いってことはないと思う
54
:
MANDA
:2013/09/18(水) 21:54:57
Common1.cnsとかは特にいじってないですね
ちなみにCNSに書き込んだヘルパーのステートは以下のとおりです
[Statedef 6000]
type = S
movetype = A
physics = S
anim = 195
[State 6001]
type = Helper
trigger1 = time = 10
helpertype = normal
name = "bunsin"
ID = 200
stateno = 40
pos = 60,-120
postype = p1
facing = 1
supermovetime = 0
pausemovetime = 0
keyctrl = 1
[State 6001,攻撃を受けたときの処理]
type = HitOverride
trigger1 = time = 0
attr = SCA, NT, ST, HT, NA, SA, HA,NP,SP,HP
stateno = 6002
Time = -1
ForceAir = 0
[State 6002, ヘルパー消滅]
type = DestroySelf
anim = 40
trigger1 = Animtime =0
[State 1010,1]
type = changestate
trigger1 = time = 30
value = 10
ctrl = 1
ステート6000台がなんかのステートと被ってるか
単純に何かが抜けているのどっちかですかね?
記入漏れがあるなら教えていただけるとありがたいです
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板