・table.getn(t): 配列・ハッシュの長さを取得
工体AI作者ライブラリ table.luaを利用
・剰余 % 演算子の定義(Lua5.1の場合)
a % b == a - math.floor(a/b)*b
昔、安っぽい人との話のやり取りでソースコードをわざと読みづらくするというやり方があり、それを適用したスクリプトがありました。
他のやり方としては、
luacで直接コンパイルというやり方が手っ取り早いと思います。
(しかもファイル名を元の名前に変えれば、そっくりそのまま置き換え可能です!)元のAIファイルをコンパイルしたものと置き換えるには以下のようにします。
C:\Program Files\Gravity\RagnarokOnline\AI> luac -o AI.lua AI.lua
コンパイルされたAIスクリプトは、
中身が分かりづらいブラックボックスになります。
ただし、ブラックボックスは最小限にしておきたいものです。
そして、ページ/ブログを持っているAI開発者のみに限定公開する方針にしたいと思ってます。
理由としては、将来ホム命令ライブラリでケミスキルを扱う考えだからです。
このようにブラックボックス化することでケミスキルを自動化するという
やり方に出来る限り制限加えたいと思ってます。
もう一つ関数自体の書き換えが可能であれば、os.remove関数を書き換えて
絶対パス、相対パスを受け付けないようにする(データ汚染対策)と言うのもよさそうですね。
#解析すれば分かるレベルの人は、そもそも自力で出来ると思うので
#考慮に入れていません。
と書いてて気づいたこと。
AI入れた後に、AIをコンパイルしたものと自動で置き換えるスクリプトもBATファイルなどで提供可能なのでは、と思いました。
これを応用したやり方は、AIソースコードからコンパイルしたものを自動でインストールと言ったようなものです。
posted by silica at 23:32|
Comment(2)
|
TrackBack(0)
|
チャットコマンド
|

|