Script was nicht zum Erfolg führt

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Script was nicht zum Erfolg führt

    Guten Abend zusammen,

    habe folgendes Problem, ich bin gerade dabei ein Script auf meine passenden Bedürfnisse umzuschreiben, was aber nicht so ganz klappt.
    Das Script soll am Ende folgende Sachen können,

    in einem vor mir angegebenen Fahrzeug eine Sirene über ein Bindkey starten, sowie mit der gleichen Taste stoppen.
    Es soll nicht nur ein Sound abgespielt werden, sondern mehrere Sprich Beispiel:

    Taste 1 Sirene Stadt / An-Aus
    Taste 2 Sirene Land / An-Aus
    Taste 3 Yelp / An-Aus

    Diese 3 tasten sollen zum Beispiel nur bei: Police SF/Police LS/Police LV gehen

    das folgende Fahrzeug Ambulance soll genau das gleiche tun können, außer das hier eine andere Sound Datei abspiele.

    Taste 1 Sirene Stadt / An-Aus
    Taste 2 Sirene Land / An-Aus

    Wenn ich die Taste 2 drücke wird der Sound abgespielt, drücke ich diese erneut, wird der Sound neu gestartet, drücke ich die Taste 6, so wird der Sound beendet.
    In der Konsole wird aber immer wieder eine Warnung ausgespuckt aber auch nur, wenn ich die Taste 2 drücke, ohne in einem von den angegeben Fahrzeugen zu sitzen.


    Folgener Fehler wird bei meiner jetzigen Variante angezeigt, aber auch nur wenn ich es außerhalb vom Fahrzeug die Taste 2 drücke,
    WARNING: Sirene/s_ansage.lua:4: Bad argument @ 'getElementModel' [Expected element at argument 1, got boolean]

    Ich muss dazu sagen, das ich mich überhaupt nicht mit Scripten auskenne und ich über jede Hilfe dankbar bin, die zu meinem Ziel führt.

    LUA-Quellcode: allstop.lua

    1. function stop(player)
    2. stopSound( sound )
    3. end
    4. addCommandHandler ( "stopalle", stop)
    5. bindKey("6", "down", "stopalle")

    XML-Quellcode: meta.xml

    1. <meta>
    2. <info name="Polizeiansage" author="Spanky" version="1.0" type="script" />
    3. <script src="c_ansage.lua" type="client"></script>
    4. <script src="stop.lua" type="client"></script>
    5. <script src="allstop.lua" type="client"></script>
    6. <script src="s_ansage.lua" type="server"></script>
    7. <file src="ansage.mp3"></file>
    8. </meta>

    LUA-Quellcode: stop.lua

    1. function stop(player)
    2. stopSound( sound )
    3. end
    4. addCommandHandler ( "c", stop)
    5. bindKey("2", "down", "c")

    LUA-Quellcode: s_ansage.lua

    1. function pdansage(player)
    2. local car = getPedOccupiedVehicle ( player )
    3. local x, y, z = getElementPosition(player)
    4. if (getElementModel(car) == 427) or (getElementModel(car) == 497) or (getElementModel(car) == 528) or (getElementModel(car) == 596) or (getElementModel(car) == 597) or (getElementModel(car) == 598) or (getElementModel(car) == 599) or (getElementModel(car) == 601) then
    5. triggerClientEvent ("Ansage", getRootElement(), player, x, y, z )
    6. else
    7. outputChatBox ( "Du sitzt in keinem Polizeiauto!", player )
    8. end
    9. end
    10. addCommandHandler ( "c", pdansage)

    LUA-Quellcode: c_ansage.lua

    1. function speak (player,x,y,z)
    2. sound = playSound3D ("ansage.mp3", x, y, z)
    3. car = getPedOccupiedVehicle ( player )
    4. attachElements(sound,car)
    5. setSoundMaxDistance( sound, 100 )
    6. end
    7. addEvent ("Ansage", true)
    8. addEventHandler ("Ansage", getRootElement(), speak )
    9. bindKey("2", "down", "c")
    Alles anzeigen
  • 1. hast du zweimal den Command „c“ gebindet- Das überschneidet sich.

    2. Für den Fehler der kommt: mach in der Datei s_ansage.lua unter der Variable „car“ folgende Abfrage

    LUA-Quellcode

    1. if not car then return end

    Edit: Wenn du möchtest, können wir uns mal auf dem mta ts treffen und dann können wir gemeinsam schauen, wie wir deine Wünsche umsetzen. Der Text hat mich mehr verwirrt als alles andere xD
    Dumme Gedanken hat jeder, aber der Weise verschweigt sie.

    Mein GitHub: GitHub
    Discord: n0pe#3317
    Teamspeak: Visual-Life
  • 1. hast du zweimal den Command „c“ gebindet- Das überschneidet sich. ja das stimmt aber zumindest wiederholt sich die Audio wie gewünscht statt immer wieder von neu an zu gehen und mach 8x ineinander die Audio hört

    2. Für den Fehler der kommt: mach in der Datei s_ansage.lua unter der Variable „car“ folgende Abfrage. das würde zwar die Warnung entfernen aber zum ziel führt mich dieses leider nicht.

    Dein Angebot das wir uns mal im Mta TS treffen, würde ich gerne in Anspruch nehmen.