提取并复制 cfx-vote-plugin
文件夹的内容到您服务器的 resources/vote
目录。
resources/vote
从 Top-Games 面板获取您的令牌。
将以下行添加到您的 server.cfg
文件:
ensure vote
set vote_token "您的令牌在这里"
在您的 Top-Games 面板中启用"投票插件 v3"。您可以通过点击"测试连接性"来测试插件并模拟投票。
当玩家为您的服务器投票时,插件会自动触发 onPlayerVote
事件。
-- 基本使用示例
AddEventHandler('onPlayerVote', function(playername, date)
print('收到新投票!')
print('玩家: ' .. playername)
print('日期: ' .. date)
-- 在此添加您的奖励逻辑
end)
-- QBCore框架示例
local QBCore = exports['qb-core']:GetCoreObject()
AddEventHandler('onPlayerVote', function(playerId, date)
local Player = QBCore.Functions.GetPlayerByCitizenId(playerId)
if Player then
-- 金钱奖励
Player.Functions.AddMoney('cash', 1000, "vote-reward")
-- 物品奖励
Player.Functions.AddItem('lockpick', 5, false, "vote-reward")
-- 玩家通知
TriggerClientEvent('QBCore:Notify', Player.PlayerData.source, '谢谢您的投票!+1000$', 'success', 8000)
-- 全局消息
TriggerClientEvent('chat:addMessage', -1, {
color = {255, 194, 14},
multiline = true,
args = {"[VOTE]", Player.PlayerData.charinfo.firstname .. " " .. Player.PlayerData.charinfo.lastname .. " 为服务器投票!"}
})
else
-- 离线玩家管理
print("玩家 " .. playerId .. " 未找到(离线?)")
end
end)
-- Qbox框架示例
AddEventHandler('onPlayerVote', function(playerId, date)
local player = exports.qbx_core:GetPlayer(playerId)
if player then
-- 金钱奖励
player.Functions.AddMoney('cash', 1000, "vote-reward")
-- 物品奖励
exports.ox_inventory:AddItem(player.PlayerData.source, 'lockpick', 5)
-- 玩家通知
exports.qbx_core:Notify(player.PlayerData.source, '谢谢您的投票!+1000$', 'success', 8000)
-- 全局消息
TriggerClientEvent('chat:addMessage', -1, {
color = {0, 162, 255},,
multiline = true,
args = {"[VOTE]", player.PlayerData.charinfo.firstname .. " " .. player.PlayerData.charinfo.lastname .. " 为服务器投票!"}
})
else
-- 离线玩家管理
print("玩家 " .. playerId .. " 未找到(离线?)")
end
end)
resources/
中ensure vote
行在 server.cfg
中server.cfg
中是否正确AddEventHandler
语法print()
进行调试测试