.ini Datei wird nicht gespeichert!

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
  • Hier mein Code:




    public OnPlayerConnect(playerid)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/jobs/%s.ini",pname);
    if(fexist(accFormat))
    {
    new number = dini_Int("accFormat", "job"); // 0 = Keiner 1 = Busfahrer 2 = Pilot
    if(number == 2)
    {
    pilot[playerid] =1;
    busfahrer[playerid] =0;
    }
    if(number == 1)
    {
    busfahrer[playerid] =1;
    pilot[playerid] =0;
    }
    if(number == 0)
    {
    busfahrer[playerid] =0;
    pilot[playerid] =0;
    }
    }
    else
    {
    dini_Create(accFormat);
    dini_IntSet(accFormat, "job", 0);
    }
    return 1;
    }
    public OnPlayerDisconnect(playerid, reason)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"accFormat",pname);
    if(fexist(accFormat))
    {
    }
    return 1;
    }


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == arbeitsamt)
    {
    ShowPlayerDialog(playerid, Arbeitsamt, DIALOG_STYLE_LIST, "Arbeitsamt - Wähle einen Beruf:", "Busfahrer\nPilot\nBeruf kündigen.", "Auswählen", "Abbrechen");
    }
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/jobs/%s.ini",pname);
    if(dialogid == Arbeitsamt)
    {
    if(response == 1)
    {
    if(listitem == 0) // Busfahrer
    {
    if(busfahrer[playerid] == 0)
    {
    if(pilot[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du hast den Beruf Pilot gekündigt und bist nun Busfahrer.");
    pilot[playerid] =0;
    busfahrer[playerid] =1;
    dini_IntSet("accFormat", "job", 1);
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du bist ab jetzt Busfahrer.");
    pilot[playerid] =0;
    busfahrer[playerid] =1;
    dini_IntSet("accFormat", "job", 1);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du bist bereits Busfahrer.");
    dini_IntSet("accFormat", "job", 1);
    }
    }
    if(listitem == 1) // Pilot
    {
    if(pilot[playerid] == 0)
    {
    if(busfahrer[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du hast den Beruf Busfahrer gekündigt und bist nun Pilot.");
    pilot[playerid] =1;
    busfahrer[playerid] =0;
    dini_IntSet("accFormat", "job", 2);
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du bist ab jetzt Pilot.");
    pilot[playerid] =1;
    busfahrer[playerid] =0;
    dini_IntSet("accFormat", "job", 2);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du bist bereits Pilot.");
    dini_IntSet("accFormati", "job", 2);
    }
    }
    if(listitem == 2) // Beruf-Kündigen
    {
    if(pilot[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du hast deinen Beruf gekündigt.");
    pilot[playerid] =0;
    busfahrer[playerid] =0;
    dini_IntSet("accFormat", "job", 0);
    }
    else
    {
    if(busfahrer[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du hast deinen Beruf gekündigt.");
    pilot[playerid] =0;
    busfahrer[playerid] =0;
    dini_IntSet("accFormat", "job", 0);
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du bist bereits arbeitslos.");
    dini_IntSet("accFormat", "job", 0);
    }
    }
    }
    }
    if(response == 0)
    {
    return 1;
    }
    }
    return 1;
    }




    Die .ini Datei soll speichern welchen Job ein Spieler macht...


    Dies funktioniert auch, jedoch wird keine Datei erstellt!


    Nach einem Server-Neustart ist alles Futschikato!


    Ein- und Ausloggen funktioniert... Dann bleibt alles gespeichert...




    Mfg Peter_Party

    Bone Country TDM [Coming in Summer 2010]


    ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
    Closed Beta

  • format(accFormat,sizeof accFormat,"accFormat",pname);
    // (...)
    dini_IntSet("accFormat", "job", 1);
    wtf?


    Du musst in jedem Callback einmalig den Dateipfad zum Spieleraccount in accFormat speichern. In OnPlayerDisconnect machst du's falsch. (Und benützst es dannach gar nicht ^^)


    Und wenn du mit dini einen Wert in eine Datei speicherst, darfst du den String mit dem Dateipfad drin nicht in "" setzen...Sondern so:
    dini_IntSet(accFormat, "job", 1);


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • Wie die Überschrift schon sagt:


    Hier der aktuelle Code, es wird einfach keine .ini Datei gespeichert:




    public OnPlayerConnect(playerid)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/jobs/%s.ini",pname);
    if(fexist(accFormat))
    {
    new number = dini_Int(accFormat, "job"); // 0 = Keiner 1 = Busfahrer 2 = Pilot
    if(number == 2)
    {
    pilot[playerid] =1;
    busfahrer[playerid] =0;
    }
    if(number == 1)
    {
    busfahrer[playerid] =1;
    pilot[playerid] =0;
    }
    if(number == 0)
    {
    busfahrer[playerid] =0;
    pilot[playerid] =0;
    }
    }
    else
    {
    dini_Create(accFormat);
    dini_IntSet(accFormat, "job", 0);
    }
    return 1;
    }
    public OnPlayerDisconnect(playerid, reason)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"accFormat",pname);
    if(fexist(accFormat))
    {
    }
    return 1;
    }


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == arbeitsamt)
    {
    ShowPlayerDialog(playerid, Arbeitsamt, DIALOG_STYLE_LIST, "Arbeitsamt - Wähle einen Beruf:", "Busfahrer\nPilot\nBeruf kündigen.", "Auswählen", "Abbrechen");
    }
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/jobs/%s.ini",pname);
    if(dialogid == Arbeitsamt)
    {
    if(response == 1)
    {
    if(listitem == 0) // Busfahrer
    {
    if(busfahrer[playerid] == 0)
    {
    if(pilot[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du hast den Beruf Pilot gekündigt und bist nun Busfahrer.");
    pilot[playerid] =0;
    busfahrer[playerid] =1;
    dini_IntSet(accFormat, "job", 1);
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du bist ab jetzt Busfahrer.");
    pilot[playerid] =0;
    busfahrer[playerid] =1;
    dini_IntSet(accFormat, "job", 1);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du bist bereits Busfahrer.");
    dini_IntSet(accFormat, "job", 1);
    }
    }
    if(listitem == 1) // Pilot
    {
    if(pilot[playerid] == 0)
    {
    if(busfahrer[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du hast den Beruf Busfahrer gekündigt und bist nun Pilot.");
    pilot[playerid] =1;
    busfahrer[playerid] =0;
    dini_IntSet(accFormat, "job", 2);
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du bist ab jetzt Pilot.");
    pilot[playerid] =1;
    busfahrer[playerid] =0;
    dini_IntSet(accFormat, "job", 2);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du bist bereits Pilot.");
    dini_IntSet(accFormat, "job", 2);
    }
    }
    if(listitem == 2) // Beruf-Kündigen
    {
    if(pilot[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du hast deinen Beruf gekündigt.");
    pilot[playerid] =0;
    busfahrer[playerid] =0;
    dini_IntSet(accFormat, "job", 0);
    }
    else
    {
    if(busfahrer[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du hast deinen Beruf gekündigt.");
    pilot[playerid] =0;
    busfahrer[playerid] =0;
    dini_IntSet(accFormat, "job", 0);
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "Du bist bereits arbeitslos.");
    dini_IntSet(accFormat, "job", 0);
    }
    }
    }
    }
    if(response == 0)
    {
    return 1;
    }
    }
    return 1;
    }

    Bone Country TDM [Coming in Summer 2010]


    ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
    Closed Beta

  • Mir kommt gerade ein Gedankenblitz:
    Existiert der Ordner jobs denn, in den die Datei reingespeichert wird? Der muss nämlich existieren...


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!