Problem mit Rangnamen

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 ihr User von Breadfish!


    Ich bin grade am scripten und will Rangnamen festlegen. Das wollte ich so lösen:
    new RangNamen[8][8] = {
    {"Praktikant", "Auszubildender", "Fußgängerstreife", "Motorradstreife", "Streifenpolizist", "Spezialeinheit TS", "Stellv. Polizeidirektor", "Polizeidirektor"}, // Polizei - Hier ist der error
    {"Praktikant", "Auszubildender", "Hilfsarzt", "Assistenzarzt", "Notarzt", "Oberarzt", "Stellv. Direktor", "Direktor"}, // Notarzt
    {"Praktikant", "Auszubildender", "Hilfskraft", "Assistent", "Straßenräumdienst", "Allg. Räumdienst", "Stellv. Direktor", "Direktor"}, // Ordnungsamt
    {"Praktikant", "Auszubildender", "NixName", "NixName", "NixName", "NixName", "Stellv. Redaktionsleiter", "Redaktionsleiter"}, // Nachrichtendienst
    {"Praktikant", "Auszubildender", "NixName", "NixName", "NixName", "NixName", "Stellv. Direktor", "Direktor"}, // Fahrschule
    {"NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName"}, // Mafia / Gang 1
    {"NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName"}, // Mafia / Gang 2
    {"NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName"} // Terroristen
    };


    Aufrufen wollte ich den Rangnamen dann mit new sRang = RangNamen[SpielerInfo[playerid][Frak]][SpielerInfo[playerid][Rang]];


    Allerdings kommt beim Compilen dieser error: error 018: initialization data exceeds declared size in der ersten Zeile unter dem new



    Das macht mich irgendwie ziemlich ratlos :/
    In der wiki hab ich nichts gefunden, Google und sämtliche suchmaschinen/suchfunktionen wollen nicht mit mir zusammenarbeiten.


    Wo genau liegt also der Fehler?


    Danke im Vorraus!



    PS: NixName ist ein Platzhalter, sollte aber nichts ausmachen, oder?

  • du müsstest RangNamen[8][8] zu RangNamen[9][8] machen und oben noch eine zeile mit z.b. NixName einfügen, da die array größe (also wie hier das da -> [8]) nicht bei 1 anfängt sondern bei 0
    also in deinem fall sehe das dann so aus:


    new RangNamen[9][8] = {
    {"NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName"}
    {"Praktikant", "Auszubildender", "Fußgängerstreife", "Motorradstreife", "Streifenpolizist", "Spezialeinheit TS", "Stellv. Polizeidirektor", "Polizeidirektor"}, // Polizei - Hier ist der error
    {"Praktikant", "Auszubildender", "Hilfsarzt", "Assistenzarzt", "Notarzt", "Oberarzt", "Stellv. Direktor", "Direktor"}, // Notarzt
    {"Praktikant", "Auszubildender", "Hilfskraft", "Assistent", "Straßenräumdienst", "Allg. Räumdienst", "Stellv. Direktor", "Direktor"}, // Ordnungsamt
    {"Praktikant", "Auszubildender", "NixName", "NixName", "NixName", "NixName", "Stellv. Redaktionsleiter", "Redaktionsleiter"}, // Nachrichtendienst
    {"Praktikant", "Auszubildender", "NixName", "NixName", "NixName", "NixName", "Stellv. Direktor", "Direktor"}, // Fahrschule
    {"NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName"}, // Mafia / Gang 1
    {"NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName"}, // Mafia / Gang 2
    {"NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName"} // Terroristen
    };

  • Die Leute im Chat haben mir nach einigen Rätseln beigebracht, dass
    new RangNamen[8][8][32] = {...
    richtig ist.

  • Habbets jetzt so:


    new RangNamen[][][] = {
    {"Praktikant", "Auszubildender", "Fußgängerstreife", "Motorradstreife", "Streifenpolizist", "Spezialeinheit TS", "Stellv. Polizeidirektor", "Polizeidirektor"}, // Polizei
    {"Praktikant", "Auszubildender", "Hilfsarzt", "Assistenzarzt", "Notarzt", "Oberarzt", "Stellv. Direktor", "Direktor"}, // Notarzt
    {"Praktikant", "Auszubildender", "Hilfskraft", "Assistent", "Straßenräumdienst", "Allg. Räumdienst", "Stellv. Direktor", "Direktor"}, // Ordnungsamt
    {"Praktikant", "Auszubildender", "NixName", "NixName", "NixName", "NixName", "Stellv. Redaktionsleiter", "Redaktionsleiter"}, // Nachrichtendienst
    {"Praktikant", "Auszubildender", "NixName", "NixName", "NixName", "NixName", "Stellv. Direktor", "Direktor"}, // Fahrschule
    {"NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName"}, // Mafia / Gang 1
    {"NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName"}, // Mafia / Gang 2
    {"NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName", "NixName"} // Terroristen
    };


    new sRang[32] = RangNamen[SpielerInfo[playerid][Frak]][SpielerInfo[playerid][Rang]];Das hier ist Zeile 2587


    Error: ...(2587) : error 008: must be a constant expression; assumed zero


    Was jetzt, irgendwelche Vorschläge, was warum falsch ist und wie man es besser richtig macht?

    Einmal editiert, zuletzt von Pupskuchen ()

  • new RangNamen[][][] = {


    So ist das schon richtig ;)


    new sRang[32];
    format(sRang,32,RangNamen[SpielerInfo[playerid][Frak]][SpielerInfo[playerid][Rang]]);
    An dieser Stelle solltest du den String formatieren ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • new sRang[32];
    format(sRang,32,RangNamen[SpielerInfo[playerid][Frak]][SpielerInfo[playerid][Rang]]);


    Yay, danke! :)