Benötige Dini hilfe!

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 Brotfische!
    Ich habe ein Problem mit Dini, undzwar habe ich versucht damit Fahrzeuge zu speichern und wieder zu laden. Nun, dass speichern funktionier ohne Probleme, nur die Fahrzeuge werden InGame nicht mehr geladen, nach einem Restart. Ich poste mal die Warnings und die betroffenen Zeilen hier rein.


    Warnings:
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2063) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2064) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2065) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2066) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2067) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2068) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2069) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2070) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2071) : warning 202: number of arguments does not match definition


    9 Warnings.


    Betroffene Zeilen:
    stock loadCars()
    {
    new Fahrzeugdatei[64];
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    format(Fahrzeugdatei,sizeof(Fahrzeugdatei),"/Fahrzeuge/%i.ini",i);
    dini_Get(Fahrzeugdatei, "Model", cInfo[i][modelid]);
    dini_Get(Fahrzeugdatei,"X",cInfo[i][X]);
    dini_Get(Fahrzeugdatei,"Y",cInfo[i][Y]);
    dini_Get(Fahrzeugdatei,"Z",cInfo[i][Z]);
    dini_Get(Fahrzeugdatei,"A",cInfo[i][A]);
    dini_Get(Fahrzeugdatei,"Besitzer",cInfo[i][besitzer]);
    dini_Get(Fahrzeugdatei, "Farbe1", cInfo[i][farbe1]);
    dini_Get(Fahrzeugdatei, "Farbe2", cInfo[i][farbe2]);
    CreateVehicle(cInfo[i][modelid], cInfo[i][X], cInfo[i][Y], cInfo[i][Z], cInfo[i][A],cInfo[i][farbe1],cInfo[i][farbe2]);
    }
    return 1;
    }
    (Das sieht im Editor nicht so verschoben aus wie hier!!!)
    Ich hoffe ihr könnt mir helfen!!!
    mfg. plattkop

  • @[SoA]TheBester: Natürlich



    dini_Get(Fahrzeugdatei, "Model", cInfo[i][modelid]);//
    dini_Get(Fahrzeugdatei,"X",cInfo[i][X]);
    dini_Get(Fahrzeugdatei,"Y",cInfo[i][Y]);
    dini_Get(Fahrzeugdatei,"Z",cInfo[i][Z]);
    dini_Get(Fahrzeugdatei,"A",cInfo[i][A]);
    dini_Get(Fahrzeugdatei,"Besitzer",cInfo[i][besitzer]);
    dini_Get(Fahrzeugdatei, "Farbe1", cInfo[i][farbe1]);
    dini_Get(Fahrzeugdatei, "Farbe2", cInfo[i][farbe2]);
    CreateVehicle(cInfo[i][modelid], cInfo[i][X], cInfo[i][Y], cInfo[i][Z], cInfo[i][A],cInfo[i][farbe1],cInfo[i][farbe2]);

    Das sind die Zeilen 2063-2071

  • du arbeitest nur mit dini_Get, dies wird verwendet um einen text in einen string zu speichern. da du Sachen wie model in eine variable speichern willst solltest du dini_Int verwenden. für Positionen solltest du dini_Float verwenden, ändere das und die Errors sind verschwunden :D


    Premium Company - comming soon!

  • du arbeitest nur mit dini_Get, dies wird verwendet um einen text in einen string zu speichern. da du Sachen wie model in eine variable speichern willst solltest du dini_Int verwenden. für Positionen solltest du dini_Float verwenden, ändere das und die Errors sind verschwunden :D

    Jetzt wenn ich das mit Get schreibe, also zum Beispiel, dini_FloatGet, bekomme ich 8 Errors, ohne das Get 9 Warnings.

    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2063) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2064) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2065) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2066) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2067) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2068) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2069) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2070) : warning 202: number of arguments does not match definition
    C:\Users\User\Desktop\SA_MP Server\gamemodes\gamemode.pwn(2071) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    9 Warnings.


  • dini_Int(pafd,"Datei");Frägt ein Intega ab! dini_Float(pfad,"x");frägt ein Float ab


    Guter Support, Gute Preise! Freunde das ist kein Speed das ist Lichtgeschwindigkeit!
    Atrox Devolpment[/size]
    [size=24][color=#ff0000]Kunde | Top WBB Produkte

  • Du musst die jeweiligen dini Befehle auf deine gespeicherten Werte anpassen. Ein Integer ist eine Ganzzahl, ein Float kann eine Kommazahl sein und ein String kann alles sein, wird aber als Text ausgegeben. Einen Integer liest du mit dini_Int aus,einen Float mit dini_Float und einen String mit dini_Get. Diese arbeiten alle mit 2 Parametern, dem Pfad und dem Key. Der Pfad ist eben der Pfad der Datei und der Key das, was du auslesen willst.
    Ich bin mir nicht sicher, aber ich denke, so sollte es gehen:
    cInfo[i][modelid] = dini_Int(Fahrzeugdatei, "Model");
    Praktisch den letzten Parameter vorne hinsetzen und auf Integer, Float oder String anpassen.

    Greetz

  • Du musst die jeweiligen dini Befehle auf deine gespeicherten Werte anpassen. Ein Integer ist eine Ganzzahl, ein Float kann eine Kommazahl sein und ein String kann alles sein, wird aber als Text ausgegeben. Einen Integer liest du mit dini_Int aus,einen Float mit dini_Float und einen String mit dini_Get. Diese arbeiten alle mit 2 Parametern, dem Pfad und dem Key. Der Pfad ist eben der Pfad der Datei und der Key das, was du auslesen willst.
    Ich bin mir nicht sicher, aber ich denke, so sollte es gehen:
    cInfo[i][modelid] = dini_Int(Fahrzeugdatei, "Model");
    Praktisch den letzten Parameter vorne hinsetzen und auf Integer, Float oder String anpassen.


    Ok, das hat geholfen! Jetzt ist aber noch der Warning aus Zeile 2071(CreateVehicle(...)), deswegen funktionierts immer noch nicht :/

  • CreateVehicle(cInfo[i][modelid], cInfo[i][X], cInfo[i][Y], cInfo[i][Z], cInfo[i][A],cInfo[i][farbe1],cInfo[i][farbe2],60);
    Du hast vergessen, anzugeben, wann das Car respawnen soll. Diese 60 bedeutet, es respawnt nach 60 Sekunden.
    Wenn du Warnings bekommst, wie beispielsweise "Number of arguements doesnt match definition", schau doch einfach im Wiki nach, dort steht, welche Parameter du angeben musst.

    Greetz