らくだ屋/華和梨・自作関数集
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
*華和梨・自作関数集 [#s6eb2544]
#contents
#br
**セーブ・ロード関数 [#td2d384d]
-SSPのキャッシュ機能など、重複ロードによるセーブファイル...
-exsaveは単純にセーブするだけ
-exloadは読み込む対象のエントリを先に掃除してから読み込む...
-2009/05/17 exloadが上手く働いていなかったのを修正
-2009/12/23 短縮
=kis
# $(exsave 保存したいエントリの名前を列挙したエントリ フ...
# $(exload ロードするエントリ名を列挙したエントリ名 ファ...
#
# SaveEntriesに書いたエントリ名を全部セーブorロードする。
# exloadはSaveEntriesに書いたエントリ名の中身を全てクリ...
#
# 実装例
# OnClose : $(exsave SaveEntries savefile.txt)${終了トー...
# OnBoot : $(exload SaveEntries savefile.txt)$(inc 起動...
# SaveEntries : 起動回数, TalkInterval, 見切れ, 重なり, ...
#
# 使うタイミング
# exsaveはOnClose、OnGhostChanging、OnUpdateBegin。万全...
# exloadはOnBoot、OnGhostChanged、OnUpdateComplete。実装...
function exsave $(
if $[ $(size @arg) != 3 ] $(return "false");
xargs $@arg[1] save $@arg[2];
return "";
);
function exload $(
if $[ $(size @arg) != 3 ] $(return "false");
set @a $@arg[1];
set @b 0;
loop $(size ${@a}) $(clear $${@a}[${@b}] ; inc @b );
load $@arg[2];
return "";
);
=end
#br
**里々式・トークの重複呼び出し回避 [#scf03be7]
#-------------------------------------------------------...
# $(talk <エントリ名>)
#-------------------------------------------------------...
# 里々で実装されている、「全てのトークが出るまで同じトー...
# 実現する関数。これを使うと、エントリ名で指定されたエン...
# 重複回避しつつエントリを呼び出します。
# チェック用の変数として${エントリ名_temp}というエントリ...
#-------------------------------------------------------...
# 実装例
# sentence : $(talk ランダムトーク)
# ランダムトーク : \0あ!\e
# ランダムトーク : \0い!\e
#-------------------------------------------------------...
function talk $(
if $[ $(size @arg) != 2 ] $(return "false");
if $[ ${$@arg[1]_temp} == $(NULL) ] $(
clear $@arg[1]_temp;
set @a 0;
loop $(size $@arg[1]) $(
insert $@arg[1]_temp[$(rand $[1+$(size $@arg[1]_temp)...
inc @a;
);
);
return $$@arg[1][$(shift $@arg[1]_temp)];
);
#br
**リロード関数 [#n4605398]
#-------------------------------------------------------...
# $(reload <エントリ名>)
#-------------------------------------------------------...
# 華和梨用の辞書リロード。
# 要するに全エントリをクリアしてから kawarirc.kis を読み...
# よって descript.txt やシェルはリロードされない。
# セーブデータの再読み込みを栞イベント中で別途行っている...
# 読み込ませれば大丈夫。
#
# <エントリ名> はリロード完了後に呼ぶエントリ。ここで完...
# 省略可。というかあんまり使わない。
#-------------------------------------------------------...
# 実装例1
# sentence : $(reload)${セーブデータの読み込み}\e
#
# 実装例2
# sentence : $(reload リロード完了トーク)
# リロード完了トーク : \0リロードしました。\e
#-------------------------------------------------------...
function reload $(
if $[ $(size @arg) > 2 ] $(return "false");
listtree @cls .;
set @a 0;
loop $(size @cls) $(
clear $@cls[${@a}];
inc @a;
);
load kawarirc.kis;
return $(entry $@arg[1]);
);
#br
*里々ゴーストのセーブデータから値をゲット [#p15599f6]
-ゴーストフォルダが複数に分けられていると機能しません
**汎用値をゲット [#ac5faef0]
=kis
# $(satori_svget ディレクトリ名 欲しい値)
#
# 例 $(satori_svget "Iron_Dream" "$起動回数")
# ゴースト「鉄の夢」のセーブデータから$起動回数の値を得...
function satori_svget $(
if $[ $(size @arg) != 3 ] $(return "false");
setstr @a $@arg[1];
textload @b ..\..\..\${@a}\ghost\master\satori_savedata...
set @i 0 ; loop $(size @b) $(split @c $@b[${@i}] " " ; ...
return $@c[$[ $(find @c $@arg[2]) + 1 ]];
);
=end
#br
**辞書フォルダをゲット [#y5aada6f]
-対象ゴーストの終了時の辞書フォルダ設定を得れば交代時のト...
=kis
# $(satori_dictfget ディレクトリ名)
#
# 例 $(satori_dictfget "vanishing")
# ゴースト「侵されざる黒」のセーブデータから$辞書フォル...
# 中身が初期フォルダ「.」の場合は空が返る。
function satori_dictfget $(
if $[ $(size @arg) != 3 ] $(return "false");
setstr @a $@arg[1];
textload @b ..\..\..\${@a}\ghost\master\satori_savedata...
set @i 0 ; loop $(size @b) $(split @c $@b[${@i}] " " ; ...
setstr @d $@c[$[ $(find @c "$辞書フォルダ") + 1 ]];
if $[ ${@d} == "." ] $(return "")
else $(return ${@d});
);
=end
終了行:
*華和梨・自作関数集 [#s6eb2544]
#contents
#br
**セーブ・ロード関数 [#td2d384d]
-SSPのキャッシュ機能など、重複ロードによるセーブファイル...
-exsaveは単純にセーブするだけ
-exloadは読み込む対象のエントリを先に掃除してから読み込む...
-2009/05/17 exloadが上手く働いていなかったのを修正
-2009/12/23 短縮
=kis
# $(exsave 保存したいエントリの名前を列挙したエントリ フ...
# $(exload ロードするエントリ名を列挙したエントリ名 ファ...
#
# SaveEntriesに書いたエントリ名を全部セーブorロードする。
# exloadはSaveEntriesに書いたエントリ名の中身を全てクリ...
#
# 実装例
# OnClose : $(exsave SaveEntries savefile.txt)${終了トー...
# OnBoot : $(exload SaveEntries savefile.txt)$(inc 起動...
# SaveEntries : 起動回数, TalkInterval, 見切れ, 重なり, ...
#
# 使うタイミング
# exsaveはOnClose、OnGhostChanging、OnUpdateBegin。万全...
# exloadはOnBoot、OnGhostChanged、OnUpdateComplete。実装...
function exsave $(
if $[ $(size @arg) != 3 ] $(return "false");
xargs $@arg[1] save $@arg[2];
return "";
);
function exload $(
if $[ $(size @arg) != 3 ] $(return "false");
set @a $@arg[1];
set @b 0;
loop $(size ${@a}) $(clear $${@a}[${@b}] ; inc @b );
load $@arg[2];
return "";
);
=end
#br
**里々式・トークの重複呼び出し回避 [#scf03be7]
#-------------------------------------------------------...
# $(talk <エントリ名>)
#-------------------------------------------------------...
# 里々で実装されている、「全てのトークが出るまで同じトー...
# 実現する関数。これを使うと、エントリ名で指定されたエン...
# 重複回避しつつエントリを呼び出します。
# チェック用の変数として${エントリ名_temp}というエントリ...
#-------------------------------------------------------...
# 実装例
# sentence : $(talk ランダムトーク)
# ランダムトーク : \0あ!\e
# ランダムトーク : \0い!\e
#-------------------------------------------------------...
function talk $(
if $[ $(size @arg) != 2 ] $(return "false");
if $[ ${$@arg[1]_temp} == $(NULL) ] $(
clear $@arg[1]_temp;
set @a 0;
loop $(size $@arg[1]) $(
insert $@arg[1]_temp[$(rand $[1+$(size $@arg[1]_temp)...
inc @a;
);
);
return $$@arg[1][$(shift $@arg[1]_temp)];
);
#br
**リロード関数 [#n4605398]
#-------------------------------------------------------...
# $(reload <エントリ名>)
#-------------------------------------------------------...
# 華和梨用の辞書リロード。
# 要するに全エントリをクリアしてから kawarirc.kis を読み...
# よって descript.txt やシェルはリロードされない。
# セーブデータの再読み込みを栞イベント中で別途行っている...
# 読み込ませれば大丈夫。
#
# <エントリ名> はリロード完了後に呼ぶエントリ。ここで完...
# 省略可。というかあんまり使わない。
#-------------------------------------------------------...
# 実装例1
# sentence : $(reload)${セーブデータの読み込み}\e
#
# 実装例2
# sentence : $(reload リロード完了トーク)
# リロード完了トーク : \0リロードしました。\e
#-------------------------------------------------------...
function reload $(
if $[ $(size @arg) > 2 ] $(return "false");
listtree @cls .;
set @a 0;
loop $(size @cls) $(
clear $@cls[${@a}];
inc @a;
);
load kawarirc.kis;
return $(entry $@arg[1]);
);
#br
*里々ゴーストのセーブデータから値をゲット [#p15599f6]
-ゴーストフォルダが複数に分けられていると機能しません
**汎用値をゲット [#ac5faef0]
=kis
# $(satori_svget ディレクトリ名 欲しい値)
#
# 例 $(satori_svget "Iron_Dream" "$起動回数")
# ゴースト「鉄の夢」のセーブデータから$起動回数の値を得...
function satori_svget $(
if $[ $(size @arg) != 3 ] $(return "false");
setstr @a $@arg[1];
textload @b ..\..\..\${@a}\ghost\master\satori_savedata...
set @i 0 ; loop $(size @b) $(split @c $@b[${@i}] " " ; ...
return $@c[$[ $(find @c $@arg[2]) + 1 ]];
);
=end
#br
**辞書フォルダをゲット [#y5aada6f]
-対象ゴーストの終了時の辞書フォルダ設定を得れば交代時のト...
=kis
# $(satori_dictfget ディレクトリ名)
#
# 例 $(satori_dictfget "vanishing")
# ゴースト「侵されざる黒」のセーブデータから$辞書フォル...
# 中身が初期フォルダ「.」の場合は空が返る。
function satori_dictfget $(
if $[ $(size @arg) != 3 ] $(return "false");
setstr @a $@arg[1];
textload @b ..\..\..\${@a}\ghost\master\satori_savedata...
set @i 0 ; loop $(size @b) $(split @c $@b[${@i}] " " ; ...
setstr @d $@c[$[ $(find @c "$辞書フォルダ") + 1 ]];
if $[ ${@d} == "." ] $(return "")
else $(return ${@d});
);
=end
ページ名: