Dynamic - Frage :O

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
  • Guten Tag!
    Ich bin dabei ein Dynamisches Auto verkauf system zu machen (Ich teste wie es mit dynamisch und so geht halt neh :D) und hab jetzt mal ein /aparken befehl versucht... Er klappt auch soweit nur das Problem ist das wenn ich das mache er sozusagen ein neues Auto createt?!


    Hier die Codes:


    if(strcmp(cmd, "/aparken", true) == 0)
    {
    for(new i = 0; i<MAX_VEHICLES; i++)
    {
    new Float:x, Float:y, Float:z, Float:angle;
    GetVehiclePos(GetPlayerVehicleID(playerid), x,y,z);
    GetVehicleZAngle(GetPlayerVehicleID(playerid), angle);
    new id = GetPlayerVehicleID(playerid);

    CarInfo[id][aX] = x;
    CarInfo[id][aY] = y;
    CarInfo[id][aZ] = z;
    CarInfo[id][aAngle] = angle;

    SpeicherFahrzeug(id);
    }
    return 1;
    }


    public SpeicherFahrzeug(carid)
    {
    if(carid <= 0)
    {
    return 1;
    }
    CarInfo[carid][aModel] = GetVehicleModel(carid);
    new str[25];
    format(str, sizeof(str), "%d.car", carid);
    dini_Create(str);
    {
    dini_IntSet(str,"ID",CarInfo[carid][aID]);
    dini_FloatSet(str,"aX", CarInfo[carid][aX]);
    dini_FloatSet(str,"aY", CarInfo[carid][aY]);
    dini_FloatSet(str,"aZ", CarInfo[carid][aZ]);
    dini_FloatSet(str,"aAngle", CarInfo[carid][aAngle]);
    dini_IntSet(str,"Model",CarInfo[carid][aModel]);
    }
    return 1;
    }


    MfG.

  • Weil ich es als Filterscript mache, außerdem ist das keine Antworte auf meine Frage ;)


    Geht auch in einem Filterscript :)


    Back to topic: Zeige mal die Erstellung von CarInfo[][]. 2. Wo tust du das Auto eigentlich parken bzw. despawnen? Bzw. möchtest du nur dass es da für immer stehen bleibt?

  • Benutz Race's ...


    Sprich:

    enum dynCar
    {
    dVehid,
    dCarid,
    //...
    };
    new DynamicCars[500][dynCar];


    Beim OnGameModeInit >>>
    Eine Datei Laden.


    Beim OnGameModeExit >>>
    Eine Datei Schreiben.


    Spart resourcen, und ist einfacher.


    Und was ich überhaupt nicht verstehe:
    for(new i = 0; i<MAX_VEHICLES; i++)
    Du verwendest das i Überhaupt nicht.

  • Würde nicht funktionieren, da bei "OnGameModeExit" die PAWNO-Variablen teilweise schon resettet werden.
    Speichern müsste er immer, wenn was mit dem Fahrzeug passiert.
    Und da das über Datei-Systeme und vorallem über DINI unheimlich viele Resourcen verschwendet sollte man das nur in MySQL machen.


    Unter anderem: Wenn man mal 120 Fahrzeueg auf dem Server hat, hat man 120 Dateien - FaiL X(



    MfG Firer

  • Nein, musste das selbst erfahren, seid ich mal ein Gangkassen-System bei "OnGameModeExit" speichern wollte.
    Die Variablen wurden resettet und nicht richtig gespeichert.
    Ausserdem würde das die Speicherlast verteilen.



    MfG Firer