Scripts/resources/[jims]/jim-vanillaunicorn/client/strepp.lua
2024-12-29 20:49:12 +01:00

93 lines
4.7 KiB
Lua

local QBCore = exports[Config.Core]:GetCoreObject()
local Strepper = {}
local Targets = {}
local PedList = {}
for _, v in pairs(Config.Locations) do
if v.zoneEnable then
if v.MLO == "gabz" then
PedList[#PedList+1] = vec4(117.69, -1295.76, 29.27, 319.17)
PedList[#PedList+1] = vec4(107.71, -1291.65, 29.25, 214.09)
PedList[#PedList+1] = vec4(108.7, -1282.8, 28.26, 208.82)
PedList[#PedList+1] = vec4(114.02, -1291.89, 28.26, 28.57)
PedList[#PedList+1] = vec4(123.99, -1289.42, 30.38, 200.33)
PedList[#PedList+1] = vec4(119.23, -1283.81, 28.26, 123.1)
PedList[#PedList+1] = vec4(113.24, -1304.33, 29.29, 351.54)
PedList[#PedList+1] = vec4(112.27, -1302.71, 29.29, 255.14)
PedList[#PedList+1] = vec4(117.99, -1299.24, 29.27, 125.51)
elseif v.MLO == "van" then
PedList[#PedList+1] = vec4(115.96, -1299.53, 29.02, 302.23)
PedList[#PedList+1] = vec4(117.34, -1292.64, 28.26, 29.26)
PedList[#PedList+1] = vec4(117.69, -1295.76, 29.27, 319.17)
PedList[#PedList+1] = vec4(110.23, -1289.44, 28.86, 237.82)
PedList[#PedList+1] = vec4(106.68, -1289.48, 28.86, 32.73)
PedList[#PedList+1] = vec4(108.7, -1282.8, 28.26, 208.82)
PedList[#PedList+1] = vec4(114.02, -1291.89, 28.26, 28.57)
PedList[#PedList+1] = vec4(123.99, -1289.42, 30.38, 200.33)
PedList[#PedList+1] = vec4(119.23, -1283.81, 28.26, 123.1)
elseif v.MLO == "gabzbm" then
PedList[#PedList+1] = vec4(-1407.26, -609.67, 31.10, 298.64)
PedList[#PedList+1] = vec4(-1402.08, -618.03, 31.10, 301.4)
PedList[#PedList+1] = vec4(-1376.45, -609.13, 32.24, 158.47)
end
end
end
if Config.Strippers then
CreateThread(function()
local i = 0
for k, v in pairs(PedList) do i += 1
local rand = math.random(1,3)local randped = math.random(1,2)
Strepper[#Strepper+1] = makePed("CSB_Stripper_0"..randped, v, true, true, nil, { "mini@strip_club@private_dance@part"..rand, "priv_dance_p"..rand })
Targets["Strep"..i] =
exports['qb-target']:AddBoxZone("Strep"..i, vec3(v.x, v.y, v.z-1.3), 0.8, 0.8, { name="Strep"..i, heading = v.w, debugPoly=Config.Debug, minZ = v.z-1.0, maxZ=v.z+1.0 },
{ options = { { event = "jim-vanillaunicorn:PayStrep", icon = "fas fa-money-bill-1-wave", label = Loc[Config.Lan].info["tip"]..Config.TipCost..",-", ped = Strepper[#Strepper] }, },
distance = 1.5 })
Wait(100)
end
if Config.PrintDebug then print("^5Debug^7: ^2Created ^6"..i.."^2 strippers^7.") end
end)
end
RegisterNetEvent("jim-vanillaunicorn:PayStrep", function(data)
local p = promise.new() QBCore.Functions.TriggerCallback("jim-vanillaunicorn:GetCash", function(cb) p:resolve(cb) end)
if Citizen.Await(p) >= Config.TipCost then TriggerServerEvent("jim-vanillaunicorn:StrepTip")
else triggerNotify(nil, "Ikke nok penge", "error") return end
--Spawn money and hand to ped
loadAnimDict("mp_common")
loadModel(`prop_anim_cash_note`)
if prop == nil then prop = CreateObject(`prop_anim_cash_note`, 0.0, 0.0, 0.0, true, false, false) end
AttachEntityToEntity(prop, PlayerPedId(), GetPedBoneIndex(PlayerPedId(), 57005), 0.1, -0.0, 0.0, -180.0, 0.0, 0.0, true, true, false, true, 1, true)
TaskPlayAnim(data.ped, "mp_common", "givetake2_b", 3.0, 3.0, 0.3, 16, 0.2, 0, 0, 0)
TaskPlayAnim(PlayerPedId(), "mp_common", "givetake2_a", 3.0, 3.0, -1, 16, 0.1, 0, 0, 0)
--Take Money and stop animiation
Wait(1000)
AttachEntityToEntity(prop, data.ped, GetPedBoneIndex(v, 57005), 0.1, -0.0, 0.0, 0.0, 0.0, 0.0, true, true, false, true, 1, true)
Wait(1000)
StopAnimTask(PlayerPedId(), "mp_common", "givetake2_b", 1.0)
StopAnimTask(data.ped, "mp_common", "givetake2_a", 1.0)
destroyProp(prop) unloadModel(`prop_anim_cash_note`)
unloadAnimDict("mp_common")
prop = nil
CreateThread(function()
FreezeEntityPosition(data.ped, false)
if not IsPedHeadingTowardsPosition(data.ped, GetEntityCoords(PlayerPedId()), 20.0) then TaskTurnPedToFaceCoord(data.ped, GetEntityCoords(PlayerPedId()), 1500) Wait(1600) end
--Blow kiss
loadAnimDict("anim@mp_player_intselfieblow_kiss")
TaskPlayAnim(data.ped, "anim@mp_player_intselfieblow_kiss", "exit", 3.0, 3.0, -1, 16, 0.1, 0, 0, 0)
Wait(3000)
--Relieve stress and heal 2hp
TriggerServerEvent('hud:server:RelieveStress', Config.TipStress)
unloadAnimDict("anim@mp_player_intselfieblow_kiss")
local rand = math.random(1,3)
loadAnimDict("mini@strip_club@private_dance@part"..rand)
TaskPlayAnim(data.ped, "mini@strip_club@private_dance@part"..rand, "priv_dance_p"..rand, 1.0, 1.0, -1, 1, 0.2, 0, 0, 0)
FreezeEntityPosition(data.ped, true)
end)
end)
AddEventHandler('onResourceStop', function(r) if r ~= GetCurrentResourceName() then return end
for k in pairs(Targets) do exports["qb-target"]:RemoveZone(k) end
for _, v in pairs(Strepper) do DeleteEntity(v) end
end)