[Include] Attach3DTextLabelToObject

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Da mir aufgefallen ist, dass diese Funktion nicht existiert und dies sehr schade ist, habe ich mal eine Include geschrieben, die diese Funktion implementiert.


    Allgemeines:
    Folgende Funktionen werden durch das Include geliefert:


    native Attach3DTextLabelToObject(Text3D:id, objectid, Float:OffsetX, Float:OffsetY, Float:OffsetZ);
    native Detach3DTextLabel(Text3D:id);

    native AttachPlayer3DTextLabelToObject(playerid, PlayerText3D:id, objectid, Float:OffsetX, Float:OffsetY, Float:OffsetZ);
    native DetachPlayer3DTextLabel(PlayerText3D:id);


    Ich denke mal, die Attach Funktionen erklären sich von selbst :)
    Was zu dem Detach zu sagen ist, falls ihr zuerst das Label an ein Objekt und dann z.B. an ein Auto attacht, müsst ihr es zuerst mit Detach lösen, sonst funktioniert das nicht! :)


    Ich nutze einen Streamer:
    Falls ihr einen Streamer nutzt, müsst ihr die Include unter der streamer Include einfügen (sprich so):


    #include <streamer>
    #include <attach> //<< muss unter der Streamer-Include stehen


    Dann erkennt die Include das und verwendet andere Funktionen :)


    Speed:
    Also, wenn ihr 1000 3DTextLabeles erstellt und diese an 1000 Objekte attacht und sich dann alle in unterschiedliche Richtungen bewegen, selbst dann dauert ein Update aller Labels nur ~9ms!


    Ich nutze ein Filterscript?
    Wenn ihr die Include in einem Filterscript nutzt, müsst ihr das angeben und zwar so:


    #define FILTERSCRIPT
    #include <attach>


    Download:
    Source-Code: Pastebin
    Direkter-Download: MediaFire


    Schlusswort:
    Ich hoffe einige von euch werden es mal brauchen :)


    Falls ihr Fragen zu dem System oder der Anwendung hat, wenn Probleme auftreten oder ihr einen Kommentar abgeben wollt, einfach posten :)


    mfg. :thumbup:


    //Edit: Pastebin

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    Einmal editiert, zuletzt von Kaliber ()

  • Ist doch wie bei den Objekten.


    Der Streamer streamt standartmäßig keine 1000 Objekte sondern nur 500.


    Kaliber: Bist du dir sicher, dass GetObjectPos während des bewegens auch die richtige Postion ausgibt ?
    Beim Streamer kann ich mir das vorstellen, aber SA:MP ist da ja recht faul :D

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Kaliber: Bist du dir sicher, dass GetObjectPos während des bewegens auch die richtige Postion ausgibt ?
    Beim Streamer kann ich mir das vorstellen, aber SA:MP ist da ja recht faul


    Jap, habs extra getestet und funktioniert einwandfrei ^^

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S