Here we'll see how to configure your own VIP's and integrate custom rewards.
1. Configure your Admins
Add your admins
To add a player in ug-vipsystem admin, you can use any of these identifiers. You can find them in your txAdmin:
Steam Identifier
License Identifier
XBL Identifier
Live Identifier
Discord Identifier
FiveM Identifier
After copying the identifier of the admin, you can open the config.lua file in the ug-vipsystem resource folder. Now, paste the identifier as a new string in Config.Settings > admins, like the example:
config.lua
Config.Settings = { admins = {'Your Admins Identifier', -- < Put here your Admins Identifiers }}
2. Create Custom VIP's
New VIP Creation
To create a new VIP, let's open the file VIPs/VIPs.lua in ug-vipsystem resource folder, then, copy the VIP Example and modify as your like. Here will be an example of VIP.
VIPs.lua
VIPs.Rewards = { ["EXAMPLEVIP1"] = { -- Example VIP Settings = { triggerClientEvent =true, triggerServerEvent =true, }, Events = { Client = {"ug-vipsystem:EXAMPLEVIP1:event_client" }, Server = {"ug-vipsystem:EXAMPLEVIP1:event_server" } } }, ["GoldVIP"] = { -- VIP Type Settings = { triggerClientEvent =true, -- Would you like to trigger client events? triggerServerEvent =true, -- Would you like to trigger server events? }, Events = { -- This is the events that will trigger when the VIP is activated. Client = { "ug-vipsystem:GoldVIP:event_client" -- Client events to be triggered. (triggerClientEvent must be true to work!)
}, Server = { "ug-vipsystem:GoldVIP:event_server" -- Server events to be triggered. (triggerServerEvent must be true to work!)
} } },}
VIP Events - Basic Events
Now, let's open the Event Files in VIPs/events/client.lua and VIPs/events/client.lua
In this example, we'll send a notification using ug-notify script to the player.
client.lua
RegisterNetEvent('ug-vipsystem:EXAMPLEVIP1:event_client')AddEventHandler('ug-vipsystem:EXAMPLEVIP1:event_client', function ()local _source = sourceprint("Client Event is Working!")end)RegisterNetEvent('ug-vipsystem:GoldVIP:event_client')AddEventHandler('ug-vipsystem:GoldVIP:event_client', function ()local _source = source exports['ug-notify']:CreateNotify('Gold VIP', 'The Gold VIP was activated successfully! :)', 'success', 10000)end)
server.lua
RegisterServerEvent('ug-vipsystem:EXAMPLEVIP1:event_server')AddEventHandler('ug-vipsystem:EXAMPLEVIP1:event_server', function ()local _source = sourceprint("Server Event is Working!")end)RegisterServerEvent('ug-vipsystem:GoldVIP:event_server')AddEventHandler('ug-vipsystem:GoldVIP:event_server', function ()local _source = source TriggerClientEvent('ug-notify:CreateAlert', _source, 'Gold VIP', 'The Gold VIP was activated successfully! :)', 'success', 10000)
end)
VIP Events - ESX Integration
Let's suppose that we want to give 100'000 € to the bank of the player and to spawn a vehicle. Let's learn on how to do that. Let's create a Server Event to make it work.
ESX 1.1 (Old ESX)
client.lua
ESX =nilCreateThread(function ()while ESX ==nildoTriggerEvent('esx:getSharedObject', function (obj) ESX = obj end)Wait(0)endend)RegisterNetEvent('ug-vipsystem:EXAMPLEVIP1:event_client')AddEventHandler('ug-vipsystem:EXAMPLEVIP1:event_client', function ()local _source = sourceprint("Client Event is Working!")end)RegisterNetEvent('ug-vipsystem:GoldVIP:event_client')AddEventHandler('ug-vipsystem:GoldVIP:event_client', function ()local _source = sourcelocal carModel ='zentorno' -- Car Modellocal playerPed =GetPlayerPed(_source) -- Player Pedlocal playerCoords =GetEntityCoords(playerPed) -- Coords of the Playerlocal playerHeading =GetEntityHeading(playerPed) -- Heading of the Player ESX.Game.SpawnVehicle(carModel, playerCoords, playerHeading, function (veh)print("Spawned Vehicle: " .. veh) -- Print that the car was spawned.end)end)
server.lua
ESX =nilTriggerEvent('esx:getSharedObject', function (obj) ESX = obj end)RegisterServerEvent('ug-vipsystem:EXAMPLEVIP1:event_server')AddEventHandler('ug-vipsystem:EXAMPLEVIP1:event_server', function ()local _source = sourceprint("Server Event is Working!")end)RegisterServerEvent('ug-vipsystem:GoldVIP:event_server')AddEventHandler('ug-vipsystem:GoldVIP:event_server', function ()local _source = sourcelocal xPlayer = ESX.GetPlayerFromId(_source) -- Get Player from ESXlocal playerMoney = xPlayer.getAccount('bank').money -- Get Player Bank Money xPlayer.addAccountMoney('bank', 100000) -- Gives 100'000 € print("Gave player 100'000 €. He had " .. playerMoney .. " €, now he has " .. playerMoney + 100000 .. " € in his bank account.")
end)
Now, if we use the VIP, then it should give us the car and the money.