Fraktion speichern

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
  • Wen ich meine Fraktionen speicher , wird alles auf '0' gesetzt.


    stock SaveFraktionen(fraktionsid)
    {
    new query[150];
    mysql_format(mycon,query, sizeof(query), "UPDATE `Fraktionen` SET `Mats` = %d,`Kasse`=%d WHERE `ID` = '%d'",
    Fraktion[fraktionsid][fMats],Fraktion[fraktionsid][fKasse],fraktionsid);
    mysql_function_query(mycon,query,false,"","");
    return 1;
    }

  • Wieso sollte es an der for schleife liegen?
    Du gibst ihn ja dort nur einen Wert z.b. 1 welche er dann bei den stock als "Fraktions ID 1" nimmt.
    Setzt du den der fMats & fKasse überhaupt einen Wert in deinem Script?
    Beispiel: Fraktion[fraktionsid]fMats] = 5; ?


    //edit
    probier es mal so:
    format(query,sizeof(query), "UPDATE `Fraktionen` SET `Mats` = '%d',`Kasse`= '%d' WHERE `ID` = '%d'",
    Fraktion[fraktionsid][fMats],Fraktion[fraktionsid][fKasse],fraktionsid);


    //edit²+³ Farbquellcode entfernt und Nochmal Farbquellcode entfernt -.-
    MfG ;)

  • Bitte beantworte doch mal die Fragen, dann kann man dir auch helfen ....


    MfG ;)

  • Du kannst gut Fragen gekonnt ignorieren ^^
    Hast du irgendwo im Script etwas gesetzt, was den Wert von den Mats etc. definiert?
    Wo eine Zahl als Wert übergeben wird?


    Bzw. wo kommt Fraktion[fraktionsid]fMats] etc. in deinem Script vor, wo es evtl. daran liegen könnt, dass der Wert falsch gesetzt wird?
    Lädt er es denn richtig? Wenn du es nicht weißt, dann printe dir mal das Laden aus, wo der Wert aus der Datenbank in die Variable gesetzt wird.



    MfG ;)

  • CMD:test(playerid,params[])
    {
    Fraktion[1][fMats] = 10000;
    SendClientMessage(playerid,COLOR_RED,"DONE!");
    }


    Habe die eigentlich schon beantwortet, wen ich es Printe zeigt er mir auch an das es gesetzt wurde & in der DB wurde es auch.
    Doch bei einen erneuten Restart wird nun alles 0 gesetzt, beim speichern.

  • gut denke habe den Fehler , bzw. woran es liegt.


    for(new f = 0; f < MAX_FRAKTIONEN; f++)
    {
    mysql_format(mycon,query, sizeof(query), "SELECT * FROM `Fraktionen` WHERE `ID` = '%d'",f);
    mysql_function_query(mycon,query,true,"LoadFraktionen","i",f);
    print(query);
    }
    stock LoadFraktionen(fraktionsid)
    {
    new query[150];
    Fraktion[fraktionsid][fMats] = cache_get_field_content_int(0,"Mats");
    Fraktion[fraktionsid][fKasse] = cache_get_field_content_int(0,"Kasse");
    print("%i",Fraktion[fraktionsid][fMats]);
    return 1;
    }
    Der geht garnicht in den Public anscheint ?

  • Also ich habs bei mir so:
    Ongamemodeinit:
    mysql_function_query(Data, "SELECT * FROM gangfight", true, "MySQLCreateGF","d",0);
    Dann mein Public:
    public MySQLCreateGF()
    {
    new rows, fields;
    cache_get_data(rows, fields);
    GFCount = rows;
    printf("Es m�ssen %d Gangfight Gebiete geladen werden!",GFCount);
    for (new GangZoneLoad = 1; GangZoneLoad < GFCount+1; GangZoneLoad++)
    {
    ToLoadGangfight(GangZoneLoad);
    }
    print("SERVER START:: Gangfight Gebiete geladen!");
    return 1;
    }
    Und dann das.
    stock ToLoadGangfight(id)
    {
    new query[256];
    mysql_format(Data, query, 128, "SELECT * FROM gangfight WHERE `id` = '%d'", id);
    mysql_function_query(Data, query, true, "OnGFLoad", "d", id);
    return 1;
    }