「絶対bit変数なんかに負けたりしない!!」キッ
→「○○○には勝てなかったよ……」
parentvarsetではbit変数代入が出来ないことを知り、悲しみに明け暮れていたのも昔の話。
わざわざHelperを通さなくていいじゃんと、それ以来-2で直接本体変数を設定するようにしているので、またbit変数に挑んでみるかと意気込んだ。
数値を取り扱うんじゃなくて、ただONOFFさえできれば御の字のお話。
なのに、
本体側で2つ以上のフラグをONにすると、そのフラグのどれもHelperが認識しない
まず、
→「○○○には勝てなかったよ……」
parentvarsetではbit変数代入が出来ないことを知り、悲しみに明け暮れていたのも昔の話。
わざわざHelperを通さなくていいじゃんと、それ以来-2で直接本体変数を設定するようにしているので、またbit変数に挑んでみるかと意気込んだ。
数値を取り扱うんじゃなくて、ただONOFFさえできれば御の字のお話。
なのに、
本体側で2つ以上のフラグをONにすると、そのフラグのどれもHelperが認識しない
まず、
[statedef -2]そして、helperの方で以下の記述にしておく。前回ワープスターさんに指摘された反省を活かし、ちゃんとroot,をつけておく。
[state ]
type=varset
trigger1=!ishelper
var(30)=(var(30)|1)
trigger1=(root,var(30)&1)この時点では成功、ちゃんとhelper内の記述は機能してる。rootリダイレクトが怖かったけどセーフ!
(あとのtriggerは省略)
次にstatedef -2内の方を
もしvar(30)を普通に変数として使ってたなら絶対に真にはならない。
なのに、helper内の記述は失敗。stateは読み込まれず、演出が行われない。
triggerall=(root,var(30)&2)にしてもうまくいかない。どちらFlagも立っていない様子。
やけくそで1|2|8にして3つ立ててももちろん効果なし。
気休めにignorehitpause=1を付けるも特に変わらず。
この状態で2つではなく1つなら上手く行くことを試すために、上の記述からFlag2を折ることに。
一番最初と同じ、Flag1だけ。こうするとうまくいく。
なんでやねーん。
var(30)=(var(30)|1|2)これで1と2のFlagが建ったはず。試しにlifesetでtrigger1=(var(30)&1),trigger1=(var(30)&2)にするところっと逝去。
もしvar(30)を普通に変数として使ってたなら絶対に真にはならない。
なのに、helper内の記述は失敗。stateは読み込まれず、演出が行われない。
triggerall=(root,var(30)&2)にしてもうまくいかない。どちらFlagも立っていない様子。
やけくそで1|2|8にして3つ立ててももちろん効果なし。
気休めにignorehitpause=1を付けるも特に変わらず。
この状態で2つではなく1つなら上手く行くことを試すために、上の記述からFlag2を折ることに。
statedef -2 内の記述
var(30)=(var(30)|1|2)-2
一番最初と同じ、Flag1だけ。こうするとうまくいく。
なんでやねーん。