Kleine-Scripting-Fragen

  • Verzeichnes : D:\Games\Multi Theft Auto\server\mods\deathmatch\resources\vehicledamage


    meta.xml :


    Code
    <meta>
    <info author="Jason" name="Vehiclegodmode" version="1.0.0" type="script"/>
    <script src="damage.lua" type="server"/>
    </meta>


    damage.lua :


    Code
    function setVehiclesDamageProof()
    for i, v in pairs(getElementsByType("vehicle")) do
    setVehicleDamageProof(v,true)
    end
    end
    addEventHandler("onResourceStart",getRootElement(),setVehiclesDamageProof)


    Hab das von Nevo auch mal probiert ohne function aber hat nichts gebracht
    Btw im Debugscript 3 kommt jetzt keine Fehlermeldung mehr , aber die Autos gehen immernoch kaputt

  • Ich starte den Server
    logge mich ein
    starte das script


    habs auch schon so probiert das ich das script vor dem einloggen starte quasi im Autostart.


    Egal ob schon vorhandene oder gespawnte Fahrzeuge keins von beiden funktioniert ;(

  • Lässt sich das Fahrzeug bevor du einsteigst mit einer Waffe zerstören? Im play gamemode sind die Fahrzeuge anfangs DamageProof
    und sobald wer einsteigt nicht mehr

    Also wenn ich ein Auto bsp spawne und drauf schieße gehts kaputt ja


    Wenn ich ein Auto spawne, das Script neu starte und dann drauf schieße nichtmehr

  • Wie gesagt, das Script funktioniert nur für Fahrzeuge die bevor das Script gestartet wurde bereits gespawnt waren.

    hat @SlliXdoch geschrieben. Die Schleife wird nur beim Ressourcen Start ausgeführt. D.h. nur vor dem Start erstellte Fahrzeuge sind Damage-Proof. Du musst die Fahrzeuge die du nach dem Start der Resource mit createVehicle erstellst auch noch damageproof setzen.


    Alternativ könnte es auch funktionieren wenn du das mit dem onElementStartSync event machst, habe ich aber nicht getestet.

  • Die Warnung gibt aus, dass der Eventhandler die Funktion nicht finden kann.

    Lua
    addEventHandler("onResourceStart",getRootElement(),setVehiclesDamageProof)
    function setVehiclesDamageProof()
    for i, v in pairs(getElementsByType("vehicle")) do
    setVehicleDamageProof(v,true)
    end
    end

    Man müsste theortisch einfach den Eventhandler eine Zeile über der Funktion verschieben.. cool oder ? :3


    Kannst dich jetzt hinter deiner Mauer aus passiv aggressiven Klassikern wie "mimimi" oder "typisch Com" natürlich wie der Boss fühlen, weil du es jetzt allen mal so richtig gegeben hast

    Einmal editiert, zuletzt von The0ne ()

  • Es ist soweit ich weiß egal ob addEventHandler oben oder unten steht (außer die funktion ist local)
    diesen Fehler hat er aber bereits gelöst gehabt, seine Fahrzeuge wollten bloß nicht auf DamageProof gehen

    Einmal editiert, zuletzt von Kelox ()

  • Hier mal ein kleines Script und so sollte es auch gehen, konnte es nicht testen weil mein Lokaler Server nicht geht...


    Kannst dich jetzt hinter deiner Mauer aus passiv aggressiven Klassikern wie "mimimi" oder "typisch Com" natürlich wie der Boss fühlen, weil du es jetzt allen mal so richtig gegeben hast

  • Die Warnung gibt aus, dass der Eventhandler die Funktion nicht finden kann.

    Lua
    addEventHandler("onResourceStart",getRootElement(),setVehiclesDamageProof)
    function setVehiclesDamageProof()
    for i, v in pairs(getElementsByType("vehicle")) do
    setVehicleDamageProof(v,true)
    end
    end

    Man müsste theortisch einfach den Eventhandler eine Zeile über der Funktion verschieben.. cool oder ? :3

    Nur leider verursacht genau dein Code diesen Fehler, da der EventHandler eben nicht über der Funktion sein darf. Lua geht den Code soweit ich weiß von oben nach unten durch, heißt der EventHandler kann noch gar nicht "wissen" das es die Funktion gibt die er aufrufen will.

  • Aber andersrum findet er auch die Funktion nicht, laut Fehlermeldung (nil == 0)

    Lua
    addEventHandler("onResourceStart",getRootElement(),
    function()
    for i, v in pairs(getElementsByType("vehicle")) do
    setVehicleDamageProof(v,true)
    end
    end)


    Kannst dich jetzt hinter deiner Mauer aus passiv aggressiven Klassikern wie "mimimi" oder "typisch Com" natürlich wie der Boss fühlen, weil du es jetzt allen mal so richtig gegeben hast

  • in deinem code stand diese Zeile:
    local marker=createMaker(-1782.8000488281,1209,25.10000038147,true)


    createMarker wurde falsch geschrieben & das 4. Argument muss die Marker art sein (z.B. "corona")


    Habs eben bei mir getestet & es hat geklappt :D

  • Habs eben bei mir getestet & es hat geklappt

    Hö? Ich habe das so jetzt:


    Es geht aber nicht. ^^

    Nicht cool zu sein, ist nicht Schwul zu sein?? Ok..

  • Bei mir funktioniert es ohne Fehler
    Das Script sieht bei mir so aus:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!