Enum / Dini Warning

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 finde den Fehler nicht.


    enum Inventar_Name{ PolosChickenwings[128], FreddysMargarithaPizza[128], Sprunk[128], Cannabis[128], CrystalMeth[128], Heroin[128], Kokain[128]}enum Inventar_Daten{ //Bedarf Inventar Float:PolosChickenwings, Float:FreddysMargarithaPizza, Float:Sprunk, //Illegales Inventar Float:Cannabis[101], Float:CrystalMeth[101], Float:Heroin[101], Float:Kokain[101],};new Inventar[MAX_PLAYERS][Inventar_Daten];new InventarName[Inventar_Name];
    for(new i = 0; i<MAX_PRODUCTS;i++)
    {
    format(string,sizeof(string),"%s",InventarName[Inventar_Name:i]);
    Inventar[playerid][Inventar_Daten:i] = dini_Float(file,string); }


    • C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(907) : warning 213: tag mismatch


    Betroffenes Problem:
    format(string,sizeof(string),"%s",InventarName[Inventar_Name:i]); Inventar[playerid][Inventar_Daten:i] = dini_Float(file,string); }[/pwn]

  • Ich finde den Fehler nicht.

    In Inventar hast du manchmal FloatArrays und manchmal nicht.


    Das heißt du kannst das nicht direkt so setzen:



    Inventar[playerid][Inventar_Daten:i] = dini_Float(file,string);

    Das geht nicht, da dini_Float ja nur einzelene Werte zurückgibt.

    ast2ufdyxkb1.png


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

  • Ich hatte da mal was geschrieben gehabt: Easy Saving


    Damit kannst du enums einfach speichern.


    Der nimmt direkt die Werte aus dem enum und speichert die.


    In dem Thread ist ja alles beschrieben :)

    ast2ufdyxkb1.png


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

  • Würde nicht gehen weil die Werte alphabetisch sotiert werden sollen und das auch mit neu Erstellten

    Kannst du doch machen?!


    Ich sagte du kannst nur noch die Reihenfolge im Enum ändern, also etwas über Qualität setzten.
    Allerdings kannst du unten drunter alles erstellen.
    Und zu dem Zeitpunkt wo du das enum speicherst, ist es sortiert und wo du es lädst auch, da verändert sich ja nichts.

    ast2ufdyxkb1.png


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

  • Hab jetzt nur Floats drin im Enum, kann man das irgendwie anders schreiben damit es dynamisch ist?

    for(new i = 0; i<MAX_PRODUCTS; i++)
    {
    for(new j = 0; j < MAX_KLASSEN; j++)
    {
    format(string,sizeof(string),"%s%d",InventarName[Inventar_Name:i], j);
    Inventar[playerid][Inventar_Daten:i][j] = dini_Float(file,string);
    }
    }


    Mit:
    #define MAX_KLASSEN 101
    Das setzt du dann am besten in dein Enum auch anstelle der 101'er ein.


    Speichern ebenfalls mit beiden Schleifen.
    In der Datei steht dann sowas wie:

    Code
    Cannabis0=0
    Cannabis1=987
    Cannabis2=212
    ...
    Cannabis100=1111
    Herion0=123
    Herion1=0
    ...
    Herion100=1
    ...
  • Ne ich hab jetzt die mehrdimensionalen Enums entfernt und wollte sagen ich habe nur noch einfache drin. Das Ganze sieht jetzt so aus:


    enum Inventar_Name
    {
    PolosChickenwings[128],
    FreddysMargarithaPizza[128],
    Sprunk[128],
    }
    enum Inventar_Daten
    {
    //Bedarf Inventar
    Float:PolosChickenwings,
    Float:FreddysMargarithaPizza,
    Float:Sprunk,
    };



    new Inventar[MAX_PLAYERS][Inventar_Daten];
    new InventarName[Inventar_Name];


    for(new i = 0; i<MAX_PRODUCTS;i++)
    {
    if(Inventar[playerid][Inventar_Daten:i] > 0)
    {
    format(string,sizeof(string),"%s",InventarName[Inventar_Name:i]);
    Inventar[playerid][Inventar_Daten:i] = dini_Float(file,string);
    }
    }




    Warning in: Inventar[playerid][Inventar_Daten:i] = dini_Float(file,string);


    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(923) : warning 213: tag mismatch

  • Das funzt schon mal. Jetzt habe ich das selbe Problem bei der Speicherung von Integers. Also selbe Zeile der Funktion und selbes Warning. Wenn ich jedoch vor NormalInventar..... ein Int: setze kommen neue Errors. Hier beides einmal:


    Vorangeheweise 1:

    enum NormalInventar_Name
    {
    OfficerMarke[128],
    SatelietenHandy[128],
    OfficerUniform[128]
    }
    enum NormalInventar_Daten
    {
    pMarkeOfficer,
    pSateliteHandy,
    pUniformOfficer
    };



    new NormalInventarName[NormalInventar_Name];
    new NormalInventar[MAX_PLAYERS][NormalInventar_Daten];


    for(new i = 0; i<MAX_NORMALINVENTAR;i++)
    {
    if(NormalInventar[playerid][NormalInventar_Daten:i] > 0)
    {
    format(string,sizeof(string),"%s",NormalInventarName[NormalInventar_Name:i]);
    NormalInventar[playerid][NormalInventar_Daten:i] = dini_Float(file,string);
    }
    }

    Warning: NormalInventar[playerid][NormalInventar_Daten:i] = dini_Float(file,string);
    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(930) : warning 213: tag mismatch





    Vorangehweise 2:


    new Int:NormalInventar[MAX_PLAYERS][NormalInventar_Daten];


    else if(!sscanf(params,"s[128]d",produkt,qualitaet,menge))
    {
    for(new i = 0; i<MAX_NORMALINVENTAR; i++)
    {
    if(!strcmp(produkt, NormalInventarName[NormalInventar_Name:i]) /*&& !isnull(produkt) && !isnull(InventarName[Inventar_Name:i])*/)
    {
    new string[128];
    NormalInventar[playerid][NormalInventar_Daten:i] += menge;
    format(string,sizeof(string),"Objekt %s erstellt: %d",NormalInventarName[NormalInventar_Name:i],menge);
    SCM(playerid,blau,string);
    return 1;
    }



    Zeile: NormalInventar[playerid][NormalInventar_Daten:i] += menge;


    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(351) : warning 213: tag mismatch
    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(927) : warning 213: tag mismatch
    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(930) : warning 213: tag mismatch
    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(993) : warning 213: tag mismatch
    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(993) : warning 213: tag mismatch
    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(1043) : warning 213: tag mismatch
    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(1043) : warning 213: tag mismatch


    Falls benötigt kann ich auch die anderen Zeilen raussuchen.