Variable beim Betreten einer Arena wird nur auf 0 oder 1 gesetzt

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
  • Guten Tag,
    ich wollte via Textdraw ermöglichen, dass man, wenn man eine DM-Arena betritt, der Wert um 1 erhöht wird und wenn man diese verlässt bzw. disconnectet um ein verringert wird.
    Das Problem ist jedoch, wenn ein zweiter Spieler in die Arena geht, bleibt es "DM: 1" und wird nicht zu "DM: 2".
    Folgendes habe ich geschrieben:


    new DM1[MAX_PLAYERS];


    Wenn der Spieler die Arena betritt:
    DM1[playerid]++; //Variable um ein erhöhen
    new string[128];
    format(string,sizeof(string),"DM: %d",DM1[playerid]);
    TextDrawSetString(Text:Textdraw7,string);


    Wenn der Spieler die Arena verlässt:
    DM1[playerid]--; //Variable um ein verringert
    new string[128];
    format(string,sizeof(string),"DM: %d",DM1[playerid]);
    TextDrawSetString(Text:Textdraw7,string);


    Wenn der Spieler den Server verlässt:
    DM1[playerid]--;


    Textdraw anzeigen (unter OnPlayerSpawn):
    TextDrawShowForPlayer(playerid,Text:Textdraw7);

  • Ich verstehe nicht warum du eine Spieler bezogene variable erstellst wenn du sie jedoch Allgemein einsetzen möchtest.
    Benutz doch eine Allgemeine variable.


    new DM1;

    Wenn der Spieler die Arena betritt:


    DM1++; //Die 1 lässt du weg, ++ bedeutet 1 ^^
    new string[128];
    format(string,sizeof(string),"DM: %d",DM1);
    TextDrawSetString(Text:Textdraw7,string);