Geldanzeige mit Textdraws

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
  • Also, als erstes brauchst du PlayerTextDraw. Die fügst du unter OnPlayerConnect ein. Dann fügst du das oben ein: new PlayerText:DeineTextdraws; // Hiermit definieren wir deine Textdraws dann lässt du es mit PlayerTextDrawShow anzeigen Aber damit mir mit Floats arbeiten könnten müssen wir mit format arbeiten. Oben im Public new string[60]; // Erklärt sich von selber dann unter den Textdraws format(string,sizeof(string),"Geld: %d",GetPlayerMoney(playerid)); dann darunter: PlayerTextDrawSetString(playerid,deinetextdraws,string);

    und damit es sich auch Updatet wenn er jetzte z.B was kauft müssen wir einen Public erstellen hier mal ein beispiel von mir:



    forward Geldanzeigeupdate(playerid);
    public Geldanzeigeupdate(playerid)
    {
    new string[29];
    format(string,sizeof(string),"%d",GetPlayerMoney(playerid));
    PlayerTextDrawSetString(playerid,Geldanzeige[3],string);
    return 1;
    }



    und nun unter den Textdraws bei onplayerconnect das hier: SetTimerEx("Geldanzeigeupdate",400,1,"i",playerid);


    ich weiß es gibt auch noch andere methoden aber ich benutze die hier


    mfg,
    maurice.

  • Ganz oben ins Script:
    new Text:geld[MAX_PLAYERS];


    Dann bei OnGameModeInit:
    for(new i = 0; i < MAX_PLAYERS; i++){
    geld[i]= TextDrawCreate(X, Y, "0$");
    }


    Und wenn der Spieler sich eingeloggt hat halt das hier:
    TextDrawSetString(geld[playerid], "100$"); // Hier musst du natürlich deine Werte auslesen und angeben
    TextDrawShowForPlayer(playerid,geld[playerid]);


    EDIT: Maurice. War da wohl schneller als ich :D