Problem mit Arrays

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
  • Moin Community,


    da meine bisherige Lösung zu ein paar Problemen führte und Goldkiller mir empfohlen hat das über Arrays zu lösen, gab er mir folgendes Beispiel mit:
    enum e_TeamData {
    TD_iSpieler,
    TD_iKills
    }
    new g_TeamData[2][e_TeamData];


    stock Verteilen1(playerid)
    {
    // Aufpassen!
    // die Teamid fängt hier bei 0 an,nicht bei 1
    // Ist der Spieler in keinem Team,gibt es die konstante: NO_TEAM
    // SetPlayerTeam(playerid, NO_TEAM );
    new
    teamid;
    if( g_TeamData[0] > g_TeamData[1] ) {
    teamid = 1;
    }
    else if( g_TeamData[0] < g_TeamData[1] ) {
    teamid = 0;
    }
    else {
    new
    r = random(2);
    if( r == 0 ) {
    teamid = 0;
    }
    else {
    teamid = 1;
    }
    }
    g_TeamData[teamid][TD_iSpieler]++;
    SetPlayerTeam(playerid, teamid);
    SetPlayerHealth(playerid,0.0);
    // Man könnte jetzt alles Teamabhängig hier machen
    if(teamid == 0 ) {
    SetSpawnInfo(playerid,teamid,174,961.2678,2100.2549,1011.0256,7.5695,24,250,31,500,0,1);
    SetPlayerColor(playerid, 0x0073FF00);
    }
    else {
    SetSpawnInfo(playerid,teamid,185,959.1449,2167.9775,1011.0234,358.7257,24,250,31,500,0,1);
    SetPlayerColor(playerid, 0xFFE60000);
    }
    return 1;
    }

    Der Stock "Verteilen1" existierte schon vorher - nur eben mit anderem Inhalt.
    enum/variablen sind im Script ganz oben, wie üblich halt. Dennoch kommt beim compilieren folgender Fehler:

    Code
    error 033: array must be indexed (variable "g_TeamData")


    Ich erkenne beim besten Willen nicht wo eine falsche Definition vorliegt.
    Kann mir einer helfen? ^^



    Grüße