// 指定の武将番号の武将の年齢を得る
int Lua_GetBushouYearsOld(lua_State *L) {
// 引数を取得
int iBushouID = (int)lua_tointeger(L, 1);
// スタック削除
lua_pop(L, lua_gettop(L));
int years = Get_武将年齢(iBushouID);
// スタックに戻り値を積む
lua_pushinteger(L, years);
// 戻り値の数を返す
return 1;
}
// 吹き出し左上スタート
int Lua_DoHukidashiStart(lua_State *L) {
// 1番目の引数を取得
int iBushouID = (int)lua_tointeger(L, 1);
// 2番目の引数を取得
string message = lua_tostring(L, 2);
噴出ダイアログ《通常・左上》開始(iBushouID, message );
// スタック削除
lua_pop(L, lua_gettop(L));
// 戻り値の数を返す
return 0;
}
// 吹き出し左上終了
int Lua_DoHukidashiEnd(lua_State *L) {
噴出ダイアログ《通常・左上》終了();
// スタック削除
lua_pop(L, lua_gettop(L));
// 戻り値の数を返す
return 0;
}
void カスタム::On_起動時() {
// 上記関数群をLの画用紙に登録
lua_register(L, "GetBushouYearsOld", &Lua_GetBushouYearsOld);
lua_register(L, "DoHukidashiStart", &Lua_DoHukidashiStart);
lua_register(L, "DoHukidashiEnd", &Lua_DoHukidashiEnd);
// test.lua というファイルの内容をLの画用紙に書いて、実行
try {
LUA::Do_ファイル("test.lua");
} catch (...) { }
}
void カスタム::On_相場変更直前() {
// Lの画用紙にある、「soba_change」の関数を呼び出す。
try {
LUA::Do_コマンド("soba_change()");
} catch(...) { }
}