真似して作ってみた。
http://www.doblog.com/weblog/myblog/37649/1437122#1437122
「校舎裏の猫さん」が早速バージョンアップ。この反応の早さは見習いたいものです。
こっちも真似して、と言うかSSにするほど余力がなかったので。
んで、これを楽に実現可能にしたルーチンがこれ。ご自由にお使いください。
; 命令名:getnsadir ; ひぐらしのなく頃に、及び月姫・歌月十夜のインストールされたディレクトリを取得する命令。 ; 例:getnsadir $0,1 ; 第一引数には、取得したディレクトリを格納する文字変数を。 ; 第二引数には、取得したいアプリケーションの番号を指定する。 ; 1〜8 ひぐらしのなく頃に1〜8。1は体験版。4が商業版。5が解。他は予約番号。 ; 11が月姫、12が歌月十夜 ; それ以外の番号を指定すると、第一引数の文字変数は空になる。 ; 使用方法:*define節のgameコマンドよりも上の行に挿入し、numaliasの指定番号を適宜変更する。 ; 注意:変数を、余分に12消費する。 ; 取得できるのはディレクトリ名なので、末尾に\はついていない。必要な時は各自でつけること。 ; chopを内蔵する。 numalias chop_str,100 numalias chop_len,101 defsub chop numalias getnsadir_num,102 numalias getnsadir_str,103 numalias getnsadir_temp,104 defsub getnsadir goto *getnsadir_end ; ルーチン開始 *getnsadir ; 結果を格納する文字変数の番号と、求められているアプリを指定する。 getparam s%getnsadir_str,%getnsadir_num ; アプリ番号が11以上なら月姫系へ。 if %getnsadir_num > 10 goto *getnsadir_moon ; そうでなければひぐらし系 ; 番号が1〜8の範囲でなければ、空にして終了する。 if %getnsadir_num < 1 mov $%getnsadir_str,"":return if %getnsadir_num > 8 mov $%getnsadir_str,"":return ; すでに取得していれば、その結果を返す。 mov %getnsadir_temp,getnsadir_temp+%getnsadir_num if $%getnsadir_temp <> "" mov $%getnsadir_str,$%getnsadir_temp:return ; レジストリのキー名を作る。 mov $getnsadir_str,"Software\07th_Expansion\higurasi" itoa $getnsadir_num,%getnsadir_num add $getnsadir_str,$getnsadir_num ; レジストリを探る。 getreg $%getnsadir_str,$getnsadir_str,"gamedir" ; 取得できなかった際の処理。 mov $getnsadir_temp,"ひぐらしのなく頃に" if %getnsadir_num = 1 add $getnsadir_temp,"体験版" if %getnsadir_num = 2 add $getnsadir_temp,$getnsadir_num if %getnsadir_num = 3 add $getnsadir_temp,$getnsadir_num if %getnsadir_num = 4 add $getnsadir_temp,"商業版" if %getnsadir_num = 5 add $getnsadir_temp,"解" if %getnsadir_num = 6 add $getnsadir_temp,$getnsadir_num if %getnsadir_num = 7 add $getnsadir_temp,$getnsadir_num if %getnsadir_num = 8 add $getnsadir_temp,$getnsadir_num add $getnsadir_temp,"のインストールされているフォルダを指定してください。" if $%getnsadir_str = "" inputstr $%getnsadir_str,$getnsadir_temp,255,0 ; 取得結果を保存する。 if $%getnsadir_str <> "" chop $%getnsadir_str mov $%getnsadir_temp,$%getnsadir_str ; 終了 return *getnsadir_moon if %getnsadir_num > 12 mov $%getnsadir_str,"":return ; すでに取得していれば、その結果を返す。 mov %getnsadir_temp,getnsadir_temp+%getnsadir_num if $%getnsadir_temp <> "" mov $%getnsadir_str,$%getnsadir_temp:return if %getnsadir_num == 11 getreg $%getnsadir_str,"Software\TYPE-MOON\月姫","directory" if %getnsadir_num == 12 getreg $%getnsadir_str,"Software\TYPE-MOON\歌月十夜","directory" ; 取得できなかった際の処理。 mov $getnsadir_temp,"ひぐらしのなく頃に" if %getnsadir_num == 11 mov $getnsadir_temp,"月姫" if %getnsadir_num == 12 mov $getnsadir_temp,"歌月十夜" add $getnsadir_temp,"のインストールされているフォルダを指定してください。" if $%getnsadir_str = "" inputstr $%getnsadir_str,$getnsadir_temp,255,0 ; 取得結果を保存する。 mov $%getnsadir_temp,$%getnsadir_str ; 終了 return *chop getparam s%chop_str len %chop_len,$%chop_str dec %chop_len mid $%chop_str,$%chop_str,0,%chop_len return *getnsadir_end
便宜上、numaliasを100から始めているが、使う者の都合で変更するべし。
使い方もコメントを見るべし。
そして、これを使って上記画像を実現したのが、これ。
ダウンロードして00.txtに名前変更し、最新版のNScripterで実行してください。(条件:ひぐらしのなく頃に解と歌月十夜の両方がインストールされていること)