NEW  |  HOME  |  OLD

トリガーを満たしたことによりミスのあるステコンが実行されたことによるエラー

1/12
00:04 (hitachi) あー思い出したイブリースで落ちる問題だ
00:05 (hitachi) なんかやたらイブリース相手に落ちるんですけどなんか原因に心当たりとかありませんか?
00:05 (hitachi) エラメ無しで落ちます
00:05 (okihaito) まずイブリース以外で落ちるかどうかですな
00:05 (hitachi) 基本的に他では落ちません
00:06 (okihaito) 基本イブには落ちるような記述は無かった筈だし
00:06 (okihaito) んー じゃあ特定の技で落ちるかどうか
00:06 (emeru_) 140に篭って落ちた事ならある
00:07 (hitachi) 140に篭ったりはしてないです
00:09 (okihaito) フリーズか無限ループかによるな
00:10 (okihaito) 一度止まってしばらく放置し強制終了のメッセージ出る?
00:10 (hitachi) どういうことですか
00:11 (okihaito) 140及び52の無限ループだと強制終了のメッセージ出ないんですよ
00:11 (hitachi) プログラムの終了のメッセージは出ます
00:11 (okihaito) なら無限ループではないね
00:12 (okihaito) 消去召喚かもしれん
00:12 (okihaito) それには注意してる?
00:13 (hitachi) タゲステ先のexplodとhelperには全部PlayerIDExist(ID)
00:13 (hitachi) ついてます
00:13 (okihaito) タゲステだけでなく全部やった方が良いが…
00:14 (okihaito) 消去召喚では無いのね
00:14 (okihaito) 無限召喚はやってないよね?
00:14 (hitachi) 大丈夫です
00:15 (okihaito) んー 他にフリーズ要因何があったかな
00:16 (okihaito) angledrowはまず無いしな
00:16 (hitachi) 変数弄りで不正な代入やっちゃってるのかな
00:17 (okihaito) valueにtargetリダイレクト使ってますかね?
00:18 (hitachi) 使ってないはずです
00:18 (hitachi) 使ってたらイブリース以外でも落ちますし
00:18 (okihaito) イブリースでのみたまたま起きてるかもしれないよ?
00:19 (hitachi) 混線を完全に封印したら落ちる様子はないみたいです
00:19 (okihaito) なら混線処理に原因ありそうね
00:21 (eta_) すみません、5150ステ固定をする時の混線が機能しないのは被弾ヘルパーにオーバーライドを付けてるのが原因だという事は分ったのですが、
00:22 (okihaito) イブリースの常時監視には異常は無いね やっぱりどこかミスってる筈
00:23 (eta_) 付ければ混線が機能しないけど5150に固定され相手はAI殺しが出来、付けなければ混線が機能するが最終的に5150に固定されないみたいでAI殺しが出来ない、これはどうすればいいでようか;
00:24 (okihaito) 被弾ヘルパー消してるよね?
00:24 (okihaito) タゲ生成後ね
00:25 (okihaito) AI動いてるのは全てのプレイヤーが5150に居ないか凍結維持しちゃってるかのどっちかですな
00:26 (eta_) すみません、開幕時のではなく試合中に必要なな被弾ヘルパーの事です
00:26 (eta_) 凍結維持でAIが解除?
00:26 (okihaito) ? その被弾ヘルパーも5150固定でいけるはずだが
00:26 (hitachi) んー?変数弄り臭いなあ
00:27 (okihaito) 凍結維持すると5150のAI封殺が機能しないのよ
00:27 (okihaito) 何故かP2感知されちゃう
00:28 (eta_) そうですか、どうりで上手く行かなかったわけですね、もともとhitdefを使うヘルパーは5150
00:28 (eta_) 5150固定時のみhitdefを使用しないようにしてました
00:28 (okihaito) 凍結しなければ良いはず
00:31 (okihaito) あと5150固定でも常時AIの敵は動いたりするから注意ね
00:32 (eta_) もしかして混線のprojに相手にも1か2Fだけ固まるようヒットポーズを入れてあったのですがこれですか?
00:32 (okihaito) それは関係ないかな
00:33 (okihaito) projにhitpause付けても固まるのはprojなんで
00:33 (okihaito) 相手のシェイクタイムはそもそも関係ないし
00:34 (eta_) そうでsitaすか・・・
00:34 (eta_) そうでしたか
00:36 (hitachi) なんだろう変な弄り方だと落ちるのかな
00:38 (okihaito) 弄り方ね…
00:39 (okihaito) G-Test3P相手でも落ちるかな?
00:40 (okihaito) 3Pより6Pあたりのが耐性的に良いか
00:40 (hitachi) あ、落ちた
00:40 (hitachi) ほぼイブリースと同じタイミングです
00:41 (hitachi) イブリースで落ちる時の
00:41 (okihaito) 弄り方悪いね 絶対ミスってるとしか言えないのう
00:41 (hitachi) 今やってるのは
00:41 (hitachi) [state var弄り]
00:41 (hitachi) type = parentvarset
00:41 (hitachi) triggerall = ishelper
00:41 (hitachi) triggerall = root,Alive
00:41 (hitachi) triggerall = parent,ID = root,ID
00:41 (hitachi) trigger1 = gametime % 10 =[0,3]
00:41 (hitachi) var(0) = ifelse(gametime%2=0, playerID(enemy,var(56)),var(0) ,ifelse(random%2=0, ifelse(random%2=0,0,lifemax) ,ifelse(random%2=0,2147483647,-2147483647)))
00:41 (hitachi) ignorehitpause = 1
00:42 (okihaito) G-testはどう変数弄られても落ちないからなぁ
00:42 (ni-san) いじりすぎwww
00:42 (okihaito) 多分別のとこじゃないかね?
00:43 (hitachi) var(-1)とか指定すると落ちますよね
00:43 (okihaito) その変数弄りoffにしても落ちそう
00:43 (okihaito) 範囲外は警告出るだけだったような
00:44 (emeru_) fvar(40)とか良い例だったり?
00:45 (hitachi) あーやっぱり
00:46 (hitachi) [state ,パンドラキラー改]
00:46 (hitachi) type = parentvarset
00:46 (hitachi) trigger1 = ishelper
00:46 (hitachi) trigger1 = var(playerID(enemy,var(55)),sysfvar(0)) != -1
00:46 (hitachi) trigger1 = parent,ID = root,ID
00:46 (hitachi) var(playerID(enemy,var(55)),floor(sysfvar(0))) = root,stateno
00:46 (hitachi) ignorehitpause = 1
00:46 (hitachi) これっぽい
00:47 (okihaito) その変数弄りにも問題なさそうだが…
00:47 (hitachi) これ以外の変数弄りを全部消しても落ちます
00:48 (okihaito) その変数弄りoffだと落ちない?
00:49 (hitachi) あれ?落ちた?
00:49 (okihaito) ほらね
00:49 (okihaito) 絶対のほかの場所だって
00:50 (hitachi) 毎回変数弄り開始とほぼ同時に落ちてるんですよねえ
00:51 (okihaito) その変数弄り処理のどこかにミスある筈
00:51 (ni-san) この変数いじり間者も受けない?w
00:51 (okihaito) 普通の混線処理は大丈夫なんでしょ?
00:51 (ni-san) 間者回避があるように見えん…w
00:51 (okihaito) 間者はどうでも良いんだろう
00:52 (hitachi) 変数弄り用の別のステートに飛ばしてます
00:52 (ni-san) なんか無限ループしてそう
00:52 (okihaito) そこに移動したら落ちると?
00:53 (hitachi) 移動したら落ちてます
00:54 (okihaito) その変数弄りステートで怪しいところをチェックじゃ
00:54 (hitachi) いや違う
00:55 (okihaito) じゃあ変数弄り処理のステート一回null1コだけで
00:56 (hitachi) 変数弄りステートに飛ばすヘルパーの判断用のステコンが原因だ
00:57 (hitachi) 変数弄りするのは1つだけヘルパーあればいいんで
00:57 (hitachi) explod吐かせてそれを判断に使ってたんですけど
00:58 (ni-san) りむーぶえくすぷろーどでもしてん
00:58 (okihaito) そのexplodで消去召喚か?
00:58 (okihaito) 或いは無限召喚
00:59 (hitachi) [state ,変数弄りヘルパー確保]
00:59 (hitachi) type = explod
00:59 (hitachi) triggerall = roundstate = 2 && enemy,var(54) > 2000 ;変数弄りは2000F経過してから
00:59 (hitachi) triggerall = roundstate = 2 && enemy,var(54) % 300 = [0,99];300Fのうち100Fは猶予を
00:59 (hitachi) triggerall = ishelper
00:59 (hitachi) triggerall = !numexplod(654654654)
00:59 (hitachi) triggerall = !root,numprojID(654654654)
00:59 (hitachi) triggerall = PlayerIDExist(ID)
00:59 (hitachi) trigger1 = parent,ID = root,ID
00:59 (hitachi) ID = 654654654
01:00 (hitachi) anim = root,anim
01:00 (hitachi) pos = 10000,10000
01:00 (hitachi) scale = 0,0
01:00 (hitachi) removetime = 100
01:00 (hitachi) supermovetime = 9999999999999
01:00 (hitachi) pausemovetime = 9999999999999
01:01 (okihaito) removetime設定してるけどわざとか?
01:01 (ni-san) 100Fごとに変数ヘルパー確保することになる脳w
01:01 (hitachi) 100
01:02 (hitachi) あーそうか変数弄りステートへのchangestateではじけばいいのか
01:03 (okihaito) そもそもこのexplodは何のために出してるか予測しかつかんからなんとも
01:03 (hitachi) このexplodを持ってたら変数弄りすて
01:03 (YANMAR) explodの有無じゃなくてchangestate時に判別すればいいからのぅ
01:03 (hitachi) ステートにchangestate
01:03 (hitachi) ってやってるんですが
01:05 (okihaito) explod保持で分ける利点がわかんねぇw
01:06 (hitachi) タゲステ先の最後のdestroyselfから救済するために…
01:06 (okihaito) 折角奪ったのに即行消すのか
01:07 (okihaito) 勿体ないな
01:07 (hitachi) どうせ間者出すしいいかなーと
01:07 (okihaito) 本体変数は間者からはいじれんぞ
01:07 (YANMAR) 弄るのが1Fだけとか不安定そうだなぁ
01:08 (hitachi) なので本体変数弄りができるヘルパーをexplodで判断して救済してます
01:09 (okihaito) parent,id!=root,idで消すの防げば良さそうな話だが…
01:09 (okihaito) ほぼ無条件で消してるのか?
01:09 (hitachi) 下手に埋まると自殺しかねない構造なんで極力埋まらないようにしてます
01:10 (okihaito) どういう構造だよw
01:10 (okihaito) んー 混線処理は個性みたいなものだからとやかくは言わんが…
01:11 (okihaito) フリーズの件は解決したんか?
01:11 (hitachi) 変数弄りのミスで落ちてるということがわかって今それを直してる最中です
01:13 (okihaito) ん?まだ原因完全には判明してないような
01:13 (hitachi) だいたいの目星はついたんで
01:17 (okihaito) めもには載ってない事かもしれんから原因突き止めてどういうのか教えて欲しいんだがねぇ
01:21 (hitachi) [state ,変数弄りヘルパー確保]
01:21 (hitachi) type = explod
01:21 (hitachi) triggerall = ishelper
01:21 (hitachi) triggerall = !numexplod(654654654)
01:21 (hitachi) triggerall = !root,numprojID(654654654)
01:21 (hitachi) triggerall = PlayerIDExist(ID)
01:21 (hitachi) trigger1 = parent,ID = root,ID
01:21 (hitachi) ID = 654654654
01:21 (hitachi) anim = root,anim
01:21 (hitachi) pos = 10000,10000
01:21 (hitachi) scale = 0,0
01:21 (hitachi) removetime = -1
01:21 (hitachi) supermovetime = 9999999999999
01:21 (hitachi) pausemovetime = 9999999999999
01:21 (hitachi) よーわからんけどこれのせいで落ちるのは間違いない
01:22 (okihaito) removeexplodやってたりする?
01:22 (hitachi) してません
01:22 (okihaito) んー…?
01:24 (okihaito) 変数弄りへのchangestateのトリガーなんだよね?
01:24 (okihaito) changestateをoffにしても落ちるん?
01:24 (hitachi) はい
01:24 (okihaito) え?offでも落ちるのか
01:25 (YANMAR) うーん、なんだろ…root,animでも大丈夫とは思うんだけど…
01:25 (YANMAR) イグノアの有無もそこまでないだろうしなぁ
01:25 (hitachi) あ、ignorehitpauseはコピペ漏れです
01:26 (okihaito) 他の処理見ないと解らんね
01:26 (ni-san) イブ子がリムーブしてんじゃねえの
01:26 (okihaito) ステート奪ってるしG-testでも落ちるみたいだからそれはない
01:27 (okihaito) とりあえずそのexplodだけではわからん
01:29 (emeru) explodの上にDestroySelf置いてたりは?
01:29 (okihaito) 自己存在チェック入れてるから消去召喚ではない
01:31 (okihaito) このexplod出さなくても落ちそうな勢いだの
01:32 (hitachi) そのexplodさえなければ落ちないんですよねえ
01:32 (ni-san) あおがんしいなそうだなぁ
01:33 (hitachi) そのへんで関係ありそうなのといえば
01:33 (hitachi) [state ,変数弄りヘルパー確保]
01:33 (hitachi) type = null;explod
01:33 (hitachi) triggerall = ishelper
01:33 (hitachi) triggerall = !numexplod(654654654)
01:33 (hitachi) triggerall = !root,numprojID(654654654)
01:33 (hitachi) triggerall = PlayerIDExist(ID)
01:33 (hitachi) trigger1 = parent,ID = root,ID
01:33 (hitachi) ID = 654654654
01:33 (hitachi) anim = root,anim
01:33 (hitachi) pos = 10000,10000
01:33 (hitachi) scale = 0.1,0.
01:33 (hitachi) removetime = -1
01:33 (hitachi) supermovetime = 9999999999999
01:33 (hitachi) pausemovetime = 9999999999999
01:33 (hitachi) [state ,変数弄りヘルパー確保完了フラグ]
01:33 (hitachi) type = projectile
01:33 (hitachi) triggerall = ishelper
01:33 (hitachi) triggerall = numexplod(654654654)
01:34 (hitachi) triggerall = !root,numprojID(654654654)
01:34 (hitachi) triggerall = PlayerIDExist(ID)
01:34 (hitachi) trigger1 = parent,ID = root,ID
01:34 (hitachi) attr = S,HP
01:34 (hitachi) projID = 654654654
01:34 (hitachi) hitflag = MAFD
01:34 (hitachi) projanim = root,anim
01:34 (hitachi) offset = 0,0
01:34 (hitachi) supermovetime = 9999999999999
01:34 (ni-san) なにそれこわい
01:34 (okihaito) つか混線処理のステート全部見せられますかね? 長いならtxtを記事とかに
01:34 (YANMAR) フラグおおくねw
01:35 (ni-san) このprojなんかに当たりそうで超怖いw
01:35 (YANMAR) root,animだしなw
01:37 (okihaito) スケールの指定も少し変な気がするけど関係ないね
01:37 (YANMAR) offsetは…まぁいいか
01:39 (hitachi_) http://
01:43 (okihaito) んー…
01:44 (okihaito) ぱっと見変なとこは無いな
01:47 (hitachi_) もう普通に変数弄りやったほうがいいですよね
01:47 (okihaito) もうスケール指定部分しかわからん
01:48 (hitachi_) scaleは0じゃなくても落ちました
01:48 (okihaito) 0.1,0.ってとこ でも落ちないと思うんだけどなー
01:49 (okihaito) explodステコン消したら落ちないんだよね?
01:49 (hitachi_) はい
01:49 (okihaito) オプションパラメータID以外消しても落ちる?
01:50 (okihaito) IDと必須パラメータね
01:50 (okihaito) 確かアニメが必須だっけか
01:52 (okihaito) むむむ…ならトリガーを自己存在確認と!numexplodのやつだけにしてみて
01:53 (okihaito) あとラベルは[state ]だけに
01:53 (emeru) いま、オリキャラに移植してみた 確かに落ちるなぁ・・
01:54 (hitachi_) [state ]
01:54 (hitachi_) type = explod
01:54 (hitachi_) triggerall = !numexplod(654654654)
01:54 (hitachi_) trigger1 = PlayerIDExist(ID)
01:54 (hitachi_) ID = 654654654
01:54 (hitachi_) anim = root,anim
01:54 (hitachi_) これだけでも落ちます
01:54 (hitachi_) これをnullにしたら落ちません
01:55 (okihaito) はぁ?
01:55 (okihaito) んー ちょっと待って 虚無に移植して色々やってみる
01:55 (DRM) Animを200とかに指定してやっても落ちますか?
01:57 (hitachi_) 0でも落ちます
01:57 (hitachi_) ちなみに相手はG-test3Pです
01:57 (ni-san) どっかで自分でリムーブしてるとしか思えん…
01:59 (emeru) あ、原因判明したかも
02:01 (emeru) 試しにそのexplod出してても良いんで、デバッグ表示nullっても落ちないかな
02:02 (hitachi_) 落ちない…だと…
02:02 (emeru) ふむ、やっぱり
02:03 (hitachi_) あー
02:03 (hitachi_) [state ]
02:03 (hitachi_) type = null;displaytoclipboard
02:03 (hitachi_) trigger1 = !(ishelper(654654000) || ishelper(654654001))
02:03 (hitachi_) text = "pos x:%.0f pos y:%.0f P-ID:%d R-ID:%d %setvar:d\n"
02:03 (hitachi_) params = pos x , pos y ,parent,ID, root,ID,numexplod(654654654)
02:03 (hitachi_) ignorehitpause = 1
02:03 (emeru) ああ、それそれ
02:04 (hitachi_) なんでこんなところに%があるんだよ
02:04 (okihaito) デバックェ…
02:04 (hitachi_) それのせいでヘルパーが侵入した瞬間落ちたんだ
02:04 (okihaito) .0何故入れたし
02:05 (hitachi_) %.0fじゃなくて %setvar:d\nが原因ですが
02:05 (okihaito) フリーズするのな 警告出せよ
02:05 (hitachi_) %sって書式指定子にあるんで
02:06 (hitachi_) 文字列を出力だけどMUGENではエラーだったかな
02:06 (okihaito) dとfしかつかわんからなぁ
02:07 (okihaito) それに%打つときは注意するし
02:07 (okihaito) 気づかんかったわ
02:07 (hitachi_) はい、お騒がせして申し訳ありませんでした
02:08 (okihaito) まぁ解決して何より
02:08 (YANMAR) だのぅ、意外過ぎて完全に想定外だったw
02:08 (YANMAR) エメルちゃんナイス過ぎる
02:09 (emeru) 黙々とやってましたw
02:09 (hitachi_) えーこれでもイブリース以外でも落ちるはずなんだけどなあ
02:09 (hitachi_) ああそうかだからG-testで落ちたのか
02:10 (hitachi_) 今までテストに使ってたキャラはだいたい2000F以内に倒せてたから気づかんかったのか
02:10 (okihaito) 変数弄りステートへ飛んだら戻って来ないのもあるね
02:10 (okihaito) あのchangestate以降読み込まないし
02:11 (hitachi_) 戻したらループして2500エラーになるのが
02:11 (okihaito) トリガーで制限すれば良いだろ!
02:11 (okihaito) prevstatenoはループ防止に役立つよん
02:12 (hitachi_) ああprevstateno!=755755755みたいにすればいいのか
02:13 (okihaito) 終了処理を個別にわけて準ステ固定でもおk
02:13 (okihaito) んで変数弄ったあと終了処理って感じにね
02:14 (okihaito) 変数弄らなくても終了処理に飛ばす
02:16 (okihaito) この件はどうメモろうかねぇ
02:17 (hitachi_) 「デバッグで使えない書式指定子」じゃないですかね
02:17 (hitachi_) 便覧にあったはず
02:17 (okihaito) ふむ DTCには疎いんだよなぁ
02:20 (hitachi_) あーそうだ
02:21 (hitachi_) なんで100Fごとに変数弄りヘルパーを解放する理由を思い出した
02:21 (hitachi_) 無条件確保だとF1とかの即死ステートを取得できないからだ
02:22 (okihaito) DTCで使えるやつまとめ何処だ
02:22 (hitachi_) http://mugenbinran.web.fc2.com/error.html
02:22 (hitachi_) の「クリップボード豆知識」
02:23 (okihaito) あった
02:23 (okihaito) おっと 案内ありです
02:26 (hitachi_) 書式指定子の%と文字の間に数字入れて桁数を揃えるのは便利ですからねえ
02:29 (okihaito) %nって本来どういう意味だっけ?
02:30 (hitachi_) それまでに出力したバイト数を指定したアドレスに書き込む です
02:30 (hitachi_) text="%n" params=0 だと
02:30 (okihaito) 簡単に言うとアドレス書き込みか?
02:31 (hitachi_) アドレス書き込み…なのかな
02:31 (okihaito) とりあえずメモったわー しかしピンポイントで%sを使うとは…w
02:31 (hitachi_) 親捏造が理解できてるならparentvarsetみたいなものだという認識でいいかと

NEW  |  HOME  |  OLD

Comment

コメントの投稿


管理者にだけ表示を許可する

Trackback

http://kyoakumugenirc.blog61.fc2.com/tb.php/2522-55d6b31c

NEW  |  HOME  |  OLD

 検索フォーム


 全記事表示リンク

 全記事表示(500件ずつ)


 プロフィール

vesper

Author:vesper

IRCチャンネルの
#凶悪MUGEN
#凶悪MUGEN_雑談
のログからMUGENに関するものを編集・公開しています。
修正した方が良い箇所があった場合は知らせてもらえると助かります。
MUGEN界隈からはリンクフリーです。
その他からのリンクはご遠慮ください。
このブログをリンクに追加

IRCへの入り方などは
IRCに関する記事
をご覧ください。

簡易凶悪MUGEN IRC情報
・ホスト名
 [irc.friend-chat.jp]
・ポート番号
 [6664]
・チャンネル名
 [#凶悪MUGEN]
 [#凶悪MUGEN_雑談]
 (以下はお好みで)
 [#凶悪MUGEN_艦これ]
 [#凶悪MUGEN_スマブラ]
 [#凶悪MUGEN_麻雀]
 [#凶悪MUGEN_緋想天]
 [#凶悪MUGEN_アカツキ]
 [#凶悪MUGEN_小説]
 [#凶悪MUGEN_絵チャ]

・推奨IRCクライアント
 LimeChat2


 カテゴリ

記述の子カテゴリは目安程度に考えてください。

 最新コメント


 最新記事


 カウンター

累計の閲覧者数:

現在の閲覧者数:

 RSSリンクの表示


他ブログ更新情報(最新70件)

仕様上、下記のリンク一覧でサイトリンクにあるサイトはこの一覧に出ません。

Twitter


基礎リンク集


リンク

サイトに断り書きがない限りリンクさせてもらっています。
リンクしてほしくない場合はお気軽におっしゃってください。