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)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Verbesserte Feuerwerk-Funktion
|
||||||
local function startFirework(asset, coords)
|
local function startFirework(asset, coords)
|
||||||
fireworkTime = Config.Fireworks.delay
|
fireworkTime = Config.Fireworks.delay
|
||||||
fireworkLoc = { x = coords.x, y = coords.y, z = coords.z }
|
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()
|
CreateThread(function()
|
||||||
fireworkText()
|
fireworkText()
|
||||||
while fireworkTime > 0 do
|
while fireworkTime > 0 do
|
||||||
Wait(1000)
|
Wait(1000)
|
||||||
fireworkTime -= 1
|
fireworkTime = fireworkTime - 1
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Debug-Nachricht hinzugefügt
|
|
||||||
print("Countdown beendet, starte Feuerwerk mit Asset: " .. asset)
|
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
|
for i = 1, math.random(5, 10), 1 do
|
||||||
local firework = fireworkList[asset][math.random(1, #fireworkList[asset])]
|
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 .. " auf Höhe: " .. height)
|
||||||
print("Starte Feuerwerk-Effekt: " .. firework)
|
|
||||||
|
|
||||||
|
-- Stelle sicher, dass das Asset für jeden Effekt aktiviert wird
|
||||||
UseParticleFxAssetNextCall(asset)
|
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
|
end
|
||||||
|
|
||||||
fireworkLoc = nil
|
fireworkLoc = nil
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Lade alle Assets beim Start
|
||||||
CreateThread(function()
|
CreateThread(function()
|
||||||
local assets = {
|
local assets = {
|
||||||
'scr_indep_fireworks',
|
'scr_indep_fireworks',
|
||||||
|
@ -99,20 +145,25 @@ CreateThread(function()
|
||||||
|
|
||||||
for i = 1, #assets do
|
for i = 1, #assets do
|
||||||
local asset = assets[i]
|
local asset = assets[i]
|
||||||
if not HasNamedPtfxAssetLoaded(asset) then
|
print("Lade Asset: " .. asset)
|
||||||
RequestNamedPtfxAsset(asset)
|
RequestNamedPtfxAsset(asset)
|
||||||
while not HasNamedPtfxAssetLoaded(asset) do
|
local timeout = 0
|
||||||
Wait(10)
|
while not HasNamedPtfxAssetLoaded(asset) and timeout < 500 do
|
||||||
end
|
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
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Debug-Nachricht hinzugefügt
|
|
||||||
print("Alle Feuerwerk-Assets geladen")
|
print("Alle Feuerwerk-Assets geladen")
|
||||||
end)
|
end)
|
||||||
|
|
||||||
RegisterNetEvent('fireworks:client:UseFirework', function(itemName, assetName)
|
RegisterNetEvent('fireworks:client:UseFirework', function(itemName, assetName)
|
||||||
-- Debug-Nachricht hinzugefügt
|
|
||||||
print("Feuerwerk-Event ausgelöst mit Item: " .. itemName .. " und Asset: " .. assetName)
|
print("Feuerwerk-Event ausgelöst mit Item: " .. itemName .. " und Asset: " .. assetName)
|
||||||
|
|
||||||
QBCore.Functions.Progressbar('spawn_object', Lang:t('firework.place_progress'), 3000, false, true, {
|
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')
|
TriggerEvent('qb-inventory:client:ItemBox', QBCore.Shared.Items[itemName], 'remove')
|
||||||
local pos = GetEntityCoords(PlayerPedId())
|
local pos = GetEntityCoords(PlayerPedId())
|
||||||
|
|
||||||
-- Debug-Nachricht hinzugefügt
|
|
||||||
print("Starte Feuerwerk an Position: " .. pos.x .. ", " .. pos.y .. ", " .. pos.z)
|
print("Starte Feuerwerk an Position: " .. pos.x .. ", " .. pos.y .. ", " .. pos.z)
|
||||||
|
|
||||||
startFirework(assetName, pos)
|
startFirework(assetName, pos)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue