TextDrawSetString

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
  • Ich habe mir eine textdraw erstellt, und da soll z.b. drinne stehen wieviele drogen man hat,
    wie geht das?


    also sollte man das mit einem timer machen, der immer jede 20sek das checkt oder so? Oder eher onPlayerspawn das dann gezeigt wird wieviele man hat :?:

  • forward LetMeCheckIt();
    public LetMeCheckIt(){
    for(new i = 0;i<MAX_PLAYERS;i++){
    if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue;
    TextDrawSetString(textdraw[i],"Dein Neuer Text");
    }
    return 1;
    }


    Nur ein Beispiel, den Textdraw den du für den Spieler erstellst Aktualisierst du dann einfach , die Klasse hier setzt du mit einem Timer auf 1 Sek Intervall sprich 1000ms

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • new Text:TextdrawForEveryPlayer[MAX_PLAYERS];


    unter OnPlayerConnect setzt du dann die Daten für den tdraw ein & ersetzt die Textdraw2 Variable gegen


    TextdrawForEveryPlayer[playerid]


    Unter OnPlayerDisconnect ... ( damit er verschwindet, sonst wäre das ganze einfach nur Ressourcen fressend )


    TextDrawDestroy(TextdrawForEveryPlayer[playerid]);


    in den Timer ...

    new formatx[32];
    format(formatx,sizeof formatx,"Drugs : %d",deinevar_für_die_drogen);
    TextDrawSetString(TextdrawForEveryPlayer[i],formatx);


    So formatierst du den Text erst & Aktualisierst das ganze nochmal

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • public LetMeCheckIt()
    {
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    new formatx[32];
    format(formatx,sizeof formatx,"%d",pDrugs);
    TextDrawSetString(Textdraw2[i],formatx);
    }
    return 1;
    }


    Wird irgendwie 157 Drogen angezeigt obwohl ich nur 6 habe oO

    Einmal editiert, zuletzt von Johnyy ()

  • forward LetMeCheckIt();
    public LetMeCheckIt(){
    new formatx[32];
    for(new i = 0;i<MAX_PLAYERS;i++){
    if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue;
    format(formatx,sizeof formatx,"Drugs : %d",PlayerInfo[i][pDrugs]);
    TextDrawSetString(TextdrawForEveryPlayer[i],formatx);
    }
    return 1;
    }

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • forward LetMeCheckIt();
    public LetMeCheckIt(){
    new formatx[32];
    new formatx1[32];
    for(new i = 0;i<MAX_PLAYERS;i++){
    if(!IsPlayerConnected(i) || IsPlayerNPC(i))continue;
    format(formatx,sizeof formatx,"%d",PlayerInfo[pDrugs]);
    TextDrawSetString(TextdrawForEveryPlayer,formatx);
    format(formatx1,sizeof formatx1,"%d",PlayerInfo[pMats]);
    TextDrawSetString(TextdrawForEveryPlayer,formatx1);
    }
    return 1;
    }


    Was ist daran falsch? Bei den mats wird mir eifnach nix angezeigt

  • Du setzt den gleichen Textdraw nochmal ;) zudem brauchst du keine 2 Variablen um zu formatieren


    formatieren
    Anzeigen
    formatieren
    Anderen tdraw ändern


    wenn du verstehst was ich meine, zudem müsstest du den Timer setzen in OnGameModeInit
    SetTimer("LetMeCheckIt",1000,1);

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


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