Alle Dini Values werden resettet

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 liebe Brotfische!
    Ich habe ein Problem, und zwar werden alle Dini Values nach einem Serverneustart (mit gmx) einfach auf 0 gesetzt, zB wird die Position, das Geld, Adminrang, einfach alles was ich mit Dini abspeichere auf 0 gesetzt. Wie kann ich es ändern?


    //Neustart
    if (strcmp("/neustart", cmdtext, true) == 0)
    {
    if(Spieler[playerid][Eingeloggt] == 1)
    {
    if(Spieler[playerid][Admin] >= 3)
    {
    SetTimer("Restarttimer",10000,0); // <<< Im Timer kommt dann nur der gmx Befehl
    SendClientMessageToAll(COLOR_BLAU,"Der Server wird in 10 Sekunden neugestartet!");
    for(new i; i < MAX_PLAYERS; i++) // Alle Onlinespieler Speichern
    {
    if(Spieler[i][Eingeloggt] == 1)
    {
    SpielerSpeichern(i);
    KassenSpeichern();
    SendClientMessageToAll(COLOR_BLAU,"Alles wurde vollständig gespeichert!");
    }
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_ROT,"Du bist kein Admin!");
    return 1;
    }
    }
    return 1;
    }



    Mit Freundlichen Grüßen,
    Johnny :thumbup:

    Mit freundlichen Grüßen,
    Johnny Macaroni

    Einmal editiert, zuletzt von Johnny Macaroni ()

  • Mach ich nicht, aber es wird ja oft auch alles einfachso auf 0 gesetzt. Wenn ich es machen würde, würd ich es so machen:
    //Neustart
    if (strcmp("/neustart", cmdtext, true) == 0)
    {
    if(Spieler[playerid][Eingeloggt] == 1)
    {
    if(Spieler[playerid][Admin] >= 3)
    {
    SetTimer("Restarttimer",10000,0); // <<< Im Timer kommt dann nur der gmx Befehl
    SendClientMessageToAll(COLOR_BLAU,"Der Server wird in 10 Sekunden neugestartet!");
    for(new i; i < MAX_PLAYERS; i++) // Alle Onlinespieler Speichern
    {
    if(Spieler[i][Eingeloggt] == 1)
    {
    SpielerSpeichern(i);
    KassenSpeichern();
    SendClientMessageToAll(COLOR_BLAU,"Alles wurde vollständig gespeichert!");
    }
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_ROT,"Du bist kein Admin!");
    return 1;
    }
    }
    return 1;
    }


    Ich danke dir für die schnelle Antwort!

    Mit freundlichen Grüßen,
    Johnny Macaroni

  • Zeig wie Spielerspeichern und Kassenspeichern aussieht. Und du musst natürlich vor dem GMX alles speichern.

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • Die Kassen werden nie resettet, meist nur die einzelnen Spieler. SpielerSpeichern(); sieht so aus:

    //Accspeichern
    stock SpielerSpeichern(playerid)
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    new Float:x, Float:y, Float:z, Float:a, Float:h;
    GetPlayerHealth(playerid,h);
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, a);
    dini_FloatSet(Playerdatei,"Leben",h);
    dini_FloatSet(Playerdatei,"PosX",x);
    dini_FloatSet(Playerdatei,"PosY",y);
    dini_FloatSet(Playerdatei,"PosZ",z);
    dini_FloatSet(Playerdatei,"PosA",a);
    dini_IntSet(Playerdatei, "Versicherung", Spieler[playerid][Versicherung]); //Versicherung
    dini_IntSet(Playerdatei, "Bankkonto", Spieler[playerid][Bankkonto]); //Konto
    dini_IntSet(Playerdatei, "Wanteds", Spieler[playerid][Wanteds]); //Wanteds
    dini_IntSet(Playerdatei, "Telefonbuch", Spieler[playerid][Telefonbuch]); //Telefonbuch
    dini_IntSet(Playerdatei, "Arbeitsgeld", Spieler[playerid][Arbeitsgeld]); //Arbeitsgeld
    dini_IntSet(Playerdatei, "Stunden", Spieler[playerid][Stunden]); //Stunden
    dini_IntSet(Playerdatei, "Alter", Spieler[playerid][Alter]); //Alter
    dini_IntSet(Playerdatei, "Geschlecht", Spieler[playerid][Geschlecht]); //Geschlecht
    dini_IntSet(Playerdatei, "Levelpunkte", Spieler[playerid][Levelpunkte]); //Levelpunkte
    dini_IntSet(Playerdatei, "NextPayday", Spieler[playerid][NextPayday]); //NextPayday
    dini_IntSet(Playerdatei, "Levelpunkte", Spieler[playerid][Levelpunkte]); //Levelpunkte
    dini_IntSet(Playerdatei, "Premium", Spieler[playerid][Premium]); //Premium
    dini_IntSet(Playerdatei, "Gebannt", Spieler[playerid][Gebannt]); //Gebannt
    dini_IntSet(Playerdatei, "Job", Spieler[playerid][Job]); //Job
    dini_IntSet(Playerdatei, "Fraktion", Spieler[playerid][Member]); //Fraktion
    dini_IntSet(Playerdatei, "Handy", Spieler[playerid][Handy]); //Handy
    dini_IntSet(Playerdatei, "Fuehrerschein", Spieler[playerid][Fuehrerschein]); //Führerschein
    dini_IntSet(Playerdatei, "Motorradschein", Spieler[playerid][Motorradschein]); //Motorradschein
    dini_IntSet(Playerdatei, "Bootschein", Spieler[playerid][Bootschein]); //Bootschein
    dini_IntSet(Playerdatei, "Lkwschein", Spieler[playerid][Lkwschein]); //Lkwschein
    dini_IntSet(Playerdatei, "Flugschein", Spieler[playerid][Flugschein]); //Flugschein
    dini_IntSet(Playerdatei, "Waffenschein", Spieler[playerid][Waffenschein]); //Waffenschein
    dini_IntSet(Playerdatei, "Stadtplan", Spieler[playerid][Stadtplan]); //Stadtplan
    dini_IntSet(Playerdatei, "Interior",GetPlayerInterior(playerid)); //Interior
    dini_IntSet(Playerdatei, "Skin",GetPlayerSkin(playerid)); //Skin
    dini_IntSet(Playerdatei, "Level",GetPlayerScore(playerid)); //Level
    dini_IntSet(Playerdatei, "Geld",GetPlayerMoney(playerid)); //Geld
    dini_IntSet(Playerdatei, "Perso", Spieler[playerid][Perso]); //Persodini_IntSet(Playerdatei, "Miete", Spieler[playerid][Miete]); //Miete
    dini_IntSet(Playerdatei, "Admin", Spieler[playerid][Admin]); //Admin
    dini_IntSet(Playerdatei, "Getoatet", Spieler[playerid][Getoatet]); //Getötetdini_IntSet(Playerdatei, "Gestorben", Spieler[playerid][Gestorben]); //Gestorben
    dini_IntSet(Playerdatei, "Bank", Spieler[playerid][Bank]); //Bank
    return 1;
    }

    Mit freundlichen Grüßen,
    Johnny Macaroni