[RELEASE] Dynamisches Tankstellen Banner

  • Hab momentan noch keine Bilder werde aber welche nachreichen. Hab nur eine Fertig gerenderte Texture:



    Hier das nachgereichte Bild:


    Benzinpreise können so aktualisiert werden:

    Lua
    triggerClientEvent(source, "onFuelPriceUpdate", source, PREIS1, PREIS2, PREIS3, PREIS4)


    Um nicht 8 verschiedene Werte zu schicken benutz ich Kommazahlen.


    EDIT:
    War nur ein Test weil es mich interessiert hat ob sowas überhaupt möglich ist und wie es aussehen wird. Bin eigentlich ganz zufrieden mit dem Ergebnis.

  • Hab mir mal den Code angeschaut und hätte vlt. noch ein paar Verbesserungsvorschläge.


    Ich würde die Preise in einer Table triggern:


    Lua
    {
    {name = "Super", price = 321.2},
    {name = "Super Plus", price = 321.2},
    {name = "Super E10", price = 321.2},
    }


    Würde ich in eine lokale Funktion packen mit den Parameter yOffset und des Tabelleneintrages mit dem Preis und Name (Einfach über die Tabelle schleifen).


    Die Berechnung wegen Major und MInor würde ich dann auch in dieser Funktion machen.

    Lua
    dxDrawRectangle(x-3, y+1, 150, 29, tocolor(0, 0, 0, 220))
    dxDrawRectangle(x+155, y+1, 65, 29, tocolor(255, 109, 16, 220))
    dxDrawText("Super", x, y, x, y, tocolor(255, 255, 255, 255), 2, "default-bold")
    dxDrawText(tostring(superPriceMajor), x+160, y, x+160, y, tocolor(255, 255, 255, 255), 2, "default-bold")
    dxDrawText(tostring(superPriceMinor), x+205, y+2, x+205, y+2, tocolor(255, 255, 255, 255), 1, "default-bold")


    Damit könntest du den Code verringern und wärst sogar noch flexibler. Ansonsten sieht es wirklich gut aus :)

    If A equals success, then the formula is A equals X plus Y plus Z. X is work. Y is play. Z is keep your mouth shut.

  • Erstmal danke fürs Anschauen!


    Wegen deinem Verbesserungsvorschlag, ja kann ich machen. War wie gesagt eigentlich nur ein Test ob man in MTA überhaupt auf Texturen rendern kann, und wie man sieht geht das (Was mich überrascht hat haha)!


    (Hab auch gerade noch nen Fehler gefunden. Ich lade den Shader bei "client/textureReplace.fx" ist aber im Wurzelverzeichnis..)


    EDIT:
    @MegaThorx


    Mir erschließt sich aber der sich hinter der Lokalen funktion leider nicht :/.
    Hab das jetzt mal schnell umgeschrieben und hab es so gemacht:


    1. In der onFuelPriceUpdate funktion kopier ich die komplette Tabelle in eine lokale Variable (Da ich alle Preise für onClientRestore brauche. Ich könnte zwar onFuelPriceRequest benutzen, allerdings wäre das ziemlich sinnlos wenn sich die Preise sowieso nicht geändert haben)
    2. In updateRenderTarget loope ich durch die komplette Tabelle und rendere auf das RenderTarget

    Einmal editiert, zuletzt von Sub_tixx ()

  • Mit einer Funktion


    Direkt in der Schleife



    If A equals success, then the formula is A equals X plus Y plus Z. X is work. Y is play. Z is keep your mouth shut.

  • Okay.. Versteh zwar immer noch nicht was das bringen soll aber ich habs mal gemacht. Neue Datei ist im ersten Beitrag

    Inwiefern? Wir könnten gerne mal im Teamspeak reden. Mit der seperaten Funktion hat in diesem Fall kaum einen Mehrwert.. Denke da gerade wieder wie ich so eine Klasse aufbauen würde.

    If A equals success, then the formula is A equals X plus Y plus Z. X is work. Y is play. Z is keep your mouth shut.

  • Ja genau, meinte, was die lokale Funktion bringen soll :P. Da die Koordinaten sowieso fixiert sind und es nichts ändert ob ich die Preise in der Schleife rendere oder in einer lokalen Funktion.

Jetzt mitmachen!

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