PlayerTextDraw sieht nur ein Spieler?

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 das Problem das man das Textdraw sieht aber nicht die Zahl, also ich sehe die Zahl auch etc aber wenn ein anderer drauf kommt und ich ihn Frage ob er es sieht meinen die nein!
    Ist PlayerTextDraw nur für einen Spieler oder wie? :S
    z.b bei der FPS Anzeige


    mfg

  • Ich habe das Problem das man das Textdraw sieht aber nicht die Zahl, also ich sehe die Zahl auch etc aber wenn ein anderer drauf kommt und ich ihn Frage ob er es sieht meinen die nein!
    Ist PlayerTextDraw nur für einen Spieler oder wie? :S
    z.b bei der FPS Anzeige


    mfg


    Ein PlayerTextdraw ist nicht für eine person sondern für alle. Die besonderheit ist halt der eingebaute streamer was einem ermöglicht um das limit der textdraws herrum zu schippern. Wie verwendest du das PlayerTextdraw.


    Du musst es erstellen lassen bei OnPlayerConnect , entfernt werden diese automatisch bei OnPlayerDisconnect.
    Kann es sein das du wie ich e soben schon geschrieben habe es nicht unter OnPlayerConnect erstellst oder es nicht anzeigst.
    per PlayerTextdrawShow.

  • pDrunkLevelLast[playerid] = 0;
    pFPS[playerid] = 0;
    Textdraw4 = CreatePlayerTextDraw(playerid,545.000000, 55.000000, "FPS:");
    PlayerTextDrawBackgroundColor(playerid,Textdraw4 , 255);
    PlayerTextDrawFont(playerid,Textdraw4 , 1);
    PlayerTextDrawLetterSize(playerid,Textdraw4 , 0.290000, 0.899999);
    PlayerTextDrawColor(playerid,Textdraw4 , -1965825);
    PlayerTextDrawSetOutline(playerid,Textdraw4 , 0);
    PlayerTextDrawSetProportional(playerid,Textdraw4 , 1);
    PlayerTextDrawSetShadow(playerid,Textdraw4 , 1);
    PlayerTextDrawSetSelectable(playerid,Textdraw4 , 0);
    PlayerTextDrawShow(playerid,Textdraw4);


    Beispiel


    Dann halt im Timer updaten lassen den String



    public Kills(playerid)
    {
    new str[64],str2[64],str3[64];
    format(str,sizeof(str),"~g~Kills: %d",Textdrawkills[playerid]);
    PlayerTextDrawSetString(playerid,Textdraw0,str);
    format(str2,sizeof(str2),"~r~Tode: %d",Textdrawtode[playerid]);
    PlayerTextDrawSetString(playerid,Textdraw1,str2);
    format(str3,sizeof(str3),"~g~FPS: %d",pFPS);
    PlayerTextDrawSetString(playerid,Textdraw4,str3);
    PlayerTextDrawSetString(playerid,Textdraw4,str3);
    return 1;
    }

  • Textdraw4


    Großartige Fehler finde ich hier nicht wirklich du kannst falls die Kills , FPS etc unteinander sind diese auch in ein PlayerTextdraw packen da du mit
    ~n~ einen zeilenbruch machen kannst.
    Zu dem benutz eine Array aufgrund dessen das es verschiebungen geben kann von den Textdraws in der id.
    daher
    PlayerText:Textdraw4[MAX_PLAYERS];


    Beim formatieren reicht 1 string ^^ der wird so gesehen zuletzt überschrieben.


    Bei dem Timer benutzt SetTimer anstatt SetTimerEx für jeden spieler falls du dies so hast oder benutzt du y_timers.


    Ich kann mir nur vorstellen das die FPS nicht angezeigt wird also der Wert das Textdraw jedoch schon.


    Falls es mit dem updaten probleme gibt kann man das textdraw erst ausblenden per PlayerTextdrawHide und danach den string ändern und wieder anzeigen lassen.

  • Ein PlayerTextdraw ist nicht für eine person sondern für alle. Die besonderheit ist halt der eingebaute streamer was einem ermöglicht um das limit der textdraws herrum zu schippern. Wie verwendest du das PlayerTextdraw.


    Du musst es erstellen lassen bei OnPlayerConnect , entfernt werden diese automatisch bei OnPlayerDisconnect.
    Kann es sein das du wie ich e soben schon geschrieben habe es nicht unter OnPlayerConnect erstellst oder es nicht anzeigst.
    per PlayerTextdrawShow.

    Benutze SetTimer :D, und ja bei mir werden die FPS anzahl angezeigt aber einer meinte bei ihm deswegen frage ich mich warum, ich habe wahrscheinlich vergessen [MAX_PLAYERS], danke für deine Hilfe