186 lines
7.1 KiB
Lua
186 lines
7.1 KiB
Lua
|
if config.AddonList.crewPhone then
|
|||
|
local calanMuzikler = {}
|
|||
|
local musicOn = false
|
|||
|
|
|||
|
local ESX = nil
|
|||
|
|
|||
|
CreateThread(function()
|
|||
|
xpcall(function()
|
|||
|
ESX = exports['es_extended']['getSharedObject']()
|
|||
|
end, function(error)
|
|||
|
while ESX == nil do
|
|||
|
Wait(50)
|
|||
|
TriggerEvent('esx:getSharedObject', function(obj)
|
|||
|
ESX = obj
|
|||
|
end)
|
|||
|
end
|
|||
|
end)
|
|||
|
end)
|
|||
|
|
|||
|
|
|||
|
-- Müzik çalma
|
|||
|
exports('Cal', function(link, mp3)
|
|||
|
local ped = PlayerPedId()
|
|||
|
local pos = GetEntityCoords(ped)
|
|||
|
local serverId = GetPlayerServerId(PlayerId())
|
|||
|
local muzikAdi = tostring(serverId)
|
|||
|
|
|||
|
if musicOn then
|
|||
|
TriggerServerEvent("muzik-durdur", muzikAdi)
|
|||
|
musicOn = false
|
|||
|
end
|
|||
|
|
|||
|
if #calanMuzikler <= 99 then
|
|||
|
if mp3 then
|
|||
|
TriggerServerEvent("muzik-cal", pos, muzikAdi, "phone-ring/" .. link, serverId, true)
|
|||
|
else
|
|||
|
TriggerServerEvent("muzik-cal", pos, muzikAdi, "https://www.youtube.com/watch?v=" .. link, serverId, false)
|
|||
|
end
|
|||
|
musicOn = true
|
|||
|
else
|
|||
|
ESX.ShowNotification("Fazla kişi youtube uygulamasını kullandığı için açtığınız videonun sesini yakındaki kişiler duyamıyor", "error")
|
|||
|
end
|
|||
|
end)
|
|||
|
|
|||
|
RegisterNetEvent('client-muzik-cal')
|
|||
|
AddEventHandler('client-muzik-cal', function(pos, muzikAdi, link, serverId, mp3)
|
|||
|
if tostring(GetPlayerServerId(PlayerId())) ~= muzikAdi then
|
|||
|
calanMuzikler[muzikAdi] = {}
|
|||
|
calanMuzikler[muzikAdi]["duraklat"] = false
|
|||
|
calanMuzikler[muzikAdi]["serverId"] = serverId
|
|||
|
calanMuzikler[muzikAdi]["mp3"] = mp3
|
|||
|
|
|||
|
if mp3 then
|
|||
|
PlayUrlPos(muzikAdi, link, 0.1, pos)
|
|||
|
setVolumeMax(muzikAdi, 0.1)
|
|||
|
Distance(muzikAdi, 10)
|
|||
|
else
|
|||
|
PlayUrlPos(muzikAdi, link, 0.15, pos)
|
|||
|
setVolumeMax(muzikAdi, 0.15)
|
|||
|
Distance(muzikAdi, 15)
|
|||
|
end
|
|||
|
end
|
|||
|
end)
|
|||
|
|
|||
|
-- Müzik durdurma
|
|||
|
exports('Durdur', function(link)
|
|||
|
if musicOn then
|
|||
|
musicOn = false
|
|||
|
TriggerServerEvent("muzik-durdur", tostring(GetPlayerServerId(PlayerId())))
|
|||
|
end
|
|||
|
end)
|
|||
|
|
|||
|
RegisterNetEvent('client-muzik-durdur')
|
|||
|
AddEventHandler('client-muzik-durdur', function(muzikAdi)
|
|||
|
if GetPlayerServerId(PlayerId()) ~= muzikAdi then
|
|||
|
calanMuzikler[muzikAdi] = nil
|
|||
|
Destroy(muzikAdi)
|
|||
|
end
|
|||
|
end)
|
|||
|
|
|||
|
-- Müzik duraklatma
|
|||
|
exports('Duraklat', function(link)
|
|||
|
local myId = tostring(GetPlayerServerId(PlayerId()))
|
|||
|
TriggerServerEvent("muzik-duraklat", myId)
|
|||
|
end)
|
|||
|
|
|||
|
RegisterNetEvent('client-muzik-duraklat')
|
|||
|
AddEventHandler('client-muzik-duraklat', function(muzikAdi)
|
|||
|
if tostring(GetPlayerServerId(PlayerId())) ~= muzikAdi then
|
|||
|
if calanMuzikler[muzikAdi]["duraklat"] == false then
|
|||
|
calanMuzikler[muzikAdi]["duraklat"] = true
|
|||
|
Pause(muzikAdi)
|
|||
|
end
|
|||
|
end
|
|||
|
end)
|
|||
|
|
|||
|
-- Müzik duraklatma
|
|||
|
exports('Devamet', function(link)
|
|||
|
local myId = tostring(GetPlayerServerId(PlayerId()))
|
|||
|
TriggerServerEvent("muzik-devamet", myId)
|
|||
|
end)
|
|||
|
|
|||
|
RegisterNetEvent('client-muzik-devamet')
|
|||
|
AddEventHandler('client-muzik-devamet', function(muzikAdi)
|
|||
|
if tostring(GetPlayerServerId(PlayerId())) ~= muzikAdi then
|
|||
|
if calanMuzikler[muzikAdi]["duraklat"] == true then
|
|||
|
calanMuzikler[muzikAdi]["duraklat"] = false
|
|||
|
Resume(muzikAdi)
|
|||
|
end
|
|||
|
end
|
|||
|
end)
|
|||
|
|
|||
|
-- Müzik Konum güncelleme
|
|||
|
local time = 100
|
|||
|
Citizen.CreateThread(function()
|
|||
|
while true do
|
|||
|
Citizen.Wait(time)
|
|||
|
|
|||
|
for x, y in pairs(calanMuzikler) do
|
|||
|
local player = GetPlayerFromServerId(calanMuzikler[x]["serverId"])
|
|||
|
if player ~= -1 then
|
|||
|
local ped = GetPlayerPed(player)
|
|||
|
local kordinat = GetEntityCoords(ped)
|
|||
|
local benimKordinat = GetEntityCoords(PlayerPedId())
|
|||
|
|
|||
|
local mesafe = #(benimKordinat - kordinat)
|
|||
|
if mesafe < 200 then
|
|||
|
time = 100
|
|||
|
Position(x, kordinat)
|
|||
|
if calanMuzikler[x]["mp3"] then
|
|||
|
if IsPedInAnyVehicle(ped, true) == 1 then
|
|||
|
local vehicle = GetVehiclePedIsIn(ped, false)
|
|||
|
if GetEntitySpeed(vehicle) * 3.6 > 200.0 then
|
|||
|
Distance(x, 140)
|
|||
|
elseif GetEntitySpeed(vehicle) * 3.6 > 150.0 then
|
|||
|
Distance(x, 125)
|
|||
|
elseif GetEntitySpeed(vehicle) * 3.6 > 110.0 then
|
|||
|
Distance(x, 100)
|
|||
|
elseif GetEntitySpeed(vehicle) * 3.6 > 90.0 then
|
|||
|
Distance(x, 80)
|
|||
|
elseif GetEntitySpeed(vehicle) * 3.6 > 60.0 then
|
|||
|
Distance(x, 65)
|
|||
|
elseif GetEntitySpeed(vehicle) * 3.6 > 30.0 then
|
|||
|
Distance(x, 40)
|
|||
|
else
|
|||
|
Distance(x, 25)
|
|||
|
end
|
|||
|
else
|
|||
|
Distance(x, 10)
|
|||
|
end
|
|||
|
else
|
|||
|
if IsPedInAnyVehicle(ped, true) == 1 then
|
|||
|
local vehicle = GetVehiclePedIsIn(ped, false)
|
|||
|
if GetEntitySpeed(vehicle) * 3.6 > 200.0 then
|
|||
|
Distance(x, 140)
|
|||
|
elseif GetEntitySpeed(vehicle) * 3.6 > 150.0 then
|
|||
|
Distance(x, 125)
|
|||
|
elseif GetEntitySpeed(vehicle) * 3.6 > 110.0 then
|
|||
|
Distance(x, 100)
|
|||
|
elseif GetEntitySpeed(vehicle) * 3.6 > 90.0 then
|
|||
|
Distance(x, 80)
|
|||
|
elseif GetEntitySpeed(vehicle) * 3.6 > 60.0 then
|
|||
|
Distance(x, 65)
|
|||
|
elseif GetEntitySpeed(vehicle) * 3.6 > 30.0 then
|
|||
|
Distance(x, 40)
|
|||
|
else
|
|||
|
Distance(x, 25)
|
|||
|
end
|
|||
|
else
|
|||
|
Distance(x, 15)
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
else
|
|||
|
time = 2000
|
|||
|
Position(x, kordinat)
|
|||
|
end
|
|||
|
else
|
|||
|
local muzikAdi = tostring(calanMuzikler[x]["serverId"])
|
|||
|
calanMuzikler[muzikAdi] = nil
|
|||
|
Destroy(muzikAdi)
|
|||
|
end
|
|||
|
end
|
|||
|
end
|
|||
|
end)
|
|||
|
end
|