1
0
Fork 0
forked from Simnation/Main
Main/resources/[freizeit]/[gym]/dynyx-gym/client/shop.lua
2025-08-11 16:51:34 +02:00

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)