nscr.exeの起動回数をカウントする

Nscripter 起動回数カウント - Google 検索
こういうリファラがあって、dimの考察 - 永字八法が出てきたので、それ専用の記事をサクっとやってみる。

方法1 グローバル変数を使う。

;value300
*define

globalon
numalias invoke_count,500 ; 500番の(グローバル)数値変数を起動回数のカウントアップに使う。

game

*start

inc %invoke_count ; 起動回数を一つ増やす。できるだけ早い場所で行うこと。また、二度と通らない場所に置くこと。

方法2 専用の記録ファイルを作る。

グローバル変数を使わないが、CDからはやりにくい。

*define

numalias invoke_count,500 ; 500番の数値変数を起動回数のカウントアップに使う。
stralias invoke_count,"invoke_count.csv" ; 起動回数を保存するファイル名。
; フルパス指定も可能だが、その場合はユーザーの環境を破壊しないようになおさらの注意が必要。
game

*start

fileexist %invoke_count,invoke_count
if %invoke_count=0 skip 4 ; ファイルがないなら、初回起動とみなす。
csvopen invoke_count,"rc" ; ファイルを開く。念のため、暗号化して。
csvread %invoke_count ; 起動回数を取得する。
csvclose ; 閉じる。
inc %invoke_count; 起動回数を一つ増やす。
csvopen invoke_count,"wc" ; ファイルを開く。念のため、暗号化して。
csvwrite %invoke_count ; 暗号化して書き込む。
csvclose ; 閉じる。

; ここまでが起動をstart後できるだけ早く、二度通らない位置に置く。

記録ファイルを決め打ちすることも可能かも知れない。たとえば、"C:\巨乳メイド.csv"とか。しかし、こんな名前のファイルがいつの間にか作られていたユーザーがぶち切れるかも知れないから、あまりやったものかどうかは不安である。