Scripts/resources/[qb]/[qb_jobs]/qb-uwucafe/client/cl_uwucafe.lua

283 lines
8.6 KiB
Lua
Raw Normal View History

2024-12-29 20:06:22 +00:00
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)