Glenelg開発メモ:項目追加作業メモ のバックアップソース(No.1)

お名前:
Glenelgの機能についてのメモ。
自分のための覚書でもあり、利用者のための豆知識でもあり、他AI開発者のための参考情報でもあり。

Glenelg のコア機能として挙げられるのは、『学習』と『操作』の2系統。~
で、これらを拡張したくなることはしばしばありますが、同時に頻繁でもなく。~
やろうとして自分で忘れて苦戦、なんてことがあるので、そのための作業項目メモ。

Glenelgを改造したいなんていう酔狂な人はそんなにいないとは思いますが、そういう参考に。


**敵学習項目の追加 [#s40cf518]

#region(→続きを読む。)
-enemy.lua
--global variable
---新しい学習項目の管理名作成
---VS_ENEMY_LIMITに、上記の値域 max/min を定義
--function CreateLearnTable()
---新規学習時の初期値登録
--function ShowLearnInfo()
---それの学習時に Watchに表示する文字列作成
--SaveEnemy()
---保存用の変換式記載
--DecodeEnemyData()
---読出し用の変換式記載
-command.lua
--学習操作用のコマンド作成
---自分ルール:関数名は CMD_xxxx。
---メニュー操作前提で、トグルだったり±1動作だったり。
---コマンド置き換えとの共用を考える場合、引数前半は固定ルールあり。~
「対象ID」「攻撃モード」。

上記までは必須。
-GlenelgWatch用定義ファイル
--master\cmdlist.lua
---A+S+R設定用の表示文字列
---command.lua に定義したCMD_xxxx と呼び出しパラメータを指定。

#endregion

**スキル置換対象行動の追加 [#rb54d36f]

#region(→続きを読む。)
-command.lua
--置き換え対象のコマンド作成
---自分ルール:関数名は CMD_xxxx。
---ID指定可能。それを考慮して。

-usersetting.lua
--function LoadSetting()
---置換IDと、それに対応する登録対象行動(対応コマンド)を定型で。~
REPLACE_LIST[nn] = {func = CMD_xxxx ,prm=0 }
---上記nnは任意値。

-GlenelgWatch本体
--SettingWin.vb
---SettingWin_Load()。~
置換IDと選択用文字列とをテーブルに登録。~
---例:sk_rep(0, 13) = "101" : sk_rep(1, 13) = "全員友達モード設定/解除"~
上記 "101" 部分を、usersetting.lua で定義した置換ID nnに。~
"全員友達・・・"部分を、利用者に見せたい名称に。~
sk_rep(x, y) のy部分は連番。
---Load()~
REPLACE_MODEx を定義するForループの終端値を、上記y に。
---Save()~
REPLACE_MODEx を定義するForループの終端値を、上記y に。
---ListBoxA93_MouseDown()。~
対応するsk_rep(1, y)のCASE文追加し、ヘルプ文章を記載。

ここまで必須。~
以下、置き換えに特殊なパラメータが必要な場合。

-AI, command.lua
--function OnMSG_CLICK_OBJ_SKL() 内、REPLACE_CMD を処理するforループ内。
---v.mode(上記置換ID)の値によって、パラメータの追加加工

#endregion