Misc API | 雜項 API

該頁面列出了幾個不屬於主要分類但實用的 API,包括通知、日誌控制、驗證與鍵盤事件處理等功能:

  • Notifications MachoMenuNotification([string] title, [string] description) 顯示 macho-style 通知在螢幕右上角,無論選單是否開啟都會顯示,並自動滑出排隊顯示幾秒後消失。

  • Logger Control 允許快速控制記錄器(logger)狀態,適用於執行觸發器時保護觸發內容不被記錄。含以下函式:

    • MachoGetLoggerState() → integer:取得目前 logger 狀態。

    • MachoSetLoggerState([integer] state) → void:設定 logger 狀態。

    • MachoLockLogger([integer] state) → void:完全鎖定事件記錄器直到作弊重啟。

  • Authentication(驗證相關功能)

    • MachoAuthenticationKey() → string:取得使用者的身份驗證金鑰。

    • MachoWebRequest([string] url) → string:對指定 URL 發送 HTTP GET 請求並回傳響應主體。

      local KeysBin = MachoWebRequest("website_url_with_keys")
      local CurrentKey = MachoAuthenticationKey()
      local KeyPresent = string.find(KeysBin, CurrentKey)
      if KeyPresent ~= nil then
        print("Key is authenticated [" .. CurrentKey .. "]")
      else
        print("Key is not in the list [" .. CurrentKey .. "]")
      end
    • MachoMenuGetSelectedPlayer() → integer:回傳 macho 玩家選擇器中所選玩家的伺服器 ID。

    • MachoMenuGetSelectedVehicle() → integer:回傳選擇器中所選車輛的 handle。

  • Key Event Handling

    • MachoOnKeyUp([function] callback) → void:當鍵被釋放時觸發 callback,接收鍵盤虛擬鍵代號。

    • MachoOnKeyDown([function] callback) → void:當鍵被按下時觸發 callback,也接收虛擬鍵代號。


整理與功能簡覽

分類
API 函式名稱
說明

通知

MachoMenuNotification(title, description)

顯示右上角通知(滑動進出,自動消失)

日誌控制

MachoGetLoggerState() MachoSetLoggerState(state) MachoLockLogger(state)

管理或鎖定記錄器,以避開觸發器被記錄

驗證

MachoAuthenticationKey() MachoWebRequest(url)

取得驗證金鑰與遠端請求支援(適合驗證流程)

選擇器

MachoMenuGetSelectedPlayer() MachoMenuGetSelectedVehicle()

取得玩家或車輛選擇器當前選擇對象編號

鍵盤事件

MachoOnKeyUp(callback) MachoOnKeyDown(callback)

捕捉鍵盤按下/釋放事件,回呼處理虛擬鍵代號


使用情境建議與範例

  • 即時通知提醒 想在玩家完成某操作後彈出提示,可使用下列方式:

    MachoMenuNotification("提示", "操作已完成")
  • 隱藏觸發記錄器 在呼叫敏感 trigger 前,暫停或鎖定 logger:

    local prev = MachoGetLoggerState()
    MachoSetLoggerState(0)  -- 禁用 logger
    -- 執行 trigger
    MachoSetLoggerState(prev)  -- 還原 logger 狀態
  • 鑑權機制 結合網路請求與身份驗證鍵,可建立私有權限系統:

    local keysBin = MachoWebRequest("example.com/keys.txt")
    local myKey = MachoAuthenticationKey()
    if string.find(keysBin, myKey) then
      MachoMenuNotification("認證成功", myKey)
    else
      MachoMenuNotification("認證失敗", myKey)
    end
  • 鍵盤事件監聽 快捷鍵觸發某功能:

    MachoOnKeyDown(function(key)
      if key == 0x2E then -- DELETE 鍵
        print("DELETE 被按下")
      end
    end)

最后更新于