mysql switch

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 Leute,
    Ich habe momentan ein problem ich habe das so geschreben damit die Ränge ausgelesen werden.

    switch(mysql_GetInt("accounts","Rang","Name", SpielerInfo[playerid][pName]))
    {
    case 0:{lspdrang=lspdrang0;}
    case 1:{lspdrang=lspdrang1;}
    case 2:{lspdrang=lspdrang2;}
    case 3:{lspdrang=lspdrang3;}
    case 4:{lspdrang=lspdrang4;}
    case 5:{lspdrang=lspdrang5;}
    case 6:{lspdrang=lspdrang6;}
    case 7:{lspdrang=lspdrang7;}
    case 8:{lspdrang=lspdrang8;}
    case 9:{lspdrang=lspdrang9;}
    case 10:{lspdrang=lspdrang10;}
    }

    Nun sagt er aber Folgendes

    C:\Users\TimoDerBoss\Desktop\SFRP Scripts\gamemodes\SFRP.pwn(395) : error 006: must be assigned to an array
    C:\Users\TimoDerBoss\Desktop\SFRP Scripts\gamemodes\SFRP.pwn(396) : error 006: must be assigned to an array
    C:\Users\TimoDerBoss\Desktop\SFRP Scripts\gamemodes\SFRP.pwn(397) : error 006: must be assigned to an array
    C:\Users\TimoDerBoss\Desktop\SFRP Scripts\gamemodes\SFRP.pwn(398) : error 006: must be assigned to an array
    C:\Users\TimoDerBoss\Desktop\SFRP Scripts\gamemodes\SFRP.pwn(399) : error 006: must be assigned to an array
    C:\Users\TimoDerBoss\Desktop\SFRP Scripts\gamemodes\SFRP.pwn(400) : error 006: must be assigned to an array
    C:\Users\TimoDerBoss\Desktop\SFRP Scripts\gamemodes\SFRP.pwn(401) : error 006: must be assigned to an array
    C:\Users\TimoDerBoss\Desktop\SFRP Scripts\gamemodes\SFRP.pwn(402) : error 006: must be assigned to an array
    C:\Users\TimoDerBoss\Desktop\SFRP Scripts\gamemodes\SFRP.pwn(403) : error 006: must be assigned to an array
    C:\Users\TimoDerBoss\Desktop\SFRP Scripts\gamemodes\SFRP.pwn(404) : error 006: must be assigned to an array
    C:\Users\TimoDerBoss\Desktop\SFRP Scripts\gamemodes\SFRP.pwn(405) : error 006: must be assigned to an array

    Aber die sind doch in einem Array ... WTF ? Kann mir da wer sagen was da falsch gelaufen ist =

    San Fierro Roleplay Status : Alpha Online

    Vorschritt 13%

  • Du kannst Strings nicht einfach mit = zuweisen, dafür gibts Funktionen wie strcat. Eine bessere Lösung wäre, die Ränge in einen Array zu packen. Dann kannst du viel besser darauf zugreifen:



    new RangArray[2 /*Fraktionen*/][3 /*Anzahl der Ränge*/][15] =
    {
    { //Fraktion 0
    {"Rang1"},{"Rang2"}, {"Rang3"}
    },
    { //Fraktion 1
    {"Rang1"},{"Rang2"}, {"Rang3"}
    }
    };
    //...
    printf("Rang: %s",RangArray[1][1]); //würde dir den 2. Rang von Fraktion 1 ausgeben("Rang2").

    Dabei musst du nur aufpassen, dass jede Fraktion die gleiche Anzahl an Rängen hat bzw. der Array komplett ausgefüllt ist.