For Schleifen Error

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 hab echt keine ahnung was das soll eigentlich stimmt doch alles?! :D


    Zeile (15569) : error 020: invalid symbol name ""
    Zeile (15569) : error 036: empty statement
    Zeile (15569) : error 017: undefined symbol "i"
    Zeile (15569) : fatal error 107: too many error messages on one line



    for(new i = 0; i <= sizeof(MAX_TANKEN); i++) //<<<------ Error's
    {
    new accFormat[256];
    format(accFormat,sizeof accFormat,"Tanke%d.cfg",i);
    if(fexist(accFormat))
    {
    dini_IntSet(accFormat,"tOwned",TankeInfo[i][tOwned]);
    dini_IntSet(accFormat,"tOwner",TankeInfo[i][tOwner]);
    dini_IntSet(accFormat,"tMessage",TankeInfo[i][tMessage]);
    dini_IntSet(accFormat,"tExtortion",TankeInfo[i][tExtortion]);
    dini_IntSet(accFormat,"tEntranceX",TankeInfo[i][tEntranceX]);
    dini_IntSet(accFormat,"tEntranceY",TankeInfo[i][tEntranceY]);
    dini_IntSet(accFormat,"tLevelNeeded",TankeInfo[i][tLevelNeeded]);
    dini_IntSet(accFormat,"tBuyPrice",TankeInfo[i][tBuyPrice]);
    dini_IntSet(accFormat,"tEntranceCost",TankeInfo[i][tEntranceCost]);
    dini_IntSet(accFormat,"tTill",TankeInfo[i][tTill]);
    dini_IntSet(accFormat,"tLocked",TankeInfo[i][tLocked]);
    dini_IntSet(accFormat,"tInterior",TankeInfo[i][tInterior]);
    dini_IntSet(accFormat,"tProducts",TankeInfo[i][tProducts]);
    dini_IntSet(accFormat,"tMaxProducts",TankeInfo[i][tMaxProducts]);
    dini_IntSet(accFormat,"tPriceProd",TankeInfo[i][tPriceProd]);
    return 1;
    }
    Update3d();
    }
    return 1;

    ,.-~'*+-| ? . ? . ?|-+*'~-.,


    Zitat

    Zitat von [GFR]Sean_Capone
    ich habe eine frage zu ts
    braucht man speziell dafür micro und headphones oder gehen auch Apple kopfhörer [iphone mit micro]
    wenn das geht mit den das wär geil wenn nich wo kriegt man ts zubehör

    Einmal editiert, zuletzt von Snake1990 () aus folgendem Grund: Überschrift

  • Lass das sizeof weg. Nur i <= MAX_TANKEN. Das sollte eigentlich den ersten Fehler (und falls die anderen Folgefehler sind auch diese) beheben.


    Mit freundl. Grüßen
    Padarom

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Der Titel des Themas ist schon mal total schlecht gewählt.
    Einen besseren Titel hättest sicherlich finden können.
    for(new i = 0; i <= MAX_TANKEN; i++)
    Übrigens wäre hier i <= MAX_TANKEN wahrscheinlich falsch. Für den Fall du hast sowas in der Art:
    new Tanken[MAX_TANKEN][e_Tanken];
    Dann ist der höchste Index MAX_TANKEN - 1. Mit "i <= MAX_TANKEN" kommst du aber auf i = MAX_TANKEN,was natürlich zu groß wäre als Index ;).

  • hat geklappt danke aber wo ist da jetzt der unter schied


    for(new t=0;t<sizeof(TankeInfo); t++)
    for(new idx=0;idx <= MAX_TANKEN;idx++)


    Edit:
    #define MAX_TANKEN 30
    enum tInfo
    {
    tOwned,
    tOwner,
    tMessage,
    tExtortion,
    tEntranceX,
    tEntranceY,
    tEntranceZ,
    tLevelNeeded,
    tBuyPrice,
    tEntranceCost,
    tTill,
    tLocked,
    tInterior,
    tProducts,
    tMaxProducts,
    tPriceProd
    };
    new TankeInfo[MAX_TANKEN][tInfo];

  • Eines von beiden ist nicht korrekt.
    Kompiliert ( in der AMX ) ist beides bis auf < und <= identisch.

    for(new X = 0 ; X < sizeof(TankeInfo); X++)
    for(new X = 0 ; X <= MAX_TANKEN ; X++)

    sizeof wird beim kompilieren in eine Zahl umgewandelt.Da du als Größe sowieso "MAX_TANKEN " verwendest,wird dort 30 stehen. sizeof gibt nämlich die Größe des Arrays aus.
    MAX_TANKEN vor dem eigentlihem kompilieren ( pre-prozessor , guter Thread ) ersetzt durch den Text der hinter #define MAX_TANKEN steht. Ist in deinem Fall dann 30.