太閤立志伝5イベントソース //イベントフラグを利用して、変数を保存するサンプルスクリプトです。 //日数を記録しておいて、30日後に再びイベントを起こします。 //該当のルーチンは、8個のフラグ使用して、0〜255までの値として保存できます。 チャプター:{ イベント:日数カウント1{ 属性:一度だけ 発生契機:拠点内画面表示後(無効) 発生条件:{ } スクリプト{ 会話:(うんちく爺さん,主人公)[[ふふふ…覚えておれよ! 30日後!]] //以下フラグ利用変数(フラグ::日数カウンタ1〜8を使用)設定 代入a:(30)//保存数値に30を設定。値は0〜255日後まで変更可能 代入b:(a)%(2) 更新:(イベントフラグ::日数カウンタ1)(b)//ビット1セット 代入a:(a)/(2) 代入b:(a)%(2) 更新:(イベントフラグ::日数カウンタ2)(b)//ビット2セット 代入a:(a)/(2) 代入b:(a)%(2) 更新:(イベントフラグ::日数カウンタ3)(b)//ビット3セット 代入a:(a)/(2) 代入b:(a)%(2) 更新:(イベントフラグ::日数カウンタ4)(b)//ビット4セット 代入a:(a)/(2) 代入b:(a)%(2) 更新:(イベントフラグ::日数カウンタ5)(b)//ビット5セット 代入a:(a)/(2) 代入b:(a)%(2) 更新:(イベントフラグ::日数カウンタ6)(b)//ビット6セット 代入a:(a)/(2) 代入b:(a)%(2) 更新:(イベントフラグ::日数カウンタ7)(b)//ビット7セット 代入a:(a)/(2) 代入b:(a)%(2) 更新:(イベントフラグ::日数カウンタ8)(b)//ビット8セット //以上設定終了 } } イベント:日数カウント2{ 属性:何度でも 発生契機:一日開始処理の先頭 発生条件:{ 調査:(イベント::日数カウント1)==(発生済み) 調査:(イベントフラグ::日数イベント3発生)==(不成立) } スクリプト{ //以下変数取り出し(aに代入) 代入a:(0) 代入b:(イベントフラグ::日数カウンタ8)*(128)//ビット8変換 代入a:(a)+(b) 代入b:(イベントフラグ::日数カウンタ7)*(64)//ビット7変換 代入a:(a)+(b) 代入b:(イベントフラグ::日数カウンタ6)*(32)//ビット6変換 代入a:(a)+(b) 代入b:(イベントフラグ::日数カウンタ5)*(16)//ビット5変換 代入a:(a)+(b) 代入b:(イベントフラグ::日数カウンタ4)*(8)//ビット4変換 代入a:(a)+(b) 代入b:(イベントフラグ::日数カウンタ3)*(4)//ビット3変換 代入a:(a)+(b) 代入b:(イベントフラグ::日数カウンタ2)*(2)//ビット2変換 代入a:(a)+(b) 代入b:(イベントフラグ::日数カウンタ1)*(1)//ビット1変換 代入a:(a)+(b) //以上変数取り出し終了 調査:(a)>=(1) 分岐:(真){ 代入a:(a)-(1) //日数カウンタをデクリメント(1より大きい場合のみ) } 調査:(a)==(0) 分岐:(真){ 更新:(イベントフラグ::日数イベント3発生)(成立) //日数カウンタが0まで下がったら日数カウントは必要ないので //日数イベント2の不発生条件かつ日数イベント3の発生条件になるよう変更 } //以下フラグ利用変数再設定 代入b:(a)%(2) 更新:(イベントフラグ::日数カウンタ1)(b) 代入a:(a)/(2) 代入b:(a)%(2) 更新:(イベントフラグ::日数カウンタ2)(b) 代入a:(a)/(2) 代入b:(a)%(2) 更新:(イベントフラグ::日数カウンタ3)(b) 代入a:(a)/(2) 代入b:(a)%(2) 更新:(イベントフラグ::日数カウンタ4)(b) 代入a:(a)/(2) 代入b:(a)%(2) 更新:(イベントフラグ::日数カウンタ5)(b) 代入a:(a)/(2) 代入b:(a)%(2) 更新:(イベントフラグ::日数カウンタ6)(b) 代入a:(a)/(2) 代入b:(a)%(2) 更新:(イベントフラグ::日数カウンタ7)(b) 代入a:(a)/(2) 代入b:(a)%(2) 更新:(イベントフラグ::日数カウンタ8)(b) //以上再設定終了 } } イベント:日数カウント3{ 属性:一度だけ 発生契機:拠点内画面表示後(無効) 発生条件:{ 調査:(イベントフラグ::日数イベント3発生)==(成立) } スクリプト{ 会話:(うんちく爺さん,主人公)[[貴様! ここで会ったが30日目!]] 会話:(うんちく爺さん,主人公)[[んじゃ、また!]] } } }