跳轉至內容

SpringRTS/Widgets 中的 Lua

來自 Wikibooks,開放世界中的開放書籍

Widgets 是由每個使用者單獨執行的指令碼檔案。這意味著並非所有使用者都必須擁有相同的指令碼檔案。Widgets 通常位於安裝目錄下的 LUAUI 資料夾中。您可以新增自己的 Widgets 檔案,但必須遵循 Widgets 必須遵守的一些約定。

所有 Widgets 檔案在檔案開頭都有 GetInfo() 的呼叫。

function widget:GetInfo()
  return {
    name      = "Auto reclaim",
    desc      = "Sets builders to auto reclaim in BA",
    author    = "Pithikos",
    date      = "Jan 1, 1900",
    license   = "GPL",
    layer     = 0,
    enabled   = true
  }


在 name 欄位中是 Widgets 的名稱。在遊戲內,當您按下 F11 檢視所有可用的 Widgets 時,此欄位中的值將在那裡顯示。desc 欄位是一個簡短的描述,說明 Widgets 的作用。實際上,此欄位的內容在遊戲內顯示為工具提示。author 欄位是 Widgets 建立者的姓名。date 欄位包含 Widgets 建立的日期。License 只是指定 Widgets 所屬的許可證型別。如果您希望 Widgets 保持開源,最常見的 value 是 GPL。layer 欄位告訴引擎這是什麼型別的指令碼。以下是可能的 value 列表:

用途
0
1
2
3
4
5

最後,enabled 欄位決定 Widgets 是否預設載入。在本例中,Widgets 將在每次開始遊戲時預設載入。

華夏公益教科書