エラメ消去

ADSに書いてあったエラメの解決方法をわかりやすくしてみました

WARING : EXPRESSION TRACATED
小数型(0.1など)を利用している場合に発生します。floor()、ceil()で解決します。ceil()のほうが安定するかも…


[State 60000];毒
type = TargetLifeAdd
triggerall=ishelper(60000)
triggerall = numtarget > 0
trigger1=time%5=0
value = -enemy,lifemax*0.001←「Ceil(-enemy,lifemax*0.001)」に直すことで解決します
absolute=1
ignorehitpause = 1
supermovetime=99999999999
pausemovetime = 9999999999

WARING : DIVISION BY ZERO
ゼロ除算(2/0など)を使っている場合に発生します
こちらにはそのエラメは発生しなかったけど式にvarを使っていると発生しやすいと思います
varの場合はvar(**) !=0 で大丈夫だと思います

WARING : HAS NO XXXXX
おそらく一番多く発生しているエラメ
trigger等でRootやParent、Target、Helperを参照している場合に
それらが存在しない場合に出ます。
TriggerAllでnumhelperやishelper等を前提条件として組み込むことで解決します。
targetの場合はtriggerall = numtarget > 0を加えることで解決します
typeがtarget~となっている記述すべてに加える必要がありますので注意してください


[State -2];ライフ管理
type = lifeadd
triggerall = roundstate = 2&& alive && !ishelper
trigger1 = helper(1008),var(52)-life>lifemax*0.01
value= helper(1008),var(52)-life
ignorehitpause = 1
↑上の記述に「triggerAll = NumHelper(1008)」を追加で解決します

[State 140, Damage]
type = TargetLifeAdd
trigger1 = 1
value = -999999999999
↑上の記述に「triggerall = numtarget > 0」を追加で解決します

注意
本体に本体をを読み込ませようとしても(root,**)エラメが発生します
意味分かんないだろうから例で↓
[State -2]
type = lifeadd
triggerall = roundstate = 2&& alive && !ishelper
trigger1 = root,stateno = [120,155]
value= 60
ignorehitpause = 1
↑「root,」を消すか「!ishelper」を「ishelper」に直すことで解決します

NON-POSITIVE FREQMUL
PlaySNDでfreqmulオプションの値を0にしていた場合のエラーです。
また、freqmulの最大は4.3までです。



で、再現ゴジータのエラメが全部消えました。鬼巫女と戦ってもこの安定感
鬼巫女

コメント

非公開コメント

No title

numtarget > 0にしても死の宣告ヘルパーだとエラメが(ry
あれはイマイチわからんなぁ(´・ω・`)

No title

>>もさ氏
元々再現ゴジータには死の宣告はついてなかったしさっきちょっと試してみただけで
機能するかとか色々と検証不足ですけど
triggerall = numtarget > 0
triggerall = !target,ishelper
triggerall = root,alive
triggerall = RoundState = 3
trigger1 = enemy,alive
とりあえずこれでエラメでませんでした
プロフィール

かませ

Author:かませ
その時その時でハマるものが変わります
現在サモンナイト6をプレイ中
クリアしたのでただいまトロコン目指して
無限回廊攻略&周回プレイ中

リンクフリーのような気がする
たとえそうじゃなかったとしても心が繋がっていれば無問題

訪問者数
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
TweetsWind