Dini_Get problem?

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 ich wollte einen namen aus einer ini in einem enum speichern ich habe es so gemacht:


    enum:


    enum System
    {
    Besitzer[30],
    Kennzeichen[30]
    }
    new CarInfo[MAX_VEHICLES][System];

    Speichern:


    dini_Set(string,"Besitzer",CarInfo[i][Besitzer]);
    dini_Set(string,"Kennzeichen",CarInfo[i][Kennzeichen]);


    Laden:


    CarInfo[i][Besitzer] = dini_Get(string,"Besitzer"); //Zeile 27194
    CarInfo[i][Kennzeichen] = dini_Get(string,"Kennzeichen");//Zele 27195


    Doch so geht es anscheinend nicht den ich bekomme errors:

    Code
    C:\Users\Qini\Desktop\Testserver\gamemodes\DR.pwn(27194) : error 047: array sizes do not match, or destination array is too small
    C:\Users\Qini\Desktop\Testserver\gamemodes\DR.pwn(27195) : error 047: array sizes do not match, or destination array is too small
    Pawn compiler 3.2.3664  Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    2 Errors.


    (E)


    denn ich wollte es nicht mit:
    dini_Get(string,"Kennzeichen");


    laden daswegen will ich es ja in einem enum speichern
    und es dann mit CarInfo auslesen kann mir jemand helfen?


    (E2)


    Also ich möchte z.b aus der ini "Kennzeichen" auslesen QQ-QQ-QQ und das dann in CarInfo[vehicle][Kennzeichen] speichern
    und dann statt mit dini_Get(string,"Kennzeichen"); es auszulesen mit CarInfo[vehicle][Kennzeichen] es auszulesen.

    2 Mal editiert, zuletzt von Quini ()

  • CarInfo[Besitzer] = dini_Get(string,"Besitzer"); //Zeile 27194 CarInfo[Kennzeichen] = dini_Get(string,"Kennzeichen");//Zele 27195

    [i][i]
    Was steht da drüber bzw dadrunter.. Hast du eine for-Schleife benutzt oder wie definierst du [i]?


    LG
    Accipter

    "Stay hungry! Stay foolish!" - Steve Jobs

  • [i] ist für MAX_VEHICLES


    Edit:


    public SaveCars()
    {
    new string[128];
    for(new i = 0; i < MAX_VEHICLES; i++)
    {
    format(string,sizeof(string),"/Autos/%d.ini",i);
    if(dini_Exists(string))
    {
    dini_FloatSet(string,"fx",CarInfo[i][fx]);
    dini_FloatSet(string,"fy",CarInfo[i][fy]);
    dini_FloatSet(string,"fz",CarInfo[i][fz]);
    dini_FloatSet(string,"fa",CarInfo[i][fa]);
    dini_IntSet(string,"Farbe1",CarInfo[i][Farbe1]);
    dini_IntSet(string,"Farbe2",CarInfo[i][Farbe2]);
    dini_IntSet(string,"Carid",CarInfo[i][Carid]);
    dini_IntSet(string,"Beruf",CarInfo[i][Beruf]);
    dini_IntSet(string,"Nebenjob",CarInfo[i][Nebenjob]);
    dini_IntSet(string,"Tank",CarInfo[i][Tank]);
    dini_IntSet(string,"Chip",CarInfo[i][Chip]);
    dini_IntSet(string,"Spoiler",CarInfo[i][Spoiler]);
    dini_IntSet(string,"Hood",CarInfo[i][Hood]);
    dini_IntSet(string,"Roof",CarInfo[i][Roof]);
    dini_IntSet(string,"Sideskirt",CarInfo[i][Sideskirt]);
    dini_IntSet(string,"Lamps",CarInfo[i][Lamps]);
    dini_IntSet(string,"Nitro",CarInfo[i][Nitro]);
    dini_IntSet(string,"Exhaust",CarInfo[i][Exhaust]);
    dini_IntSet(string,"Stereo",CarInfo[i][Stereo]);
    dini_IntSet(string,"Hydraulics",CarInfo[i][Hydraulics]);
    dini_IntSet(string,"FrontBumper",CarInfo[i][FrontBumper]);
    dini_IntSet(string,"RearBumper",CarInfo[i][RearBumper]);
    dini_IntSet(string,"VentRight",CarInfo[i][VentRight]);
    dini_IntSet(string,"VentLeft",CarInfo[i][VentLeft]);
    dini_Set(string,"Besitzer",CarInfo[i][Besitzer]);
    dini_Set(string,"Kennzeichen",CarInfo[i][Kennzeichen]);
    }
    }
    return 1;
    }


    public LoadCars()
    {
    new string[128];
    for(new i = 0; i < MAX_VEHICLES; i++)
    {
    format(string,sizeof(string),"/Autos/%d.ini",i);
    if(dini_Exists(string))
    {
    CarInfo[i][fx] = dini_Float(string,"fx");
    CarInfo[i][fy] = dini_Float(string,"fy");
    CarInfo[i][fz] = dini_Float(string,"fz");
    CarInfo[i][fa] = dini_Float(string,"fa");
    CarInfo[i][Farbe1] = dini_Int(string,"Farbe1");
    CarInfo[i][Farbe2] = dini_Int(string,"Farbe2");
    CarInfo[i][Carid] = dini_Int(string,"Carid");
    CarInfo[i][Beruf] = dini_Int(string,"Beruf");
    CarInfo[i][Nebenjob] = dini_Int(string,"Nebenjob");
    CarInfo[i][Tank] = dini_Int(string,"Tank");
    CarInfo[i][Chip] = dini_Int(string,"Chip");
    CarInfo[i][Spoiler] = dini_Int(string,"Spoiler");
    CarInfo[i][Hood] = dini_Int(string,"Hood");
    CarInfo[i][Roof] = dini_Int(string,"Roof");
    CarInfo[i][Sideskirt] = dini_Int(string,"Sideskirt");
    CarInfo[i][Lamps] = dini_Int(string,"Lamps");
    CarInfo[i][Nitro] = dini_Int(string,"Nitro");
    CarInfo[i][Exhaust] = dini_Int(string,"Exhaust");
    CarInfo[i][Stereo] = dini_Int(string,"Stereo");
    CarInfo[i][Hydraulics] = dini_Int(string,"Hydraulics");
    CarInfo[i][FrontBumper] = dini_Int(string,"FrontBumper");
    CarInfo[i][RearBumper] = dini_Int(string,"RearBumper");
    CarInfo[i][VentRight] = dini_Int(string,"VentRight");
    CarInfo[i][VentLeft] = dini_Int(string,"VentLeft");
    CarInfo[i][Besitzer] = dini_Get(string,"Besitzer");
    CarInfo[i][Kennzeichen] = dini_Get(string,"Kennzeichen");
    }
    AddVehicleComponent(i,CarInfo[i][Spoiler]);
    AddVehicleComponent(i,CarInfo[i][Hood]);
    AddVehicleComponent(i,CarInfo[i][Roof]);
    AddVehicleComponent(i,CarInfo[i][Sideskirt]);
    AddVehicleComponent(i,CarInfo[i][Lamps]);
    AddVehicleComponent(i,CarInfo[i][Nitro]);
    AddVehicleComponent(i,CarInfo[i][Exhaust]);
    AddVehicleComponent(i,CarInfo[i][Stereo]);
    AddVehicleComponent(i,CarInfo[i][Hydraulics]);
    AddVehicleComponent(i,CarInfo[i][FrontBumper]);
    AddVehicleComponent(i,CarInfo[i][RearBumper]);
    AddVehicleComponent(i,CarInfo[i][VentRight]);
    AddVehicleComponent(i,CarInfo[i][VentLeft]);
    }
    return 1;
    }

  • hast du keine for-Schleife benutzt? :O
    Poste mal bitte den Code dadrüber oder dadrunter


    //Edit: Klappt es bei den anderen oder ist das nur speziel dadrauf?


    LG
    Accipter

    "Stay hungry! Stay foolish!" - Steve Jobs

  • (E) (Beschreibung)


    Also es ist nur bei Besitzer und Kennzeichen so den die anderen werte lese ich mit zahlen aus dafür brauche ich
    kein dini_Set , dini_Get nur eben beim besitzer und kennzeichen ich würde es ja mit dini_Get(string,"Kennzeichen");
    machen aber ich wills nicht direkt aus der datei auslesen denn z.b beim tacho muss ich den namen ja auslesen dafür
    will ich den string bzw name in CarInfo speichern und mit CarInfo auslesen der rest geht einbahnfrei bis auf
    die Tuning die wird nicht geladen warum auch immer.

    Einmal editiert, zuletzt von Quini ()

  • Also ich muss den format benutzen um es zu und zu speichern?
    wenn ja wie müsste das genau aussehen? könnte mir jemand das mal zeigen
    und wieso wird meine Tuning nicht geladen bei LoadCars jemand ne idee?


    (E1) könntest du mir ein Beispiel zeigen wie ungefähr das aussehen muss?
    (E2) Rechtschreibfehler behoben + Text neu geschrieben undverständlich gewesen

    2 Mal editiert, zuletzt von Quini ()

  • ich verstehe es nicht sorry habe es nun so: bestimmt falsch


    public LoadCars()
    {
    new string[128];
    for(new i = 0; i < MAX_VEHICLES; i++)
    {
    format(string,sizeof(string),"/Autos/%d.ini",i);
    if(dini_Exists(string))
    {
    CarInfo[i][fx] = dini_Float(string,"fx");
    CarInfo[i][fy] = dini_Float(string,"fy");
    CarInfo[i][fz] = dini_Float(string,"fz");
    CarInfo[i][fa] = dini_Float(string,"fa");
    CarInfo[i][Farbe1] = dini_Int(string,"Farbe1");
    CarInfo[i][Farbe2] = dini_Int(string,"Farbe2");
    CarInfo[i][Carid] = dini_Int(string,"Carid");
    CarInfo[i][Beruf] = dini_Int(string,"Beruf");
    CarInfo[i][Nebenjob] = dini_Int(string,"Nebenjob");
    CarInfo[i][Tank] = dini_Int(string,"Tank");
    CarInfo[i][Chip] = dini_Int(string,"Chip");
    CarInfo[i][Spoiler] = dini_Int(string,"Spoiler");
    CarInfo[i][Hood] = dini_Int(string,"Hood");
    CarInfo[i][Roof] = dini_Int(string,"Roof");
    CarInfo[i][Sideskirt] = dini_Int(string,"Sideskirt");
    CarInfo[i][Lamps] = dini_Int(string,"Lamps");
    CarInfo[i][Nitro] = dini_Int(string,"Nitro");
    CarInfo[i][Exhaust] = dini_Int(string,"Exhaust");
    CarInfo[i][Stereo] = dini_Int(string,"Stereo");
    CarInfo[i][Hydraulics] = dini_Int(string,"Hydraulics");
    CarInfo[i][FrontBumper] = dini_Int(string,"FrontBumper");
    CarInfo[i][RearBumper] = dini_Int(string,"RearBumper");
    CarInfo[i][VentRight] = dini_Int(string,"VentRight");
    CarInfo[i][VentLeft] = dini_Int(string,"VentLeft");
    CarInfo[i][Besitzer] = dini_Get(string,"Besitzer");
    format(CarInfo[i][Besitzer],sizeof(CarInfo[i][Besitzer]),dini_Get(string,"Besitzer"));
    CarInfo[i][Kennzeichen] = dini_Get(string,"Kennzeichen");
    format(CarInfo[i][Kennzeichen],sizeof(CarInfo[i][Kennzeichen]),dini_Get(string,"Kennzeichen"));
    }
    }
    return 1;
    }

  • Habe ich versucht doch igendwas mag er an dem code nicht:


    C:\Users\Qini\Desktop\Testserver\gamemodes\DR.pwn(27330) : error 001: expected token: "]", but found "-identifier-"
    C:\Users\Qini\Desktop\Testserver\gamemodes\DR.pwn(27330) : warning 215: expression has no effect
    C:\Users\Qini\Desktop\Testserver\gamemodes\DR.pwn(27330) : error 001: expected token: ";", but found "]"
    C:\Users\Qini\Desktop\Testserver\gamemodes\DR.pwn(27330) : error 029: invalid expression, assumed zero
    C:\Users\Qini\Desktop\Testserver\gamemodes\DR.pwn(27330) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • In dieser:


    format(CarInfo[i][Besitzer],sizeof(CarInfo[i][Besitzer]),dini_Get(string,"Besitzer"));


    (E)


    public LoadCars()
    {
    new string[128];
    for(new i = 0; i < MAX_VEHICLES; i++)
    {
    format(string,sizeof(string),"/Autos/%d.ini",i);
    if(dini_Exists(string))
    {
    CarInfo[i][fx] = dini_Float(string,"fx");
    CarInfo[i][fy] = dini_Float(string,"fy");
    CarInfo[i][fz] = dini_Float(string,"fz");
    CarInfo[i][fa] = dini_Float(string,"fa");
    CarInfo[i][Farbe1] = dini_Int(string,"Farbe1");
    CarInfo[i][Farbe2] = dini_Int(string,"Farbe2");
    CarInfo[i][Carid] = dini_Int(string,"Carid");
    CarInfo[i][Beruf] = dini_Int(string,"Beruf");
    CarInfo[i][Nebenjob] = dini_Int(string,"Nebenjob");
    CarInfo[i][Tank] = dini_Int(string,"Tank");
    CarInfo[i][Chip] = dini_Int(string,"Chip");
    CarInfo[i][Spoiler] = dini_Int(string,"Spoiler");
    CarInfo[i][Hood] = dini_Int(string,"Hood");
    CarInfo[i][Roof] = dini_Int(string,"Roof");
    CarInfo[i][Sideskirt] = dini_Int(string,"Sideskirt");
    CarInfo[i][Lamps] = dini_Int(string,"Lamps");
    CarInfo[i][Nitro] = dini_Int(string,"Nitro");
    CarInfo[i][Exhaust] = dini_Int(string,"Exhaust");
    CarInfo[i][Stereo] = dini_Int(string,"Stereo");
    CarInfo[i][Hydraulics] = dini_Int(string,"Hydraulics");
    CarInfo[i][FrontBumper] = dini_Int(string,"FrontBumper");
    CarInfo[i][RearBumper] = dini_Int(string,"RearBumper");
    CarInfo[i][VentRight] = dini_Int(string,"VentRight");
    CarInfo[i][VentLeft] = dini_Int(string,"VentLeft");
    format(CarInfo[i][Besitzer],sizeof(CarInfo[i][Besitzer]),dini_Get(string,"Besitzer"));
    format(CarInfo[i][Kennzeichen],sizeof(CarInfo[i][Kennzeichen]),dini_Get(string,"Kennzeichen"));
    }
    }
    return 1;
    }