3D Text Labels

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
  • Hier erkläre ich mal für ein paar Leute wie man richtig mit 3D text Labels umgeht...


    new Text3D:label; // zu erst definiere ich die Label mit dem Typ Text3D also als 3D Label


    Nun gehen wir in OnGameModeInit & erstellen den Text auf dem Variablen Pfad ,,label´´


    label = Create3DTextLabel("Hallo dies ist ein 3D Text",0xFFFFFFFF,x,y,z,Virtuelle Welt,LOS);


    Erklärung :


    • Erst tragt ihr den Inhalt eures Textes ein
    • Danach legt ihr eine Farbe fest , diese sind üblich auf Hex festgelegt ( warum auch nicht )
    • x,y,z = Die Koordinaten bzw. der Standard des Textes
    • Virtuelle Welt = Legt eine Zwischen Welt fest wo sie angezeigt werden soll ( -1 für alle Welten )
    • LOS = Soll der Text durch Objekte sichtbar sein ( true/false oder 1/0 ihr wisst wie ich es meine )


    Wie erstelle ich einen Text der für alle Sichtbar ist aber an einem Spieler ,klebt´ ?


    Zuerst...
    new Text3D:label[MAX_PLAYERS]; // genau das gleiche wie oben nur für MAX_PLAYERS = 500 = Alle Spieler da jeder seine eigene kriegt...


    nun bei OnPlayerSpawn... ( ich trage als Text den Spielernamen ein , nur damit es euch nicht verwirrt )


    new spielern[MAX_PLAYER_NAME];
    GetPlayerName(playerid,spielern,sizeof spielern);
    label[playerid] = Create3DTextLabel(spielern,0xFFFFFFFF,x,y,z,Virtuelle Welt,LOS);
    Attach3DTextLabelToPlayer(label[playerid], playerid, Float:OffsetX, Float:OffsetY, Float:OffsetZ)


    Bei OnPlayerDisconnect ... ( Damit sie verschwindet )
    Delete3DTextLabel(label[playerid]); // Der 3D text wird gelöscht



    Ich denke das sollte so einiges erklären... das mit dem Verbinden geht auch bei Autos aber da müsst ihr den Index auf MAX_VEHICLES setzen damit
    es für alle Autos ist und sie evntl. beim erstellen des Autos zuweisen ..


    Beispiel :


    new label[MAX_VEHICLES];



    Nach dem erstellen des Fahrzeugs...
    new veh = CreateVehicle(...);
    label[veh] = Create3DTextLabel("Fahrzeug blubb",0xFFFFFFFF,x,y,z,Virtuelle Welt,LOS);
    Attach3DTextLabelToVehicle (label[veh], veh, Float:OffsetX, Float:OffsetY, Float:OffsetZ)


    Zum Offset .. ich gebe euch einen Tipp, der beste Offset ist meist ...


    0.0 = X
    0.0 = Y
    0.75 = Z


    Offset = der Abstand zum momentanen Koordinaten Standpunkt


    Viel Spaß...

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Jo bei mir schon ich kann es jez


    //edit
    BlackFox du hast einen fehler gemacht
    Create3DTextLabel("Ich bin der 3D Text",0xFFFFFFFF,x,y,z,Der Radius ab dem man den Text sieht.Virtual World,LOS);
    So muss es du hast den Radius vergessen^^

    Einmal editiert, zuletzt von Chillout ()

  • Was ist das denn für eine Frage?
    Du kannst die beispielsweise benutzen bei diesen Funktionen:
    native Delete3DTextLabel(Text3D:id);
    native Attach3DTextLabelToPlayer(Text3D:id, playerid, Float:OffsetX, Float:OffsetY, Float:OffsetZ);
    native Attach3DTextLabelToVehicle(Text3D:id, vehicleid, Float:OffsetX, Float:OffsetY, Float:OffsetZ);
    native Update3DTextLabelText(Text3D:id, color, text[]);

    Dabei wäre Text3D:id bei dir label.Wenn du keines davon benutzt / brauchst,dann ist die Variable auch relativ unnötig ( Das sagt dir auch der Compiler ). Symbol wurde Wert zugewiesen,wird aber niemals benutzt


    //Edit:
    Daher wäre bei dir auch
    Create3DTextLabel("xTream Productions",0x33AA33AA,1059.0078,1020.0014,11.0000,1,0);
    eine Alternative falls du unbedingt die Warnung entfernt haben willst.

  • mein Complier sagt mir leider garnichts
    Funtzt auf meinem PC irgendwie nicht


    Und ich bin noch ziemlich frisch in Sachen Scripten


    Deswegen


    Und wie darf ich das verstehen, wo muss diese Text, bzw diese Zeilen hin?
    Danke, und wie gesagt bin noch nen noobi ^^

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Zitat

    C:\Users\Alexander\Desktop\Movie.pwn(95) : warning 204: symbol is assigned a value that is never used: "label"


    Das hat dir der Compiler ausgespuckt oder nicht?


    Zitat

    Deswegen


    Und wie darf ich das verstehen, wo muss diese Text, bzw diese Zeilen hin?
    Danke, und wie gesagt bin noch nen noobi ^^


    Welcher Text?Welche Zeile?

  • Hey,
    erstmal danke für das 3D Zeugs^^,


    Nur leider bekomm ich Warnings wie [FoD]al[3]x:



    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1174) : warning 204: symbol is assigned a value that is never used: "animx"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1182) : warning 204: symbol is assigned a value that is never used: "armourex"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1173) : warning 204: symbol is assigned a value that is never used: "bigjumpx"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1186) : warning 204: symbol is assigned a value that is never used: "deagleex"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1167) : warning 204: symbol is assigned a value that is never used: "enterbx"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1171) : warning 204: symbol is assigned a value that is never used: "entersaunax"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1169) : warning 204: symbol is assigned a value that is never used: "enterspx"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1168) : warning 204: symbol is assigned a value that is never used: "exitbx"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1172) : warning 204: symbol is assigned a value that is never used: "exitsaunax"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1170) : warning 204: symbol is assigned a value that is never used: "exitspx"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1183) : warning 204: symbol is assigned a value that is never used: "healthex"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1187) : warning 204: symbol is assigned a value that is never used: "m4ex"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1184) : warning 204: symbol is assigned a value that is never used: "sawnoffex"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1175) : warning 204: symbol is assigned a value that is never used: "skin1x"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1176) : warning 204: symbol is assigned a value that is never used: "skin2x"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1177) : warning 204: symbol is assigned a value that is never used: "skin3x"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1178) : warning 204: symbol is assigned a value that is never used: "skin4x"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1179) : warning 204: symbol is assigned a value that is never used: "skin5x"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1180) : warning 204: symbol is assigned a value that is never used: "skin6x"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1181) : warning 204: symbol is assigned a value that is never used: "skin7x"
    C:\Dokumente und Einstellungen\Markus Schneider\Desktop\•Partyserver•[v1.2b]\gamemodes\Version[1.2b].pwn(1185) : warning 204: symbol is assigned a value that is never used: "uziex"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    Header size: 9000 bytes
    Code size: 650136 bytes
    Data size: 5227708 bytes
    Stack/heap size: 16384 bytes; estimated max. usage: unknown, due to recursion
    Total requirements: 5903228 bytes


    21 Warnings.


    Obwohl ich doch die Variable verwende kommt dieses Warning.


    Über OnGameModeInit:



    new Text3D:enterbx;
    new Text3D:exitbx;
    new Text3D:enterspx;
    new Text3D:exitspx;
    new Text3D:entersaunax;
    new Text3D:exitsaunax;
    new Text3D:bigjumpx;
    new Text3D:animx;
    new Text3D:skin1x;
    new Text3D:skin2x;
    new Text3D:skin3x;
    new Text3D:skin4x;
    new Text3D:skin5x;
    new Text3D:skin6x;
    new Text3D:skin7x;
    new Text3D:armourex;
    new Text3D:healthex;
    new Text3D:sawnoffex;
    new Text3D:uziex;
    new Text3D:deagleex;
    new Text3D:m4ex;


    In OnGameModeInit



    enterbx = Create3DTextLabel("Enter",0xFFFFFFFF,2481.2170,1524.9906,11.7737,-1,1);
    exitbx = Create3DTextLabel("Exit",0xFFFFFFFF,575.5093,-2050.3943,16.1670,-1,1);
    enterspx = Create3DTextLabel("Enter",0xFFFFFFFF,559.5461,-2033.9458,16.1743,-1,1);
    exitspx = Create3DTextLabel("Exit",0xFFFFFFFF,559.5261,-2095.8760,2.6254,-1,1);
    entersaunax = Create3DTextLabel("Enter Sauna",0xFFFFFFFF,570.5856,-2095.8291,2.6077,-1,1);
    exitsaunax = Create3DTextLabel("Exit Sauna",0xFFFFFFFF,530.4130,-2082.5781,17.2253,-1,1);
    bigjumpx = Create3DTextLabel("Jump",0xFFFFFFFF,578.6855,-2195.5337,1.6288,-1,1);
    animx = Create3DTextLabel("Anim",0xFFFFFFFF,578.6855,-2195.5337,1.6288,-1,1);
    skin1x = Create3DTextLabel("Skin 1",0xFFFFFFFF,556.9771,-2204.0247,1.6540,-1,1);
    skin2x = Create3DTextLabel("Skin 2",0xFFFFFFFF,556.8400,-2196.9104,1.6540,-1,1);
    skin3x = Create3DTextLabel("Skin 3",0xFFFFFFFF,556.7121,-2190.0212,1.6540,-1,1);
    skin4x = Create3DTextLabel("Skin 4",0xFFFFFFFF,7062,-2182.7275,1.6540,-1,1);
    skin5x = Create3DTextLabel("Skin 5",0xFFFFFFFF,556.7062,-2175.6462,1.6670,-1,1);
    skin6x = Create3DTextLabel("Skin 6",0xFFFFFFFF,556.7636,-2168.6426,1.6670,-1,1);
    skin7x = Create3DTextLabel("Skin 7",0xFFFFFFFF,556.7064,-2161.2600,1.6670,-1,1);
    armourex = Create3DTextLabel("Armour",0xFFFFFFFF,2194.6851,1275.1996,10.8872,-1,1);
    healthex = Create3DTextLabel("Health",0xFFFFFFFF,2193.1091,1275.1997,10.8872,-1,1);
    sawnoffex = Create3DTextLabel("Sawn-Off",0xFFFFFFFF,2191.1853,1275.2000,10.8872,-1,1);
    uziex = Create3DTextLabel("Uzi",0xFFFFFFFF,2189.0640,1275.2007,10.8872,-1,1);
    deagleex = Create3DTextLabel("Desert Eagle",0xFFFFFFFF,556.7636,-2168.6426,1.6670,-1,1);
    m4ex = Create3DTextLabel("M4",0xFFFFFFFF,2185.4258,1275.2018,10.8872,-1,1);


    Wenn ich eine Variable wegmache wie Goldkiller gesagt hat, wird aber logischerweise der 3D Text nicht angezeigt.
    Also wie kann man es noch machen?


    MfG Markus

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen