Graphics Programming | 圖形編程(UI)

儘管頁首標題為 “Graphics Programming”,但內容實際聚焦於圖形化界面(UI widget)功能及 API,與資源注入不同:

  • 所有 widget(控制元件)都會回傳一個引用(reference),可用於後續的函式呼叫,如 MachoMenuGetInputboxMachoMenuSetText

  • 引用類型說明:

    • WindowReference:需使用 MachoMenuWindow 返回的 handle。

    • GroupReference:需使用 MachoMenuGroup 返回的 handle,系統會將 widget 安放於該群組中。

    • WidgetReference:需使用創建 widget 函式返回的 handle,例如 MachoMenuInputBox,再由 MachoMenuGetInputbox 操作。machocheats.com

Window Creation(視窗建立)

MachoMenuWindow(PosX, PosY, EndX, EndY) → handle
MachoMenuTabbedWindow(Name, PosX, PosX, PosY, SizeX, SizeY, TabSectionWidth) → handle
MachoMenuDestroy(WindowReference) → void
MachoMenuSetAccent(WindowReference, r, g, b) → void
MachoMenuSetKeybind(WindowReference, Keybind) 
  • MachoMenuWindow:創建主視窗,回傳視窗參考。

  • MachoMenuTabbedWindow:設置具標籤的視窗。

  • MachoMenuDestroy:銷毀視窗。

  • MachoMenuSetAccent:設定視窗主題色(RGB)。

  • MachoMenuSetKeybind:自訂開關鍵位,可參考官方文檔鍵值設定,例如 0x2E 對應 DELETE。machocheats.com

Widget Sections(Widget 區塊/分區)

MachoMenuGroup(WindowReference or TabReference, Name, PosX, PosY, EndX, EndY)
  • 建立子區塊或群組(section),並回傳其 handle,以後續建立 widget 時使用。

Widgets(控制元件)

MachoMenuButton(GroupReference, Name, Callback)
MachoMenuCheckbox(GroupReference, Name, CallbackEnabled, CallbackDisabled)
MachoMenuSlider(GroupReference, Name, DefaultValue, MinValue, MaxValue, Unit, DecimalPrecision, Callback)
MachoMenuText(GroupReference, Text)
MachoMenuSetText(WidgetReference, Text)
MachoMenuInputbox(GroupReference, Text, Placeholder)
MachoMenuGetInputbox(WidgetReference) → returns string
MachoMenuDropDown(GroupReference, Name, Callback, Selectable1, Selectable2...)
  • Button:建立按鈕並綁定點擊回呼。

  • Checkbox:建立勾選框,指定啟用/停用時的回呼。

  • Slider:滑桿,支援預設值、範圍、精度、單位與值變動時的回呼。

  • Text:顯示純文字。

  • SetText:更新已有 widget 的文字內容。

  • Inputbox:輸入框與取得輸入值函式。

  • DropDown:下拉選單,支援多選項與選取時回呼。

Screenshot-proof NUI

  • 提到這是正在開發中的功能,“Screenshot-proof NUI”(防截圖 NUI),但目前尚未完成。

完整範例(Full Examples) 有兩組範例程式碼,展示如下功能:

  1. 視窗建立、分欄、標籤、按鈕。

  2. 加入滑桿、勾選框、文字、動態文字更新。

  3. 輸入框搭配 “Print Input” 按鈕與輸入值讀取。

  4. 下拉選單搭配回呼輸出選擇值。

1. 功能概述

提供一套 Lua API,用於在 MachoCheats 中建立自訂的圖形操作介面(menu),包括:

  • 視窗(Window)建立與配置;

  • 分欄/分區(Group)管理;

  • 常見 UI 控制元件(按鈕、勾選框、滑桿、文字、輸入框、下拉選單)的創建與交互控制;

  • 更新內容與取得使用者互動輸入的方式。

2. API 功能詳細列表

API 類別
說明

Window 建立

MachoMenuWindow, MachoMenuTabbedWindow, MachoMenuDestroy, MachoMenuSetAccent, MachoMenuSetKeybind

分區管理

MachoMenuGroup 可組織 UI 結構,更清晰、易管理

基本控制元件

包含 Button, Checkbox, Slider, Text, Inputbox, DropDown,支援動態回呼與讀取使用者輸入

內容更新

使用 MachoMenuSetText 即時更新文字內容

防截圖 UI(開發中)

標示為未完成功能,未來可能可用於防止 UI 被截圖識別

3. 使用示例結構

基本工作流程建議如下:

  1. 使用 MachoMenuWindow 建立主視窗元件。

  2. MachoMenuGroup 分成多個「區域」,方便組織功能。

  3. 在各區域中加入按鈕、滑桿等 widget。

  4. 為 widget 綁定 Lua 回呼函式,以回應互動,例如打印輸入框值、滑桿變更印出新值等。

  5. 使用 MachoMenuDestroy 隱藏或清除整個視窗。

最后更新于