ゴブリンでもわかるNSLua/Lua5.1 第0回:物事の前提と導入
「NSLuaはわからん」なNScripterユーザーを全員Lua扱える状態に持っていくための記事。ただし、Lua言語自体の初心者向け解説は次ページ以降に書く。
Luaとは?
プログラミング言語の一種。NScripterに組み込まれたのはLua5.1。Lua5.1は最も人気だった時期のバージョンであり、その辺のLua解説記事も大抵は同バージョンを前提にしている。NScripter公式の同梱物に、Luaという言語それ自体に関する解説は付属していない。
NSLuaとは?
プログラミング言語ではない。NScripterからLuaを呼び出す仕掛け、およびLuaからNScripterの情報を読み書き可能にするために追加された関数(命令)群を指す。
NScripter本体側の命令で実装しにくい処理(文字列周りの操作や扱いやすい配列など)をLuaは標準ライブラリ(命令)として有するため、ややこしいスクリプトの組みやすさも天と地ほど変わる。誇張ではない。
一方で、様々な不幸……
「『NSLua』とは『Lua言語』を参照するための一連の仕掛けである」という関係性がやや曖昧に説明されていたこと。
公式同梱物にはLua言語自体のチュートリアル/チュートリアルへの導線が含まれていなかったこと。
解説記事を書いてくれた人々がプログラミング分かっている勢だったこと。
等々、少なからぬNScripterユーザーにLuaという言語が食わず嫌いされてしまうに至る歴史的経緯もあった。Luaにおける変数定義とか四則演算とか、おそらくはそのレベルからチュートリアルが求められていたのだろう。
それはそれとして
「NScripterでNSLuaを扱うには、Luaというプログラミング言語を習得すればよい」と整理される。大丈夫、NScripter使えるならLuaも絶対すぐ使えるようになる(超軽量な言語なので)。
次回以降で最低限のチュートリアルを行うが、とりあえず本稿ではNScripterからLuaを呼び出せる環境を準備する。
NScripterでLuaを使う準備 nscr.exe 00.txt system.lua 自分で新規作成する [dllフォルダ] ┣nslua.dll 公式が同梱している ┗nspng.dll 公式が同梱している
実はファイル置くだけで準備完了する。
system.luaは拡張子を変えただけのプレーンテキストファイルで、この中に書かれたLuaスクリプトが起点となる。編集時はメモ帳なりと関連付けて開けばよい。
※なお2021年現在、Windows10メモ帳標準の文字コードがShift-Jisではなくなった。00.txt/system.luaともに新規保存時は注意が必要。