Chimp For You!

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

教えてください。

nokoやrootがよくわからなくなってしまって・・・。

本当に長文です。でも可能でしたら助けてください。


[State -2, AssertSpecial]
type = AssertSpecial
triggerall = !ishelper
trigger1 = var(1) != gametime
flag = noko
まずこれは、ステートを奪われている場合を想定していて
gametimeとずれていたらnokoというふうにしました。

次にステート奪われていなくてもnokoしたいなと思い、
以下のようにしました。
[State -2, AssertSpecial]
type = AssertSpecial
triggerall = !ishelper
trigger1 = var(2) = 自分の指定した定数
flag = noko

相手のvar(2)が自分の指定した定数じゃなければいいんだから
これはイケるwwwと思いました。

でも、相手も死ななくなりました・・・。

どうやらvar(2)はあくまでもこっちのvar(2)であって、相手のvar(2)ではないみたい??
・・・たぶん。

なので、
[State -2, AssertSpecial]
type = AssertSpecial
triggerall = !ishelper
trigger1 = root,var(2) = 自分の指定した定数
flag = noko
というふうにしました。

するとうまくいきました。



で、話は少し変わりまして、最近不具合が起きたところなんですが、
ジェネラルズさんみたいにヘルパーをわらわら出していまして
本体が生きてる限りヘルパーさんたちをnokoにしたいなと思い、
[State -2, AssertSpecial]
type = AssertSpecial
triggerall = ishelper
triggerall = root,alive
trigger1 = root,var(2) = 自分の指定した定数
flag = noko
こんなふうにしてみてました。

すると、相手を倒してもko判定が出ず、timeupになるとkoというふうになる不具合?が生じました。
よくよく考えればishelperなので、さっきのことをふまえれば
root,var(2)では本体のvar(2)どまりで、相手のvar(2)にはなっていないわけで、
さらにrootして、
trigger1 = root,(root,var(2)) = 自分の指定した定数
こんな感じにしなきゃいけないのかなと思います?(これだとエラメでてしまいましたがww)


ここで頭がこんがらがりました。
私は2つのrootに別の役割求めてるじゃないかって。
rootってヘルパーの本体リダイレクトに使うものだよなって。

でも、なんで
[State -2, AssertSpecial]
type = AssertSpecial
triggerall = !ishelper
trigger1 = root,var(2) = 自分の指定した定数
flag = noko
↑のこれは
trigger1 = root,var(2) = 自分の指定した定数
でうまくいった?やっぱり相手の本体にリダイレクトできたから?


rootって・・・なに・・・?
rootはヘルパーの本体リダイレクトと!ishelperでも本体リダイレクトどっちもできるんですかね?
私にはわかりません・・・。

できるなら
trigger1 = root,(root,var(2)) = 自分の指定した定数
これは正しい記述になれば成り立つのでしょうか?



余談となりますが、
妥協して
[State -2, AssertSpecial]
type = AssertSpecial
triggerall = ishelper
triggerall = root,alive
trigger1 = var(1) != gametime
flag = noko
としたところ、不具合はなくなりました。


不具合はなくなってよかったのですが、
上記のことが気になるので、わかる方いましたら教えてください。

スポンサーサイト
  1. 2011/08/02(火) 19:56:10|
  2. mugen
  3. | トラックバック:0
  4. | コメント:4
<<わけわかめふえるわかめ | ホーム | noko難しいね>>

コメント

ヘルパーはNOKOなしでも常時監視からライフセットでライフを固定すれば大丈夫です。

心配でしたらヘルパーの準ステート固定をオススメします。


NOKOというのは、その場にいる全員に対して、alive値を0から1に引き戻す作用とroundstateを3から2に引き戻す作用をします。
『死ななくなる』というより
『決着が付かなくなる』という感じ

なのでヘルパーからNOKOしても死ななくなるのは本体なんですよ。そして、ヘルパーから発したNOKOは超即死でも貫通できません。

決着が付かなくのを避けるにはNOKOのステコンに

triggerall = !win

を付け加えるのがいいです。
このトリガーは
『勝っていない』
という意味で、試合中も自分が本来負ける状況も含みます。

逆に言えば、勝てばNOKOが解除されるので決着が付きます。

敵の変数を参照したい時は

enemy,var(なんとか) = なんとか

でOK

rootというのはそのヘルパーの大本のこと(つまり本体)

parentはそのヘルパーの親(そのヘルパーを呼び出した者)のことです。
rootは常に本体ですがparentはヘルパーであることもあります。(ヘルパーがヘルパーを呼び出した場合はそうなる)

  1. URL |
  2. 2011/08/02(火) 20:29:37 |
  3. Silverstar #WbKWu8xc
  4. [ 編集 ]

>Silverstar氏
コメントありがとうございます。

ヘルパーにnokoつけたら耐性上がったんですよ!?とおもっていたら、
>ヘルパーから発したNOKOは超即死でも貫通できません。
なるほどこれが原因なわけですね。

また、一応決着は付くようになりました。お騒がせしました。

rootについてですが
rootはヘルパーでも本体でも本体をリダイレクトできて

[State -2, AssertSpecial]
type = AssertSpecial
triggerall = !ishelper
trigger1 = root,var(2) = 自分の指定した定数
flag = noko

この場合なら、相手がこちらのnokoステコンを読み込んで?
root,varによって相手に相手本体のvar読み込ませることができている
これによって自分だけにnokoが働くようにできる
という解釈でいいのでしょうか?

聞き方が下手ですみませんです。

  1. URL |
  2. 2011/08/02(火) 22:14:20 |
  3. ちんぱん #-
  4. [ 編集 ]

> rootについてですが
> rootはヘルパーでも本体でも本体をリダイレクトできて
本体がroot使うと失敗になりますよ。
なので・・・・、

> trigger1 = root,var(2) = 自分の指定した定数
常時0 ⇒ 常にtriggerを満たさない ⇒ 実はnokoが動いてない
ってオチな気がします。


後はステートを奪われた時の参照関係で混乱されているようですが、
ステートを奪われても参照関係は変わらないのがミソじゃないかな?
(通常時:自キャラの本体  奪取時:自キャラの本体 ←相手の本体ではない)

一度表にして整理してみるとわかりやすいかも
  1. URL |
  2. 2011/08/13(土) 10:00:38 |
  3. 七紙零 #XMatgrFs
  4. [ 編集 ]

>七紙零氏

>本体がroot使うと失敗
>ステートを奪われても参照関係は変わらない

この2つを勘違いしていたのが混乱の原因ですね。
わかりやすい解説感謝です!!
  1. URL |
  2. 2011/08/13(土) 17:09:11 |
  3. ちんぱん #-
  4. [ 編集 ]

コメントの投稿


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

トラックバック

トラックバック URL
http://chimp4u.blog.fc2.com/tb.php/35-4648b968
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

ちんぱん

Author:ちんぱん
chimpという名義でmugenのキャラ改変をやってます。
公開場所は ↓ リンクにあります。
よかったらどうぞ。

また、リンクはフリーです。

最新記事

最新コメント

リンク

このブログをリンクに追加する

カテゴリ

日記 (62)
mugen (202)
その他 (2)

月別アーカイブ

アクセス数

検索フォーム

ブロとも申請フォーム

この人とブロともになる

QRコード

QR

RSSリンクの表示

最新トラックバック

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。