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
  • Habe das unter ongamemode init:

    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
    new string2[256];
    if(HouseInfo[h][hOwned] == 0)
    {
    AddStaticPickup(1273, 2, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]);
    format(string2, sizeof(string2), "Dieses Haus steht zum verkauf.\nPreis: $%d\nLevel: %d\nZum kaufen gib /buyhouse ein",HouseInfo[h][hValue],HouseInfo[h][hLevel]);
    /*housetext[h] = */Create3DTextLabel(string2,0x00FF00FF,HouseInfo[h][hEntrancex],HouseInfo[h][hEntrancey],HouseInfo[h][hEntrancez],10.0,0);
    pickups++;
    }
    if(HouseInfo[h][hOwned] == 1)
    {
    if(HouseInfo[h][hRentabil] == 0)
    {
    format(string2, sizeof(string2), "%s\nLevel: %d",HouseInfo[h][hOwner],HouseInfo[h][hLevel]);
    /*housetext[h] = */Create3DTextLabel(string2,0xFF0000FF,HouseInfo[h][hEntrancex],HouseInfo[h][hEntrancey],HouseInfo[h][hEntrancez],10.0,0);
    }
    else
    {
    format(string2, sizeof(string2), "%s\nMiete: $%d Level: %d\n/rentroom um ein Zimmer zu mieten",HouseInfo[h][hOwner],HouseInfo[h][hRent],HouseInfo[h][hLevel]);
    /*housetext[h] = */Create3DTextLabel(string2,0x00FF00FF,HouseInfo[h][hEntrancex],HouseInfo[h][hEntrancey],HouseInfo[h][hEntrancez],10.0,0);
    }
    AddStaticPickup(1239, 2, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]);
    pickups++;
    }
    }


    Nun habe ich 2 Fragen:

    • Warum tut das nicht? :D es werden immer nur ein paar angezeigt und nicht alle... immer unterschiedlich welche
    • Wie kann ich das so machen, das das alle 60 sekunden geupdatet wird?

    MfG

  • for(new h = 0; h < sizeof(HouseInfo); h++)
    {
    if(PlayerToPoint(6.0, i, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]))
    {
    if(HouseInfo[h][hOwned] == 1)
    {
    if(HouseInfo[h][hRentabil] == 0)
    {
    format(string, sizeof(string), "Dieses Haus gehoert \n%s\nLevel: %d",HouseInfo[h][hOwner],HouseInfo[h][hLevel]);
    }
    else
    {
    format(string, sizeof(string), "Dieses Haus gehoert\n%s\nMiete: %d$ Level: %d\nTippe /rentroom um einen Raum zu mieten",HouseInfo[h][hOwner],HouseInfo[h][hRent],HouseInfo[h][hLevel]);
    }
    Create3DTextLabel(string, 0x00CC33FF, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 7, 0, 1);
    return 1;
    }
    else
    {
    format(string, sizeof(string), "Dieses Haus ist zu kaufen\nBeschreibung: %s \nKosten: %d$\nLevel: %d\n/buyhouse um es zu kaufen",HouseInfo[h][hDiscription],HouseInfo[h][hValue],HouseInfo[h][hLevel]);
    }
    Create3DTextLabel(string, 0x00CC33FF, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez], 7, 0, 1);
    return 1;
    }
    }



    Das sollte Funktionieren

  • Also erstmal AmoK... so wird das immer erstellt wen man am Haus Eingang steht. 8|


    Also ich habe das sogemacht:
    bei public LoadProperty();
    habe ich unter HouseInfo[idx][hLevel] = strval(arrCoords[28]);
    Dies hier hinzugefügt:
    if(HouseInfo[idx][hOwned] == 1)
    {
    format(strFromFile2,sizeof strFromFile2,"TEXT", DIEHouseInfos);
    }
    else if(HouseInfo[idx][hOwned] == 0)
    {
    format(strFromFile2,sizeof strFromFile2,"TEXT", DIEHouseInfos);
    }
    Create3DTextLabel(strFromFile2,COLOR_RED,HouseInfo[idx][hEntrancex],HouseInfo[idx][hEntrancey],HouseInfo[idx][hEntrancez],10.0,0,true);


    NAtürlich kann man dies noch erweitern das wen das Haus auf ist das die schirft grün ist und wens zu is rot usw usw
    und bei /setrent und die anderen nötigen befehle machste dies rein:
    format(cmd,sizeof cmd,"TExt",HouseInfo[bouse][hOwner],HouseInfo[bouse][hRent],HouseInfo[bouse][hLevel]);
    Update3DTextLabelText(HouseInfo[bouse][haus],COLOR_RED,cmd);


    und somit haste dan schöne 3d texte vor den häusern und brauchst auch net alle 10 sekunden updaten sondern es wird geupdatet wen es verändert wird.
    Wen noch probleme sind schreib mich per PN an^^


    Mfg Picaso


  • if(HouseInfo[idx][hOwned] == 0)
    {
    format(string2, sizeof(string2), "Dieses Haus steht zum Verkauf.\nPreis: $%d\nLevel: %d\nZum kaufen gib /buyhouse ein",HouseInfo[idx][hValue],HouseInfo[idx][hLevel]);
    housetext[idx] = Create3DTextLabel(string2,0x33852CFF,HouseInfo[idx][hEntrancex],HouseInfo[idx][hEntrancey],HouseInfo[idx][hEntrancez],10.0,0);
    pickups++;
    }
    if(HouseInfo[idx][hOwned] == 1)
    {
    if(HouseInfo[idx][hRentabil] == 0)
    {
    format(string2, sizeof(string2), "Hausbesitzer\n%s\nLevel: %d",HouseInfo[idx][hOwner],HouseInfo[idx][hLevel]);
    housetext[idx] = Create3DTextLabel(string2,0x872C29FF,HouseInfo[idx][hEntrancex],HouseInfo[idx][hEntrancey],HouseInfo[idx][hEntrancez],10.0,0);
    }
    else
    {
    format(string2, sizeof(string2), "Hausbesitzer\n%s\nMiete: $%d\nLevel: %d\n/rentroom um ein Zimmer zu mieten",HouseInfo[idx][hOwner],HouseInfo[idx][hRent],HouseInfo[idx][hLevel]);
    housetext[idx] = Create3DTextLabel(string2,0x33852CFF,HouseInfo[idx][hEntrancex],HouseInfo[idx][hEntrancey],HouseInfo[idx][hEntrancez],10.0,0);
    }
    }


    nun wird gar nix mehr angezeigt... :(

  • setz mal hinter die 10.0,0 nocheine ,0
    also so:
     housetext[idx] = Create3DTextLabel(string2,0x33852CFF,HouseInfo[idx][hEntrancex],HouseInfo[idx][hEntrancey],HouseInfo[idx][hEntrancez],10.0,0,0);


    Dan müsste es eigentlich gehen so wie ich das gerade erkenne :)
    Kann aber auch sein das ich mich gerade vergucke :D is ja auch schon spät ^^

  • Cool danke tut jetzt perfekt ;)
    Nur habe das problem, dass ich mih immer erst nähern muss und ca 2-3ekunden warten muss, bis der tetlabel erscheint.


    MfG

  • Das ist jetzt ein Text mit einm Auto und wie geht das mit nem Pickup ^^

  • Hallo ich hab folgendes in OnGameModeInit getahen doch es kommt kein Text :( kann mir einer Helfen?


    Create3DTextLabel("Das ist ein sogenannter Test\n xD lol\nlol hast du grade rofel gesagt",COLOR_YELLOW,0.0,0.0,5.0,30.0,-1,true);


    Achso ich hatte auch mal im /aduty einen AdminLabel der hat auch erst funktioniert doch mitlerweile auch nicht mehr vlt. gibt es etwas wo mit man die text labels ausschalten kann?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • es gibt einen 3D Text Streamer??? xD Link pls


    //edit ok habe selber was gefunden und erfahren das die grenze bei 2k liegt und ich habe ja den ja nur einen einzigen Text die anderen werden erst bei einem Befehl aktiviert. (Um den Befehl geht es nicht)

    Einmal editiert, zuletzt von Legö ()

  • ja
    hier


    http://forum.sa-mp.com/showthread.php?t=102865


    native Text3D:CreateDynamic3DTextLabel(const text[], color, Float:x, Float:y, Float:z, Float:drawdistance, attachedplayer = INVALID_PLAYER_ID, attachedvehicle = INVALID_VEHICLE_ID, testlos = 0, worldid = -1, interiorid = -1, playerid = -1, Float:distance = 100.0);
    native DestroyDynamic3DTextLabel(Text3D:id);
    native IsValidDynamic3DTextLabel(Text3D:id);
    native UpdateDynamic3DTextLabelText(Text3D:id, color, const text[]);
    native DestroyAllDynamic3DTextLabels();
    native CountDynamic3DTextLabels();



    //edit was hinzugefügt

  • Hallo :>


    Ich habe seit neuem ein Problem, da ich schon länger nicht mehr gescriptet habe und wieder Anfange kann es auch sein, das es nur eigene Dummheit ist ;)
    Also mein problem:
    Ich habe,
    new Text3D:PDSpawn;
    oben definiert.
    Dann habe ich unten, unter GameModeInit,
    PDSpawn = Create3DTextLabel("Fort Carson Police Department",0x0033FFFF,-216.6335,978.1243,19.4956,-1,0);
    das eingefügt. Nur ich bekome 1 Warning:
    warning 204: symbol is assigned a value that is never used: "PDSpawn"
    Ich bitte um Hilfe...
    (Bitte nicht lachen wenn es nur Dummheit war...:D)
    MfG Cranck

  • Das PDSpawn kannst du weglassen


    Create3DTextLabel("Fort Carson Police Department",0x0033FFFF,-216.6335,978.1243,19.4956,-1,0);


    Du kannst es so machen ohne dieses PDSpawn da.



    Mit Freundlicher Grüße
    Papa J.


    Zitat

    Bei mir Funktioniert es so!

    Einmal editiert, zuletzt von [Mapper]Papa_Jackson ()

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