GruppenWaffen freischaltbar machen mit multi-dimensional arrays (Fehler)

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Würde gerne einen Waffenfreischalt-Dialog machen:


    hatte so geklappt:


    Will halt jede Waffe pro Gruppe einzeln aktivieren oder deaktivieren, bzw das laden lassen etc.


    habe aber folgenden Fehler:
    error 052: multi-dimensional arrays must be fully initialized


    hab schon nachgeguckt woran es liegen kann, nichts derartiges gefunden.

  • habe aber folgenden Fehler:
    error 052: multi-dimensional arrays must be fully initialized

    Übersetzung:
    Mehrdimensionale Arrays müssen komplett initialisiert sein.


    versuche es mal so... (bin mir nicht sicher)


    C
    new GruppenWaffen[7][GWaffen][MAX_GRUPPEN] = {

    zu:



    C
    new GruppenWaffen[GWaffen][MAX_GRUPPEN][7] = {


    Mit freundlichen Grüßen
    German_ScripterHD

  • Soweit ich mich errinern kann muss es so aussehen


    new GruppenWaffen[7][GWaffen][35] = {
    {"Desert Eagle", 24, 12200, 100, 6, false},
    {"Schrotflinte", 25, 60350, 50, 3, false},
    {"MP5", 29, 20040, 500, 10, false},
    {"Sniper Rifle", 34, 50040, 50, 25, false},
    {"AK47", 30, 350440, 500, 17, false},
    {"M4", 31, 45500, 250, 22, false},
    {"Rifle", 33, 10400, 40, 5, false}
    };


    Die 35 steht für die Anzahl der Elemente in dem Array
    Nun sollte deine For schleife wie folgt aussehen


    for(new j = 0; j < sizeof GruppenWaffen; j++)
    {
    new str2[80];
    format(str2,sizeof(str2),"%s\t$%d",GruppenWaffen[j][WaName],GruppenWaffen[j][WPreis]);
    format(str,sizeof(str),"%s%s\n",str,str2);
    format(gesstr,sizeof(gesstr),"Waffe\tPreis\n\%s",str);
    }



    Bin schon ne weile aus dem Scripting draußen.
    Kann also sein das es totaler schwachsinn ist was ich gemacht habe, oder es funtkioniert.


    gruß

  • Du kannst das so nicht initialisieren...da du zu viele Dimensionen hast.


    Hier, so könntest du es machen:


    mfg. :thumbup:


    //Edit: anstatt der 41..wären MAX_GRUPPEN da sinnvoller :D

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    Einmal editiert, zuletzt von Kaliber ()

  • @Kaliber
    Wie erstelle ich dann meinen Dialog?


    Hatte es vorher so

  • Einfach so:


    C
    new str[1000]="Waffe\tPreis",id = GetGruppe(Spieler[playerid][Gruppe]);
    
    
    for(new j; j < sizeof(GruppenWaffen[]); j++)
    {		        
        format(str,sizeof(str),"%s\n%s\t$%d",str,GruppenWaffen[id][j][WaName],GruppenWaffen[id][j][WPreis]);
    }
    return ShowPlayerDialog(playerid,DIALOG_W_FREISCHALTEN,DIALOG_STYLE_TABLIST_HEADERS,""SERVERNAME" | Waffen freischalten",str,"Freischalten","Zurück");

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S