Textdraw Problem

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
  • Hey,
    ich habe ein Clanwar Script geschrieben, alles schön und gut.
    Nun, am ende soll ein Punktestand in Form eines Textdraws angezeigt werden.
    Vom Clan1 alle Spieler und deren kills bzw. tode und vom Clan2 auch.
    Komischerweise steht aber in der Liste nur ein Spieler von Clan1 und ein Spieler von Clan2.


    Hier der Code


    forward Endstand();
    public Endstand()
    {
    new String[24], String2[24], String3[300], String4[300];
    format(String, 24, "%s", TName1);
    TextDrawSetString(Textdraw0, String);
    format(String2, 24, "%s", TName2);
    TextDrawSetString(Textdraw1, String2);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(GetPlayerSkin(i) == T1Skin1 || GetPlayerSkin(i) == T1Skin2 || GetPlayerSkin(i) == T1Skin3){
    new Name[24];
    GetPlayerName(i, Name, 24);
    format(String3, 300, "%s Kills: %d Tode: %d Total: Kills: %d Runden: %d", Name, Kills[i], Tode[i], Totalkillst1, Roundst1);
    TextDrawSetString(Textdraw2, String3);
    }
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(GetPlayerSkin(i) == T2Skin1 || GetPlayerSkin(i) == T2Skin2 || GetPlayerSkin(i) == T2Skin3){
    new Name2[24];
    GetPlayerName(i, Name2, 24);
    format(String4, 300, "%s Kills: %d Tode: %d Total: Kills: %d Runden: %d", Name2, Kills[i], Tode[i], Totalkillst2, Roundst2);
    TextDrawSetString(Textdraw3, String4);
    }
    }
    return 1;
    }

    "when you got nothing to lose, then baby you got it all" - OPERATOR

  • forward Endstand();
    public Endstand()
    {
    new String[24], String2[24], String3[1024], String4[1024];
    format(String, 24, "%s", TName1);
    TextDrawSetString(Textdraw0, String);
    format(String2, 24, "%s", TName2);
    TextDrawSetString(Textdraw1, String2);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(GetPlayerSkin(i) == T1Skin1 || GetPlayerSkin(i) == T1Skin2 || GetPlayerSkin(i) == T1Skin3)
    {
    new Name[24];
    GetPlayerName(i, Name, 24);
    format(String3, sizeof(String3), "%s%s Kills: %d Tode: %d Total: Kills: %d Runden: %d\n", String3, Name, Kills[i], Tode[i], Totalkillst1, Roundst1);
    }
    }
    TextDrawSetString(Textdraw2, String3);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(GetPlayerSkin(i) == T2Skin1 || GetPlayerSkin(i) == T2Skin2 || GetPlayerSkin(i) == T2Skin3)
    {
    new Name2[24];
    GetPlayerName(i, Name2, 24);
    format(String4, sizeof(String4), "%s%s Kills: %d Tode: %d Total: Kills: %d Runden: %d\n", String4, Name2, Kills[i], Tode[i], Totalkillst2, Roundst2);
    }
    }
    TextDrawSetString(Textdraw3, String4);
    return 1;
    }


    Eventuell musst du es noch an die Größe deines Textdraws anpassen. Wenn das Total Kills nicht in jeder Zeile angezeigt werden soll, musst es aus der Schleife nehmen und vor TextDrawSetString dem String anfügen.


  • So sah dein Code aus, dann habe ich das Total raus genommen, weil es ja doppelt kam.
    Daraufhin war wieder nur eine Person in der Liste...

    "when you got nothing to lose, then baby you got it all" - OPERATOR

  • Wie ich schon sagte...

    Wenn das Total Kills nicht in jeder Zeile angezeigt werden soll, musst es aus der Schleife nehmen und vor TextDrawSetString dem String anfügen.


    Hier:
    forward Endstand();
    public Endstand()
    {
    new String[24], String2[24], String3[1024], String4[1024];
    format(String, 24, "%s", TName1);
    TextDrawSetString(Textdraw0, String);
    format(String2, 24, "%s", TName2);
    TextDrawSetString(Textdraw1, String2);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(GetPlayerSkin(i) == T1Skin1 || GetPlayerSkin(i) == T1Skin2 || GetPlayerSkin(i) == T1Skin3)
    {
    new Name[24];
    GetPlayerName(i, Name, 24);
    format(String3, sizeof(String3), "%s%s Kills: %d Tode: %d\n", String3, Name, Kills[i], Tode[i]);
    }
    }
    format(String3, sizeof(String3), "%s\nTotal: Kills: %d Runden: %d", String3, Totalkillst1, Roundst1);
    TextDrawSetString(Textdraw2, String3);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(GetPlayerSkin(i) == T2Skin1 || GetPlayerSkin(i) == T2Skin2 || GetPlayerSkin(i) == T2Skin3)
    {
    new Name2[24];
    GetPlayerName(i, Name2, 24);
    format(String4, sizeof(String4), "%s%s Kills: %d Tode: %d\n", String4, Name2, Kills[i], Tode[i]);
    }
    }
    format(String4, sizeof(String4), "%s\nTotal: Kills: %d Runden: %d", String4, Totalkillst2, Roundst2);
    TextDrawSetString(Textdraw3, String4);
    return 1;
    }