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」が表示される。
注意点
代入はできない。しようとすると、エラー終了をする。