local QBCore = exports['qb-core']:GetCoreObject() PlayerJob = {} CreateThread(function() uwuCafe = AddBlipForCoord(-580.9502, -1065.8682, 22.3473) SetBlipSprite (uwuCafe, 489) SetBlipDisplay(uwuCafe, 4) SetBlipScale (uwuCafe, 0.8) SetBlipAsShortRange(uwuCafe, true) SetBlipColour(uwuCafe, 8) BeginTextCommandSetBlipName("STRING") AddTextComponentSubstringPlayerName("UwU Cafe") EndTextCommandSetBlipName(uwuCafe) end) AddEventHandler('onResourceStart', function(resourceName) if GetCurrentResourceName() == resourceName then PlayerJob = QBCore.Functions.GetPlayerData().job uwuZones() end end) AddEventHandler('onResourceStop', function(resourceName) if GetCurrentResourceName() == resourceName then for k, v in pairs(Config.Zones) do exports['qb-target']:RemoveZone("uwucafe"..k) end DeletePed(jobPed) end end) AddEventHandler('QBCore:Client:OnPlayerLoaded', function() PlayerJob = QBCore.Functions.GetPlayerData().job uwuZones() end) RegisterNetEvent('QBCore:Client:OnPlayerUnload', function() for k, v in pairs(Config.Zones) do exports['qb-target']:RemoveZone("uwucafe"..k) end DeletePed(jobPed) end) function loadAnimDict(dict) while (not HasAnimDictLoaded(dict)) do RequestAnimDict(dict) Wait(0) end end function uwuZones() for k, v in pairs(Config.Zones) do exports['qb-target']:AddCircleZone("uwucafe"..k, v.coords, v.radius, { name = "uwucafe"..k, debugPoly = false, useZ=true, }, { options = { { type = "client", event = v.event, icon = v.icon, label = v.label, job = v.job, }, }, distance = 1.5 }) end if not DoesEntityExist(jobPed) then RequestModel(Config.GaragePed) while not HasModelLoaded(Config.GaragePed) do Wait(0) end jobPed = CreatePed(0, Config.GaragePed, Config.PedLocation, false, false) SetEntityAsMissionEntity(jobPed, true, true) SetPedFleeAttributes(jobPed, 0, 0) SetBlockingOfNonTemporaryEvents(jobPed, true) SetEntityInvincible(jobPed, true) FreezeEntityPosition(jobPed, true) loadAnimDict("amb@world_human_leaning@female@wall@back@holding_elbow@idle_a") TaskPlayAnim(jobPed, "amb@world_human_leaning@female@wall@back@holding_elbow@idle_a", "idle_a", 8.0, 1.0, -1, 01, 0, 0, 0, 0) exports['qb-target']:AddTargetEntity(jobPed, { options = { { type = "client", event = "qb-uwucafe:client:jobGarage", icon = "fa-solid fa-clipboard-check", label = "Garage", job = "uwu" }, { type = "client", event = "qb-uwucafe:client:storeGarage", icon = "fa-solid fa-clipboard-check", label = "Store Vehicle", job = "uwu" }, }, distance = 1.5, }) end end CreateThread(function() DecorRegister("uwu_vehicle", 1) end) RegisterNetEvent('qb-uwucafe:client:jobGarage', function(vehicle) local vehicle = Config.Vehicle local coords = Config.VehicleSpawn QBCore.Functions.SpawnVehicle(vehicle, function(veh) SetVehicleNumberPlateText(veh, "UWU"..tostring(math.random(1000, 9999))) SetVehicleColours(veh, 112, 112) SetVehicleLivery(veh, 15) DecorSetFloat(veh, "uwu_vehicle", 1) SetEntityAsMissionEntity(veh, true, true) TriggerEvent("vehiclekeys:client:SetOwner", QBCore.Functions.GetPlate(veh)) SetVehicleEngineOn(veh, true, true) CurrentPlate = QBCore.Functions.GetPlate(veh) SetVehicleFuelLevel(veh, 100.0) end, coords, true) end) RegisterNetEvent('qb-uwucafe:client:storeGarage', function() local veh = QBCore.Functions.GetClosestVehicle() if DecorExistOn((veh), "uwu_vehicle") then QBCore.Functions.DeleteVehicle(veh) QBCore.Functions.Notify("You returned the vehicle.", "success") else QBCore.Functions.Notify("This is not a work vehicle.", "error") end end) RegisterNetEvent("qb-uwucafe:client:stash1", function() TriggerEvent("inventory:client:SetCurrentStash", "uwuStash1") TriggerServerEvent("inventory:server:OpenInventory", "stash", "uwuStash1", { maxweight = 50000, slots = 20, }) end) RegisterNetEvent("qb-uwucafe:client:stash2", function() TriggerEvent("inventory:client:SetCurrentStash", "uwuStash2") TriggerServerEvent("inventory:server:OpenInventory", "stash", "uwuStash2", { maxweight = 50000, slots = 20, }) end) RegisterNetEvent("qb-uwucafe:client:stash3", function() TriggerEvent("inventory:client:SetCurrentStash", "uwuStash3") TriggerServerEvent("inventory:server:OpenInventory", "stash", "uwuStash3", { maxweight = 50000, slots = 20, }) end) RegisterNetEvent("qb-uwucafe:client:stash4", function() TriggerEvent("inventory:client:SetCurrentStash", "uwuStash4") TriggerServerEvent("inventory:server:OpenInventory", "stash", "uwuStash4", { maxweight = 50000, slots = 20, }) end) RegisterNetEvent("qb-uwucafe:client:stash5", function() TriggerEvent("inventory:client:SetCurrentStash", "uwuStash5") TriggerServerEvent("inventory:server:OpenInventory", "stash", "uwuStash5", { maxweight = 50000, slots = 20, }) end) RegisterNetEvent("qb-uwucafe:client:stash6", function() TriggerEvent("inventory:client:SetCurrentStash", "uwuStash6") TriggerServerEvent("inventory:server:OpenInventory", "stash", "uwuStash6", { maxweight = 50000, slots = 20, }) end) RegisterNetEvent("qb-uwucafe:client:stash7", function() TriggerEvent("inventory:client:SetCurrentStash", "uwuStash7") TriggerServerEvent("inventory:server:OpenInventory", "stash", "uwuStash7", { maxweight = 50000, slots = 20, }) end) RegisterNetEvent("qb-uwucafe:client:stash8", function() TriggerEvent("inventory:client:SetCurrentStash", "uwuStash8") TriggerServerEvent("inventory:server:OpenInventory", "stash", "uwuStash8", { maxweight = 50000, slots = 20, }) end) RegisterNetEvent("qb-uwucafe:client:stash9", function() TriggerEvent("inventory:client:SetCurrentStash", "uwuStash9") TriggerServerEvent("inventory:server:OpenInventory", "stash", "uwuStash9", { maxweight = 50000, slots = 20, }) end) RegisterNetEvent("qb-uwucafe:client:stash10", function() TriggerEvent("inventory:client:SetCurrentStash", "uwuStash10") TriggerServerEvent("inventory:server:OpenInventory", "stash", "uwuStash10", { maxweight = 50000, slots = 20, }) end) RegisterNetEvent("qb-uwucafe:client:tray1", function() TriggerEvent("inventory:client:SetCurrentStash", "uwuTray1") TriggerServerEvent("inventory:server:OpenInventory", "stash", "uwuTray1", { maxweight = 50000, slots = 20, }) end) RegisterNetEvent("qb-uwucafe:client:tray2", function() TriggerEvent("inventory:client:SetCurrentStash", "uwuTray2") TriggerServerEvent("inventory:server:OpenInventory", "stash", "uwuTray2", { maxweight = 50000, slots = 20, }) end) RegisterNetEvent("qb-uwucafe:client:tray3", function() TriggerEvent("inventory:client:SetCurrentStash", "uwuTray3") TriggerServerEvent("inventory:server:OpenInventory", "stash", "uwuTray3", { maxweight = 50000, slots = 20, }) end) RegisterNetEvent("qb-uwucafe:client:refregiator", function() TriggerEvent("inventory:client:SetCurrentStash", "uwuRefregiator") TriggerServerEvent("inventory:server:OpenInventory", "stash", "uwuRefregiator", { maxweight = 50000, slots = 20, }) end) RegisterNetEvent("qb-uwucafe:client:openShop", function() TriggerServerEvent("inventory:server:OpenInventory", "shop", "uwuShop", Config.Items) end) RegisterNetEvent('qb-uwucafe:clientToggleDuty', function() TriggerServerEvent("QBCore:ToggleDuty") end) RegisterNetEvent("qb-uwucafe:bill", function() local bill = exports['qb-input']:ShowInput({ header = "Cash Register", submitText = "Charge", inputs = { { text = "Server ID(#)", name = "citizenid", type = "text", isRequired = true -- }, { text = " Bill Price ($)", name = "billprice", type = "number", isRequired = false } } }) if bill ~= nil then if bill.citizenid == nil or bill.billprice == nil then return end TriggerServerEvent("qb-uwucafe:server:billPlayer", bill.citizenid, bill.billprice) end end)