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

numalias.lua

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

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

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

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

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

使い方

NScripter側で、numaliasを定義した場合、その定義された数値を取得したいと言う時に使う。
たとえば、

numalias sample,10

このように定義しておく。
そうすると、lua側で、

NSOkBox(tostring(Na.sample), "sampleで定義された数値")

とすると、「10」が表示される。

注意点

代入はできない。しようとすると、エラー終了をする。