Ist bei mir nicht verfügbar ;).
Müsste jetzt gehen denke ich :D. Dank GEMA darf man ja nicht einmal mehr ein Lied in den Mund nehmen ohne das es gesperrt wird.
Ist bei mir nicht verfügbar ;).
Müsste jetzt gehen denke ich :D. Dank GEMA darf man ja nicht einmal mehr ein Lied in den Mund nehmen ohne das es gesperrt wird.
Hallöchen,
Nach benutzen der Suchfunktion habe ich nichts annäherendes zur Funktion getSoundWaveData gefunden.
Jedenfalls geht es wie der Titel erwähnt um getSoundWaveData und detailliert um den Parameter der iSamples. Könnte jemand bitte näheres zu diesem Parameter sagen ?
Nach rumexperimentieren mit der Funktion kam dies raus :
Video das in Deutschland verfügbar ist : Hier
Ich entschuldige mich für die FPS-Einbrüche(falscher Video-Codec). Man kann jedoch die Schwingungen erkennen und ich frage mich wofür diese mehreren Schwingungen detailliert stehen,da ich nur grob die Funktion behandelt habe.
Ich denke,dass es die Version noch nicht gibt. Freue mich aber auf die Funktion. Ich habe sie nur genannt, um für die Zukunft einen Ansatz zu haben
So wie gesagt hier einige Beispiele:
Zunächst zu
function start_konfetti()
local vehicle = getPedOccupiedVehicle(localPlayer)
if vehicle then
local x,y,z = getElementPosition(veh) -- diese Koordinaten sind nicht angemessen für diesen Zweck, es müssen die Offsets vom Fahrzeugkofferaum hinzugefügt werden
local konfetti_effect = createEffect('prt_bubble',x,y,z)
setTimer(remove_konfetti,2000,1,konfetti_effect)
end
end
addCommandHandler("konfetti",start_konfetti,false,false)
function remove_konfetti(pEffect)
if pEffect then
destroyElement(pEffect)
end
end
Alles anzeigen
Die createEffect ist wohl die Einfachste Methode.
Nun zur dxDrawImage-Mehtode:
FLUGZEIT = 2000 -- Bewegungssimulationszeit in ms
KONFETTI_TEXTUR = dxCreateTexture( "konfetti.png" )
flug_x,flug_y,flug_z = 0,0,2 -- Diese Koordinaten geben an in welche Richtung das Konfetti fliegen soll in diesem Fall 2 Z-Einheiten nach oben.
function konfetti_start()
local vehicle = getPedOccupiedVehicle(localPlayer)
if vehicle then
tick = getTickCount()
tick_ende = tick + FLUGZEIT
start_x,start_y,start_z = getElementPosition(vehicle)
addEventHandler("onClientRender",root,konfetti_zeichnen)
end
end
addCommandHandler("konfetti",konfetti_start,false,false)
function konfetti_zeichnen()
local jetzt = getTickCount() -- Bei jedem Render Tickerhalten
local vergangen = jetzt - tick -- Etwas Mathe, nehmen wir an jetzt sind wir bei 4 sekunden und bei 3Sekunden ist gestartet also sind 4-3 sekunden = 1 Sekunde seit dem Start vergangen
local dauer = tick_ende - tick -- Gesamte Dauer z.B bei 0 Sekunden ist der Start und bei 4 Sekunden das ende also dauert es gesamt 4-0 = 4 Sekunden!
-- Vor dem nächsten Schritt muss noch gesagt werden, dass Fortschritt bei interpolateBetween ein Float(Zahl mit Kommaangaben) zwischen 0 und 1 ist -> 0.5 ist z.b die Hälfte!
local progress = vergangen/dauer -- sagen wir z.B es sind 2 Sekunden von 4 Sekunden sind vergangen also sind wir bei = 2/4 = 0.5 also der Hälfte des gesamten Fortschritts
local x,y,z = interpolateBetween(start_x,start_y,start_z,start_x+flug_x,start_y+flug_y,start_z+flug_z,progress,"OutBack") -- Interpolierung durch die Funktion, wobei ich zu diesem "OutBack" unten noch etwas sagen werde.
local sx,sy = getScreenFromWorldPosition(x,y,z) -- Aus Vektorwerten eine Screenkoordinate erhalten, also einfach nur 3D weltkoordinaten auf den Bildschirm 2D angeben
local textur_breite,texture_hoehe = dxGetMaterialSize ( KONFETTI_TEXTUR )
if sx and sy then
dxDrawImage(sx,sy,textur_breite,textur_hoehe,KONFETTI_TEXTUR)
end
if progress >= 1 then
removeEventHandler("onClientRender",root,konfetti_zeichnen)
end
end
Alles anzeigen
Bemerke bitte, dies ist alles ungetestet und aus freien Verstand heraus, es kann sein,dass ich durch mangelnde Intelligenz Fehler gemacht habe, falls ja sprech diese bitte hierdrunter an.
Ansonsten falls du es realer Aussehen lassen willst benutze anstatt
bitte diese Useful function von qaisjp welche dich 3D Texturen zeichnen lässt. Passe jedoch die Parameter an.
Zu "OutBack" :
Das "OutBack" ist eine der Interpolierungsfunktionen.
Falls nur ein lineares Verhalten simuliert werden soll so benutze "Linear" ansonsten sieh dir diese Seite für weitere Informationen an:
https://wiki.multitheftauto.com/wiki/Easing
Viel Spaß ansonsten!
//EDIT
Bitte nicht vergessen wie sbx320 schon erwähnte minclientversion zu erhöhen und des Weiteren das Konfetti.png in der meta.xml einzutragen
//EDIT2
Vielen Dank an sbx320 für den Link-Fix
Da ich morgen Schule habe geht das aus Schlafgründen nicht mehr *sleeping* Ausserdem würde dies mit dem Handy eine Ewigkeit in Anspruch nehmen. Ich werde aber gerne morgen Nachmittag falls keiner mir zuvorkommt ein Beispiel zeigen.
Es wäre möglich durch die Benutzung von
man muss einige Effekte zusammenmischen. Eine weitere Variante wäre, dass mit getScreenFromWorldPosition an der Autohinterseite mit den dx Funktionen entweder Konfettibilder oder mit
kleine Pixel wie Konfetti bei jedem Render gezichnet wird. Es muss natürlich beim Zeichnen auch durch Interpolierungswerte oder anderswie die Bewegung des Konfettis berechnet und so gezeichnet werden.
bei dem "onPlayerWasted"-EventHandler getElementModel() vor dem spawnPlayer und den erhaltenen Wert anschliessend bei spawnPlayer als Skin-Argument angeben.
Was schreibt ihr eig. allesamt, 0,0,0 wird gespawnt, jedoch fällt man kurz soweit nach unten bis man wieder die Groundposition erreicht, das ist irgendwo neben dem Nullpunkt am Steinzaun. Mit dem Spawnen wird es nicht an den Koordinaten liegen!
Dann einfach mit dem Timer triggerClientEvent an root triggern.
Ich weiss nicht wie du das meinst, aber
ich scheiss mal drauf.
Gute Überlegung,Gut gemacht!
//Edit 69. Beitrag. Das muss gefeiert werden!
Dann nehme ich an,dass bei dem GATE-Script für das Groove-Tor, zuerst die Abfrage kommt,ob der Spieler der den Befehl ausführt in der Fraktion ist,bevor die Abfrage seiner Distanz zum Tor von der Groove kommt.
versuch in der Konsole >> loadmodule mta_mysql.dll << oder wie das Module auch heißen mag
//Edit bin mir nicht sicher ob loadmodules oder loadmodule
ist doch klar kein Modul.
Stimmt, ich hatte mir nur die erste Funktion angeschaut, welche die Blips erstellt. Die zweite hatte ich nicht beachtet.
Shyim: ist doch das gleiche wie :
oder ?
Der einzige Unterschied ist doch,dass ich das blip nicht definieren muss um die Größe zu verändern.
Korrigiere mich wenn ich mich irre.
Benutze bei deiner Schleife bitte ipairs anstatt pairs, da du eine Tabelle der gesamten Spieler durchgehst.
//Edit Also bei mir funktioniert es. Es könnte an deiner Serial-Abfrage liegen, da ich sie beim Testen rausgenommen habe und es dann geklappt hat.
Achte auf die Syntax >> funktion(arg1,arg2,[...])
setBlipSize(element Blip, icon Size)
>>Bei LUA muss vor Werten kein int angegeben werden, des Weiteren kannst du keine Variablen mit einem Space dazwischen erstellen.
Du hast blip nicht definiert. Nun kannst du so vorgehen:
somit müsstest du es nicht definieren, sonderen könntest es in der richtigen Größe sofort in die Tabelle einfügen.
Das ist völlig sinnlos speedwayolli: .
Das local wird für seine gesamte Script-Datei gültig sein,sofern es ausserhalb der Funktion definiert wird.
Des Weiteren ist es sinnlos einen String-Wert einer Variablen zu zuordnen ohne ' ' oder " " zu benutzen.
Achte darauf, dass du nicht in einem anderen Script die Variable torstatus benutzt hast, da diese in deinem Script nicht lokal.
Ich finde es sieht sehr gut aus.
Ist auch sehr gut dekoriert wie schon gesagt wurde.
9/10
Sobald du es attachest wird es für jeden in der Umgebung gehört. Ich denke das wonach du suchst ist
damit kannst du den maximalen Abspielradius einstellen.