Fraktions Mats werden nicht gespeichert/falsch eingetragen

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,wenn ich gekaufte Mats in die Fraktionskasse einzahle und kurz darauf eine Waffe aus den Mats machen möchte, sagt mir mein Server immer "In dem Lager sind nicht genug Mats", beim starten und stoppen werden diese auch gespeichert...inner .cfg stehen sie auch nur nicht in Zeile 13 sondern in Zeile 14... wenn ich jetzt aber in die Fraktion mit der ID 14 gehe hatt die diese nicht. Hatt jemand eine Lösung?
    public LoadFraktionsMats()
    {
    new File:Kasse = fopen("FrakMats.cfg",io_read);
    new idx = 0;
    new read[128];
    while(idx < sizeof(FraktionsMats))
    {
    fread(Kasse,read);
    for(new x=0; x<strlen(read); x++)
    {
    if(read[x]== '\n')
    {
    read[x] = '\0';
    }
    }
    FraktionsMats[idx] = strval(read);
    idx++;
    }
    fclose(Kasse);
    return 1;
    }
    public SaveFraktionsMats()
    {
    new File:Kasse = fopen("FrakMats.cfg",io_write);
    new write[24];
    for(new idx; idx < sizeof(FraktionsMats); idx++)
    {
    format(write,sizeof(write),"%d\n",FraktionsMats[idx]);
    fwrite(Kasse,write);
    }
    fclose(Kasse);
    return 1;
    }
    if(dialogid == DIALOG_MATSEINZAHLEN)
    {
    new str[128];
    new fraktion = GetPVarInt(playerid, "Fraktion");
    if(GetPVarInt(playerid,"Mats") <= strval(inputtext))return SendClientMessage(playerid,0xC8C8C8FF,"Du hast nicht genug Mats dabei!");
    FraktionsMats[fraktion] +=strval (inputtext);
    SetPVarInt(playerid,"Mats",GetPVarInt(playerid,"Mats")-strval (inputtext));
    format(str,sizeof(str),"Du hast %i Mats eingelagert",strval(inputtext));
    ShowPlayerDialog(playerid,DIALOG_MATSGEKAUFT,DIALOG_STYLE_MSGBOX,"Mats",str,"Schließen","");
    }
    Hier die .cfg
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    760
    0
    0
    0
    0
    0
    0

  • Du verwendest sowohl pVars als auch "normale" Variabeln. Beim Auslesen sowie beim Speichern verwendest du deine Variabeln, bei der Überprüfung wie viele Mats man hat, überprüfst du jedoch per pVars. Ich denke stark, dass dort die Fehlerquelle liegt.