積分系統
簡述
Apple Matchmaking 是一個功能強大的 FiveM 配對系統,旨在提供公平且高效的遊戲配對體驗。該系統支援多種隊伍模式(如 1v1、2v2、3v3、4v4),並包含排行榜、團隊管理、玩家統計以及 Discord 日誌功能,確保每場比賽都充滿競爭力且令人興奮
主要功能
-
隊伍創建與管理
- 支援多種隊伍模式(1v1、2v2、3v3、4v4)
- 隊伍邀請系統,允許隊長邀請其他玩家加入隊伍
- 隊伍成員踢出與隊伍解散功能
-
配對系統
- 自動匹配系統根據玩家等級與喜好進行配對
- 支援多種地圖與武器配置
- 匯報比賽開始與結束至 Discord
-
排行榜與等級系統
- 根據玩家積分自動更新排行榜
- 多階段等級系統(青銅、白銀、黃金、白金、鑽石、大師、宗師、菁英)
- 顯示玩家排名、殺敵數、死亡數及 K/D 比率
-
Discord 日誌集成
- 配對資訊、隊伍進入隊列與比賽結束時自動發送至指定 Discord 頻道
- 支援自定義 Webhook 配置
使用場景
- 競技遊戲伺服器,提供公平競爭的配對體驗
- 支援團隊合作或單人對戰的多種 模式
- 需要詳盡遊戲統計與排行榜的伺服器
依賴插件
ox_inventory(可選,用於武器管理)
使用方法
開啟配對介面
玩家可以通過以下命令或快捷鍵來開啟配對介面:
-
命令:
/matchmaking
-
快捷鍵:
- 接受邀請:
F9
- 拒絕邀請:
F10
- 接受邀請:
配對流程
-
創建隊伍:
- 選擇你想參與的遊戲模式(如 1v1、2v2 等)。
- 系統將自動創建一個隊伍,並允許隊長邀請其他玩家加入。
-
邀請玩家:
- 點擊「+ 邀請」按鈕,選擇要邀請的玩家。
- 被邀請的玩家將收到通知,並可通過
F9
接受或F10
拒絕邀請。
-
開始配對:
- 一旦隊伍人數達到所選模式的要求,隊長可點擊「開始配對」按鈕。
- 系統將自動尋找匹配的隊伍並開始比賽。
-
比賽進行:
- 比賽開始後,玩家將被傳送到指定地圖的位置,並自動獲得武器(依據配置)。
- 比賽結束後,系統將根據結果更新排行榜與玩家數據,並通過 Discord 發送比賽結果日誌。
常用命令
- 隊伍管理:
/matchmaking
:開啟或關閉配對介面。+accept
(快捷鍵F9
):接受隊伍邀請。+reject
(快捷鍵F10
):拒絕隊伍邀請。
配置選項
系統配置
在 config.lua
中,你可以自定義以下選項:
-
數據保存間隔:
Config.SaveDataSecond = 60
每多少秒保存一次玩家數據至數據庫。
-
大廳位置:
Config.LobbyLocation = vector4(x, y, z, heading)
玩家進入比賽結束後將傳送至此位置。
-
復活觸發事件:
Config.ReviveTrigger = "esx_ambulancejob:revive"
指定復活事件的觸發名稱。
遊戲設定
-
比賽回合數:
Config.maxRounds = 5
每場比賽的最大回合數。
-
積分設定:
Config.Points = {
killPoints = 10,
deathPoints = 5,
winPoints = 50,
lossPoints = 20
}每次擊殺、死亡、勝利或失敗所獲得或扣除的積分。
-
武器配置:
Config.Weapons = {
`weapon_assaultrifle`,
`weapon_carbinerifle`,
`weapon_compactrifle`,
`weapon_assaultsmg`
}比賽中將自動給予玩家的武器列表。
-
地圖配置:
Config.Maps = {
["1VS1"] = {
[1] = { [1] = vector3(x1, y1, z1), [2] = vector3(x2, y2, z2) },
[2] = { [1] = vector3(x3, y3, z3), [2] = vector3(x4, y4, z4) },
},
-- 可添加更多匹配類型與地圖
}配對不同隊伍模式時使用的地圖及生成位置。
排行榜與等級系統
-
無等級名稱:
Config.NoLeaugeName = "未定位"
玩家積分不足以達到任何等級時顯示的名稱。
-
等級定義:
Config.Ranks = {
{name = "青銅 V", pts = 1000},
{name = "青銅 IV", pts = 1100},
-- 其他等級
{name = "菁英", pts = 5600}
}根據玩家積分自動分配的等級名稱。
通知與日誌
-
通知設定:
Config.Notify = {
playerinbug = "玩家使用漏洞中",
sentinvite = "已向%s [ID:%d] 發送隊伍邀請",
-- 其他通知
}定義各種系統內部使用的通知訊息。
-
伺服器文字:
Config.ServerText = {
playerSaved = "^0[^1apple Matchmaking DB System^0] ^2玩家已儲存^0: ^1[^0%s^1]^0",
-- 其他伺服器回饋
} -
Webhook 配置:
Config.Webhook = {
matchInfo = "你的Match Info Webhook URL",
queueJoin = "你的Queue Join Webhook URL",
matchFinished = "你的Match Finished Webhook URL"
}