Luaの側から、NScripter側で定義したstraliasを簡単に取得する。

Luaの側から、NScripter側で定義したnumaliasを簡単に取得する。 - 永字八法のstralias版

stralias.lua

--stralias.lua
do
	-- 実際の保存領域
	local stralias = {}

	-- 退避領域の定義
	local stack = 0

	-- メタテーブルの定義
	local mt = {}

	mt.__index = function(t, k)
		k = k:lower()
		if type(stralias[k])=="nil" then
			stack = NSGetStrValue(0)
			NSExec("_mov $0,"..k)
			stralias[k] = NSGetStrValue(0)
			NSSetStrValue(0, stack)
		end
		return stralias[k]
	end
	
	mt.__newindex = function(t, k)
		NSOkBox("straliasの再定義はできません。", k.."を再定義しようとしています。")
		NSEnd() -- エラーエンド
	end

	-- オブジェクトの定義
	Sa = setmetatable({}, mt)
end