跳到正文
本頁目錄

💰 經濟系統 API

在很多服務器中,經濟系統是非常關鍵的一環。
為了解決傳統使用計分板經濟系統的種種問題,LegacyScriptEngine 提供了對接 LegacyMoney 經濟系統的接口,可以與其他模組和插件數據互通。

LegacyMoney 除了擁有傳統經濟系統的能力之外,還有查詢金額變動歷史、操作離線玩家經濟等額外能力。
LegacyMoney 是 LegacyScriptEngine 的依賴(並非隨 LeviLamina 附帶),會隨 LegacyScriptEngine 一同安裝,因此無需額外安裝,就可以直接使用此接口。

設置玩家的存款金額

Player.setMoney(value)

money.set(xuid,value)

  • 參數:
  • xuid : String
    要操作的玩家的XUID標識符
  • value : Integer
    要設置的金額
  • 返回值:是否設置成功
  • 返回值類型:Boolean

獲取玩家的存款金額

Player.getMoney()

money.get(xuid)

  • 參數:
  • xuid : String
    要讀取的玩家的XUID標識符
  • 返回值:玩家的資金數值
  • 返回值類型:Integer

增加玩家的存款

Player.addMoney(value)

money.add(xuid,value)

  • 參數:
  • xuid : String
    要操作的玩家的XUID標識符
  • value : Integer
    要增加的金額
  • 返回值:是否設置成功
  • 返回值類型:Boolean

減少玩家的存款

Player.reduceMoney(value)

money.reduce(xuid,value)

  • 參數:
  • xuid : String
    要操作的玩家的XUID標識符
  • value : Integer
    要減小的金額
  • 返回值:是否設置成功
  • 返回值類型:Boolean

進行一筆轉賬

Player.transMoney(target,money[,note])

money.trans(xuid1,xuid2,money[,note])

  • 參數:

  • xuid1 : String
    付款的玩家的XUID標識符

  • xuid2 : String
    收款的玩家的XUID標識符

    如果你使用 Player.transMoney,target可以是玩家對象

  • money : Integer
    要支付的金額

  • note : String
    (可選參數)給這筆轉賬附加一些文字說明

  • 返回值:是否轉賬成功

  • 返回值類型:Boolean

查詢歷史賬單

Player.getMoneyHistory(time)

money.getHistory(xuid,time)

  • 參數:
  • xuid : String
    要操作的玩家的XUID標識符
  • time : Integer
    查詢從現在開始往前time秒的記錄
  • 返回值:查詢結果對象的數組
  • 返回值類型:Array<Object>

其中,結果為一系列記錄對象組成的數組。對於每個記錄對象record,有如下的鍵和對應的值:

鍵值的意義數據類型
record.from此項交易的發起者玩家XUIDString
record.to此項交易的接收者玩家XUIDString
record.money此項交易的金額Integer
record.time此項交易發生時的時間字符串String
record.note此交易的附加說明信息String

時間字符串的格式為:YYYY-mm-dd hh:mm:ss

刪除賬單歷史記錄

money.clearHistory(time)

  • 參數:
  • time : Integer
    刪除從現在開始往前time秒的記錄
  • 返回值:是否刪除成功
  • 返回值類型:Boolean