Fallout好き:主にFallout New Vegas

Fallout好き:主にFallout new Vegas

2013年9月16日月曜日

MODの基盤:OnLordとOnResetブロックの順番

スクリプト中に OnLord と OnReset ブロックの両方を使う場合、
OnResetを上に持ってこないと OnReest が実行されないようだ。(文章のみの記事)


実行したスクリプトは下記。
-------------------------------------------------------------
scn YMTASHDefaultAshPileScript

short CntOnload
short CntOnReset
short lastday
short currentday
short ComparisonDay
short DoOnce

begin onreset
set CntOnReset to CntOnReset+ 1
showmessage YMTASHOnResetMesg CntOnReset
end

begin onload
set CntOnload to CntOnload + 1
showmessage YMTASHOnloadMesg CntOnload
end

;begin onreset
;
; if lastday
; showmessage YMTASH4Mesg lastday
; if DoOnce == 0
; set ComparisonDay to getgamesetting iHoursToRespawnCell
; set ComparisonDay to ( ComparisonDay  / 24 + 1 )
; showmessage YMTASH1Mesg ComparisonDay
; set DoOnce to 1
; endif
; set currentday to gamedayspassed
; if ( currentday - lastday ) > ComparisonDay
; showmessage YMTASH2Mesg
; disable
; markfordelete
; endif
; else
; set lastday to gamedayspassed
; showmessage YMTASH3Mesg lastday
; endif
;
;end
-------------------------------------------------------------
このスクリプトは OnLord と OnReset どちらも実行される。
しかし、この順番を入れ替えると begin OnReset ~ end が実行されなかった(OnReset用のメッセージが表示されなかった)。

===================================================================
もう一つ、OnResetはWorldを移動してるだけで実行される事があるようだ。つまり屋外で何かを灰(粘液)にして少し遠くへFTを使わず徒歩で移動して、戻るとOnResetが実行されることがある。でも、実行されない事もあるようでよくわからない。。

0 件のコメント:

コメントを投稿