forked from Simnation/Main
177 lines
5.5 KiB
Lua
177 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)
|