forked from Simnation/Main
176 lines
5.5 KiB
Lua
176 lines
5.5 KiB
Lua
local QBCore = exports['qb-core']:GetCoreObject()
|
|
|
|
CreateThread(function()
|
|
-- Makes Blip
|
|
Gym = AddBlipForCoord(Config.GymPedSpawn)
|
|
SetBlipSprite(Gym, 311)
|
|
SetBlipDisplay(Gym, 4)
|
|
SetBlipScale(Gym, 0.65)
|
|
SetBlipAsShortRange(Gym, true)
|
|
SetBlipColour(Gym, 7)
|
|
BeginTextCommandSetBlipName("STRING")
|
|
AddTextComponentSubstringPlayerName(Config.BlipName)
|
|
EndTextCommandSetBlipName(Gym)
|
|
-- Spawns Ped
|
|
local PedCoords = Config.GymPedSpawn
|
|
PedHash = GetHashKey(Config.GymPed)
|
|
RequestModel(PedHash)
|
|
while not HasModelLoaded(PedHash) do
|
|
Citizen.Wait(1)
|
|
end
|
|
if HasModelLoaded(PedHash) then
|
|
local GymPed = CreatePed(1, PedHash, PedCoords.x, PedCoords.y, PedCoords.z, PedCoords.w, false, true)
|
|
FreezeEntityPosition(GymPed, true)
|
|
SetEntityInvincible(GymPed, true)
|
|
TaskStartScenarioInPlace(GymPed, "WORLD_HUMAN_CLIPBOARD", 0, true)
|
|
SetBlockingOfNonTemporaryEvents(GymPed, true)
|
|
if Config.Target == 'qb' then
|
|
exports['qb-target']:AddBoxZone("gymnpc", vector3(PedCoords.x, PedCoords.y, PedCoords.z + 1), 1.5, 1.5, {
|
|
name = "gymnpc",
|
|
heading = 0,
|
|
debugPoly = false,
|
|
minZ = 30.0,
|
|
maxZ = 39.0,
|
|
}, {
|
|
options = {
|
|
{
|
|
type = "client",
|
|
event = "dynyx_gym:OpenMemberBuy",
|
|
icon = 'fa-solid fa-book',
|
|
label = 'Buy Membership'
|
|
},
|
|
},
|
|
distance = 2.0
|
|
})
|
|
elseif Config.Target == 'ox' then
|
|
exports.ox_target:addSphereZone({
|
|
coords = vec3(PedCoords.x, PedCoords.y, PedCoords.z + 1),
|
|
radius = 1,
|
|
debug = false,
|
|
options = {
|
|
{
|
|
onSelect = function()
|
|
TriggerEvent('dynyx_gym:OpenMemberBuy')
|
|
end,
|
|
icon = 'fa-solid fa-book',
|
|
label = "Buy Membership",
|
|
}
|
|
}
|
|
})
|
|
else
|
|
print("**Invalid Config.Target.**")
|
|
end
|
|
end
|
|
end)
|
|
|
|
RegisterNetEvent('dynyx_gym:OpenMemberBuy', function()
|
|
if Config.Menu == 'qb' then
|
|
exports['qb-menu']:openMenu({
|
|
{
|
|
id = 1,
|
|
header = "Welcome! Please Purchase a Gym Member to workout!",
|
|
},{
|
|
id = 2,
|
|
header = "Buy Gym Membership",
|
|
txt = "$"..Config.GymPassPrice,
|
|
params = {
|
|
event = "dynyx_gym:LifetimeConfirm",
|
|
}
|
|
},
|
|
})
|
|
elseif Config.Menu == 'ox' then
|
|
lib.registerContext({
|
|
id = 'GymMemberMenu1',
|
|
title = 'Welcome! Please Purchase a Gym Membership to workout!',
|
|
options = {
|
|
{
|
|
title = 'Buy Gym Membership',
|
|
description = '$'..Config.GymPassPrice,
|
|
arrow = true,
|
|
icon = 'dollar',
|
|
event = 'dynyx_gym:LifetimeConfirm',
|
|
}
|
|
}
|
|
})
|
|
lib.showContext('GymMemberMenu1')
|
|
else
|
|
print("**Invalid Config.Menu.**")
|
|
end
|
|
end)
|
|
|
|
RegisterNetEvent('dynyx_gym:LifetimeConfirm', function()
|
|
if Config.Menu == 'qb' then
|
|
exports['qb-menu']:openMenu({
|
|
{
|
|
id = 1,
|
|
header = "Go Back",
|
|
params = {
|
|
event = "dynyx-gym:OpenMemberBuy",
|
|
}
|
|
},{
|
|
id = 2,
|
|
header = "Confirm Purchase",
|
|
txt = "Purchase of $"..Config.GymPassPrice,
|
|
params = {
|
|
event = "dynyx_gym:BuyCard",
|
|
}
|
|
},
|
|
})
|
|
elseif Config.Menu == 'ox' then
|
|
lib.registerContext({
|
|
id = 'GymMemberMenu2',
|
|
title = 'Please Confirm.',
|
|
options = {
|
|
{
|
|
title = 'Confirm Purchase',
|
|
description = 'Purchase of $'..Config.GymPassPrice,
|
|
icon = 'dollar',
|
|
event = 'dynyx_gym:BuyCard',
|
|
}
|
|
}
|
|
})
|
|
lib.showContext('GymMemberMenu2')
|
|
else
|
|
print("**Invalid Config.Menu.**")
|
|
end
|
|
end)
|
|
|
|
RegisterNetEvent('dynyx_gym:BuyCard', function()
|
|
if Config.Progressbar == 'qb' then
|
|
QBCore.Functions.Progressbar('random_task', 'Processing Purchase', 3000, false, false, {
|
|
disableMovement = true,
|
|
disableCarMovement = true,
|
|
disableMouse = false,
|
|
disableCombat = true,
|
|
}, {
|
|
animDict = "missheistdockssetup1clipboard@base",
|
|
anim = "base",
|
|
flags = 8,
|
|
}, {}, {}, function()
|
|
TriggerServerEvent('dynyx_gym:BuyGymM')
|
|
end)
|
|
elseif Config.Progressbar == 'ox' then
|
|
exports.ox_inventory:Progress({
|
|
duration = 3000,
|
|
label = "Processing Purchase",
|
|
useWhileDead = false,
|
|
disable = {
|
|
move = true,
|
|
car = true,
|
|
combat = true,
|
|
mouse = false,
|
|
},
|
|
anim = {
|
|
dict = "missheistdockssetup1clipboard@base",
|
|
clip = "base",
|
|
flags = 8,
|
|
},
|
|
}, function(cancel)
|
|
if not cancel then
|
|
TriggerServerEvent('dynyx_gym:BuyGymM')
|
|
end
|
|
end)
|
|
else
|
|
print("**Invalid Config.Progressbar.**")
|
|
end
|
|
end)
|