Плагин голосования FiveM
Легко интегрируйте систему голосования Top-Games на ваш сервер FiveM и награждайте игроков в реальном времени.
Установка
Скопировать в resources
Извлеките и скопируйте содержимое папки cfx-vote-plugin в директорию resources/vote вашего сервера.
resources/vote
Получить токен
Получите ваш токен из панели Top-Games.
Настроить server.cfg
Добавьте следующие строки в ваш файл server.cfg:
ensure vote
set vote_token "ВАШ_ТОКЕН_ЗДЕСЬ"
Активировать плагин
Активируйте "Плагин голосования v3" в панели Top-Games. Вы можете протестировать плагин, нажав на "Тестировать подключение" и симулировать голос.
Настройка и использование
Событие голосования
Плагин автоматически вызывает событие onPlayerVote когда игрок голосует за ваш сервер.
vote-handler.lua
-- Пример базового использования
AddEventHandler('onPlayerVote', function(playername, date)
print('Получен новый голос!')
print('Игрок: ' .. playername)
print('Дата: ' .. date)
-- Добавьте сюда логику наград
end)
Пример с QBCore Framework
vote-rewards-qbcore.lua
-- Пример с QBCore Framework
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 Framework
vote-rewards-qbox.lua
-- Пример с Qbox Framework
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 - Активируйте "Плагин голосования v3" в вашей панели Top-Games
- Убедитесь, что ваш сервер доступен из интернета
- Проверьте синтаксис вашего
AddEventHandler - Убедитесь, что ваш скрипт с обработчиком правильно загружен
- Протестируйте с простым
print()для отладки
Информация
Поддержка
Нужна помощь? Наша команда готова помочь вам.