forked from Simnation/Main
Update fireworks.lua
This commit is contained in:
parent
9ed6fbd344
commit
8bbeaa9bd0
1 changed files with 64 additions and 14 deletions
|
@ -62,33 +62,79 @@ local function fireworkText()
|
|||
end)
|
||||
end
|
||||
|
||||
-- Verbesserte Feuerwerk-Funktion
|
||||
local function startFirework(asset, coords)
|
||||
fireworkTime = Config.Fireworks.delay
|
||||
fireworkLoc = { x = coords.x, y = coords.y, z = coords.z }
|
||||
|
||||
-- Stelle sicher, dass das Asset geladen ist
|
||||
if not HasNamedPtfxAssetLoaded(asset) then
|
||||
RequestNamedPtfxAsset(asset)
|
||||
local timeout = 0
|
||||
while not HasNamedPtfxAssetLoaded(asset) and timeout < 100 do
|
||||
Wait(10)
|
||||
timeout = timeout + 1
|
||||
end
|
||||
|
||||
if timeout >= 100 then
|
||||
print("Fehler: Asset konnte nicht geladen werden: " .. asset)
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
CreateThread(function()
|
||||
fireworkText()
|
||||
while fireworkTime > 0 do
|
||||
Wait(1000)
|
||||
fireworkTime -= 1
|
||||
fireworkTime = fireworkTime - 1
|
||||
end
|
||||
|
||||
-- Debug-Nachricht hinzugefügt
|
||||
print("Countdown beendet, starte Feuerwerk mit Asset: " .. asset)
|
||||
|
||||
-- Verschiedene Höhen für verschiedene Effekte
|
||||
local heights = {15.0, 20.0, 25.0, 30.0}
|
||||
|
||||
for i = 1, math.random(5, 10), 1 do
|
||||
local firework = fireworkList[asset][math.random(1, #fireworkList[asset])]
|
||||
local height = heights[math.random(1, #heights)]
|
||||
|
||||
-- Debug-Nachricht hinzugefügt
|
||||
print("Starte Feuerwerk-Effekt: " .. firework)
|
||||
print("Starte Feuerwerk-Effekt: " .. firework .. " auf Höhe: " .. height)
|
||||
|
||||
-- Stelle sicher, dass das Asset für jeden Effekt aktiviert wird
|
||||
UseParticleFxAssetNextCall(asset)
|
||||
StartNetworkedParticleFxNonLoopedAtCoord(firework, fireworkLoc.x, fireworkLoc.y, fireworkLoc.z + 42.5, 0.0, 0.0, 0.0, math.random() * 0.3 + 0.5, false, false, false)
|
||||
Wait(math.random(100, 500)) -- Feste Werte für bessere Konsistenz
|
||||
|
||||
-- Erhöhte Skalierung für bessere Sichtbarkeit
|
||||
local scale = math.random() * 0.8 + 1.2 -- Zwischen 1.2 und 2.0
|
||||
|
||||
-- Starte den Effekt
|
||||
local success = StartParticleFxNonLoopedAtCoord(
|
||||
firework,
|
||||
fireworkLoc.x,
|
||||
fireworkLoc.y,
|
||||
fireworkLoc.z + height,
|
||||
0.0, 0.0, 0.0,
|
||||
scale,
|
||||
false, false, false
|
||||
)
|
||||
|
||||
if success then
|
||||
print("Effekt erfolgreich gestartet")
|
||||
else
|
||||
print("Fehler beim Starten des Effekts")
|
||||
end
|
||||
|
||||
-- Füge einen Soundeffekt hinzu
|
||||
PlaySoundFromCoord(-1, "firework_burst_01", fireworkLoc.x, fireworkLoc.y, fireworkLoc.z, "dlc_sum20_beach_party_sounds", true, 20.0, false)
|
||||
|
||||
-- Variiere die Wartezeit zwischen den Effekten
|
||||
Wait(math.random(200, 800))
|
||||
end
|
||||
|
||||
fireworkLoc = nil
|
||||
end)
|
||||
end
|
||||
|
||||
-- Lade alle Assets beim Start
|
||||
CreateThread(function()
|
||||
local assets = {
|
||||
'scr_indep_fireworks',
|
||||
|
@ -99,20 +145,25 @@ CreateThread(function()
|
|||
|
||||
for i = 1, #assets do
|
||||
local asset = assets[i]
|
||||
if not HasNamedPtfxAssetLoaded(asset) then
|
||||
RequestNamedPtfxAsset(asset)
|
||||
while not HasNamedPtfxAssetLoaded(asset) do
|
||||
Wait(10)
|
||||
end
|
||||
print("Lade Asset: " .. asset)
|
||||
RequestNamedPtfxAsset(asset)
|
||||
local timeout = 0
|
||||
while not HasNamedPtfxAssetLoaded(asset) and timeout < 500 do
|
||||
Wait(10)
|
||||
timeout = timeout + 1
|
||||
end
|
||||
|
||||
if HasNamedPtfxAssetLoaded(asset) then
|
||||
print("Asset erfolgreich geladen: " .. asset)
|
||||
else
|
||||
print("Fehler beim Laden des Assets: " .. asset)
|
||||
end
|
||||
end
|
||||
|
||||
-- Debug-Nachricht hinzugefügt
|
||||
print("Alle Feuerwerk-Assets geladen")
|
||||
end)
|
||||
|
||||
RegisterNetEvent('fireworks:client:UseFirework', function(itemName, assetName)
|
||||
-- Debug-Nachricht hinzugefügt
|
||||
print("Feuerwerk-Event ausgelöst mit Item: " .. itemName .. " und Asset: " .. assetName)
|
||||
|
||||
QBCore.Functions.Progressbar('spawn_object', Lang:t('firework.place_progress'), 3000, false, true, {
|
||||
|
@ -130,7 +181,6 @@ RegisterNetEvent('fireworks:client:UseFirework', function(itemName, assetName)
|
|||
TriggerEvent('qb-inventory:client:ItemBox', QBCore.Shared.Items[itemName], 'remove')
|
||||
local pos = GetEntityCoords(PlayerPedId())
|
||||
|
||||
-- Debug-Nachricht hinzugefügt
|
||||
print("Starte Feuerwerk an Position: " .. pos.x .. ", " .. pos.y .. ", " .. pos.z)
|
||||
|
||||
startFirework(assetName, pos)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue