Probleme mit Textdraws bzw. Teamscore

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
  • Hallo Community. Ich habe mich mal an einem Server für Mini-Wars versucht, sprich ein Gamemode läuft 10 Minuten und dann kommt der nächste. Das ganze soll als TDM ablaufen, man benötigt also auch einen Score um zu entscheiden, wer gewonnen hat.
    Ich hab mir gedacht, das is als Integer ganz gut, machste
    new TeamScore; und unter OnPlayerDeath nach ein paar Teamabfragen dann TeamScore++; (hab später noch im Wiki TeamScore +=1; gefunden und auch verwendet) aber nichts get. Ich wollte das in nem Textdraw, den ich alle 100 ms zerstöre und neu anzeige anzeigen. Jedoch klappt das nicht ganz, egal wie ich es probiere.
    Ich hab ganz oben:
    forward SCA(playerid);
    forward SCAN(playerid);
    new CooleTypenScore = 0;
    new PennerScore = 0;
    new Text:CooleTypenShow;
    new Text:PennerShow;
    new Text:CooleTypenShowNumber;
    new Text:PennerShowNumber;
    Unter OnGameModeInit
    CooleTypenShow = TextDrawCreate(250.0,410, "~r~ Coole Typen:");
    PennerShow = TextDrawCreate(250.0,428, "~g~ Penner:");

    new string[250];
    format(string, sizeof(string),"~r~ %d" ,CooleTypenScore);
    CooleTypenShowNumber = TextDrawCreate(400.0, 410, string);

    new string2[250];
    format(string2, sizeof(string2),"~g~ %d" ,PennerScore);
    PennerShowNumber = TextDrawCreate(400.0, 428, string2);
    return 1;
    Meine Death-Abfragen
    public OnPlayerDeath(playerid, killerid, reason)
    {
    new plt = GetPlayerTeam(playerid);
    new kit = GetPlayerTeam(killerid);


    SendDeathMessage(killerid,playerid,reason);


    if(killerid == INVALID_PLAYER_ID)
    {
    SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);


    if(plt == CooleTypen)
    {
    PennerScore += 1;
    }
    if(plt == Penner)
    {
    CooleTypenScore += 1;
    }
    }

    if(kit == CooleTypen)
    {
    if(plt == CooleTypen)
    {
    SendClientMessage(killerid, COLOR_RED, "Keine Teamkills!");
    }
    if(plt == Penner)
    {
    CooleTypenScore += 1;
    }
    }


    if(kit == Penner)
    {
    if(plt == Penner)
    {
    SendClientMessage(killerid, COLOR_RED, "Keine Teamkills!");
    }
    if(plt == CooleTypen)
    {
    PennerScore += 1;
    }
    }
    return 1;
    }

    Unter OnPlayerConnect
    TextDrawShowForPlayer(playerid, CooleTypenShow);
    TextDrawShowForPlayer(playerid, PennerShow);
    SetTimerEx("SCA", 100, true, "i",playerid);
    und zu guter letzt
    public SCA(playerid)
    {
    TextDrawHideForPlayer(playerid, CooleTypenShowNumber);
    TextDrawHideForPlayer(playerid, PennerShowNumber);
    SetTimerEx("SCAN", 100, 0, "i",playerid);
    return 1;
    }


    public SCAN(playerid)
    {
    TextDrawShowForPlayer(playerid, CooleTypenShowNumber);
    TextDrawShowForPlayer(playerid, PennerShowNumber);
    return 1;
    }


    Ausserdem habe ich einen Timer (bei mir "GME") der den Gamemode nach 10 Minuten neustartet. Ich würde das gerne als Countdown-Textdraw machen, hab jedoch keine Ahnung, wie sich das realisieren lässt.


    Ich hoffe, ihr könnt mir helfen und bedanke mich jetzt schon mal...


    P.S.: Wundert euch nicht über die Namen, hab Coole Typen vs. Penner... :D
    Der ganze Gamemode ist übrigens hier .