93 lines
4.7 KiB
Lua
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)
|