Mysql Problem

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 hab folgendes Problem:
    Beim Laden ladet er alles noch richtig:
    case _SQL_FRAKTION_LOAD:
    {
    cache_get_data(rows,fields);
    new frakstring[250],frakname[25];
    if(rows)
    {
    new frak = 1;
    while(frak<rows)
    {
    cache_get_field_content(frak,"id",result);
    FrakInfo[frak][fid] = strval(result);
    printf("ID: %d",FrakInfo[frak][fid]);


    cache_get_field_content(frak,"interior",result);
    FrakInfo[frak][fInteriorID] = strval(result);


    cache_get_field_content(frak,"vwelt",result);
    FrakInfo[frak][fVirtuelleWelt] = strval(result);


    cache_get_field_content(frak,"frakgeld",result);
    FrakInfo[frak][frakgeld] = strval(result);
    printf("geldf: %d",FrakInfo[frak][frakgeld]);


    cache_get_field_content(frak,"mp5rank",result);
    FrakInfo[frak][fMP5Rank] = strval(result);


    cache_get_field_content(frak,"m4rank",result);
    FrakInfo[frak][fM4Rank] = strval(result);


    cache_get_field_content(frak,"deaglerank",result);
    FrakInfo[frak][fDeagleRank] = strval(result);


    cache_get_field_content(frak,"ak47rank",result);
    FrakInfo[frak][fAK47Rank] = strval(result);


    cache_get_field_content(frak,"riflerank",result);
    FrakInfo[frak][fRifleRank] = strval(result);


    cache_get_field_content(frak,"pistolerank",result);
    FrakInfo[frak][fPistoleRank] = strval(result);


    cache_get_field_content(frak,"shotgunrank",result);
    FrakInfo[frak][fShotgunRank] = strval(result);


    cache_get_field_content(frak,"baseballrank",result);
    FrakInfo[frak][fBaseballRank] = strval(result);


    cache_get_field_content(frak,"schlagringrank",result);
    FrakInfo[frak][fSchlagringRank] = strval(result);


    cache_get_field_content(frak,"schwacheR",result);
    FrakInfo[frak][fSRustung] = strval(result);


    cache_get_field_content(frak,"mittelR",result);
    FrakInfo[frak][fMRustung] = strval(result);


    cache_get_field_content(frak,"starkeR",result);
    FrakInfo[frak][fStarkRustung] = strval(result);


    cache_get_field_content(frak,"frakmaterial",result);
    FrakInfo[frak][frakmaterial] = strval(result);


    cache_get_field_content(frak,"marihuana",result);
    FrakInfo[frak][fMarihuana] = strval(result);


    cache_get_field_content(frak,"koks",result);
    FrakInfo[frak][fKoks] = strval(result);


    cache_get_field_content(frak,"crystle",result);
    FrakInfo[frak][fCrystle] = strval(result);


    cache_get_field_content(frak,"lsd",result);
    FrakInfo[frak][fLSD] = strval(result);


    cache_get_field_content(frak,"gras",result);
    FrakInfo[frak][fGras] = strval(result);


    FrakInfo[frak][fPosX] = cache_get_row_float(frak,29,MYSQLVerbindung);
    FrakInfo[frak][fPosY] = cache_get_row_float(frak,30,MYSQLVerbindung);
    FrakInfo[frak][fPosZ] = cache_get_row_float(frak,31,MYSQLVerbindung);


    cache_get_field_content(frak,"frakrank1",result);
    format(FrakRank0[frak],26,"%s",result);


    cache_get_field_content(frak,"frakrank2",result);
    format(FrakRank1[frak],26,"%s",result);


    cache_get_field_content(frak,"frakrank3",result);
    format(FrakRank2[frak],26,"%s",result);


    cache_get_field_content(frak,"frakrank4",result);
    format(FrakRank3[frak],26,"%s",result);


    cache_get_field_content(frak,"frakrank5",result);
    format(FrakRank4[frak],26,"%s",result);


    cache_get_field_content(frak,"frakrank6",result);
    format(FrakRank5[frak],26,"%s",result);


    cache_get_field_content(frak,"fraklohn1",result);
    FrakInfo[frak][fraklohn1] = strval(result);


    cache_get_field_content(frak,"fraklohn2",result);
    FrakInfo[frak][fraklohn2] = strval(result);


    cache_get_field_content(frak,"fraklohn3",result);
    FrakInfo[frak][fraklohn3] = strval(result);


    cache_get_field_content(frak,"fraklohn4",result);
    FrakInfo[frak][fraklohn4] = strval(result);


    cache_get_field_content(frak,"fraklohn5",result);
    FrakInfo[frak][fraklohn5] = strval(result);


    cache_get_field_content(frak,"fraklohn6",result);
    FrakInfo[frak][fraklohn6] = strval(result);


    cache_get_field_content(frak,"wtposX",result);
    FrakInfo[frak][WTPos][0] = floatstr(result);


    cache_get_field_content(frak,"wtposY",result);
    FrakInfo[frak][WTPos][1] = floatstr(result);


    cache_get_field_content(frak,"wtposZ",result);
    FrakInfo[frak][WTPos][2] = floatstr(result);


    if(FrakInfo[frak][fid] == 7 || FrakInfo[frak][fid] == 8 || FrakInfo[frak][fid] == 11 || FrakInfo[frak][fid] == 12)
    {
    switch(FrakInfo[frak][fid])
    {
    case 7:{frakname="Grove Street";}
    case 8:{frakname="Ballas";}
    case 11:{frakname="Yakuza";}
    case 12:{frakname="Triaden";}
    }
    Create3DTextLabel(""#HTML_LOGIN"Fraktionsbank\nVerwende: ALT",WEISS,FrakInfo[frak][fPosX],FrakInfo[frak][fPosY],FrakInfo[frak][fPosZ]+1,7.0,FrakInfo[frak][fVirtuelleWelt],0);
    CreateDynamicPickup(1274,1,FrakInfo[frak][fPosX],FrakInfo[frak][fPosY],FrakInfo[frak][fPosZ]+0.3,FrakInfo[frak][fVirtuelleWelt],FrakInfo[frak][fInteriorID],-1,100.0);


    format(frakstring,sizeof(frakstring),""#HTML_LOGIN"Waffentransport\n"#HTML_WHITE"Fraktion: %s\nVerwende im Fahrzeug 'Leertaste'",frakname);
    Create3DTextLabel(frakstring,WEISS,FrakInfo[frak][WTPos][0],FrakInfo[frak][WTPos][1],FrakInfo[frak][WTPos][2]+1,10.0,0,0);
    CreateDynamicPickup(1239,1,FrakInfo[frak][WTPos][0],FrakInfo[frak][WTPos][1],FrakInfo[frak][WTPos][2]);
    }
    frak++;
    }
    printf(""#SERVERNAME" Fraktionsbanken %i von %i geladen!",rows,MAX_FRAKTIONEN);
    }
    return true;
    }


    Nun zahle ich Geld ein:
    case DIALOG_FRAKBANK_EINZAHLEN:
    {
    for(new frakid=0;frakid<MAX_FRAKTIONEN;frakid++)
    if(response == 0) return ShowPlayerDialog(playerid,DIALOG_FRAKBANK,DIALOG_STYLE_LIST,"Fraktionsbank","Ausrüsten\nEinzahlen\nAuszahlen\nMaterial\nDrogen","Weiter","Abbruch");
    new cmd = strval(inputtext),string[350],frakid = Spieler[playerid][pFraktion];
    if((Spieler[playerid][pGeld] - cmd) < 0) return SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
    if(!IsNumeric(inputtext))
    {
    format(string,sizeof(string),"Gebe bitte nun den Betrag ein, welchen du in die Fraktionkasse einzahlen möchtest!\nDerzeitiger Fraktionskassen Stand: %i$",FrakInfo[frakid][frakgeld]);
    ShowPlayerDialog(playerid,DIALOG_FRAKBANK_EINZAHLEN,DIALOG_STYLE_INPUT,"Fraktionsbank Einzahlung",string,"Weiter","Abbruch");
    return SendClientMessage(playerid,ROT,"Es sind nur Zahlen möglich!");
    }
    if(cmd < 1 || cmd > 10000)
    {
    format(string,sizeof(string),"Gebe bitte nun den Betrag ein, welchen du in die Fraktionkasse einzahlen möchtest!\nDerzeitiger Fraktionskassen Stand: %i$",FrakInfo[frakid][frakgeld]);
    ShowPlayerDialog(playerid,DIALOG_FRAKBANK_EINZAHLEN,DIALOG_STYLE_INPUT,"Fraktionsbank Einzahlung",string,"Weiter","Abbruch");
    return SendClientMessage(playerid,ROT,"Betrag nur zwischen 1 und 10.000$ möglich!");
    }
    FrakInfo[frakid][frakgeld] += cmd,ACMoney(playerid, -cmd);
    format(string,sizeof(string),""#HTML_WHITE"[ "#HTML_LOGIN"FrakBank: "#HTML_WHITE"Das Mitglied "#HTML_ORANGE"%s "#HTML_WHITE"hat so eben "#HTML_GREEN"%i$ "#HTML_WHITE"in der Fraktionkasse eingezahlt! "#HTML_WHITE"Neuer Stand: "#HTML_ORANGE"%i$ ]",SpielerName(playerid),cmd,FrakInfo[frakid][frakgeld]);
    FraktionsChat(Spieler[playerid][pFraktion],WEISS,string);
    format(string,sizeof(string),"INSERT INTO "#DATENBANK"_frakgeldlog (`fID`,`name`,`count`,`timestamp`,`op`) VALUES ('%d','%s','%d','%d','1')",frakid,SpielerName(playerid),cmd,gettime());
    mysql_function_query(MYSQLVerbindung,string,false,"","");
    ShowPlayerDialog(playerid,DIALOG_FRAKBANK,DIALOG_STYLE_LIST,"Fraktionsbank","Ausrüsten\nEinzahlen\nAuszahlen\nMaterial\nDrogen","Weiter","Abbruch");
    return true;
    }


    Hier läuft noch alles ricjhtig und es wird auch in der Datenbank richtig eingetragen jedoch wird es im DIalog nicht angezeigt bzw. geupdatet.
    Erst nach der Fehlermedlung return SendClientMessage(playerid,ROT,"Betrag nur zwischen 1 und 10.000$ möglich!"); wird es richtig angezeigt.


    Nachdem man den Server neu startet verschiebt sich das Ganze:


    [17:25:18] ID: 2
    [17:25:18] geldf: 2
    [17:25:18] ID: 3
    [17:25:18] geldf: 3
    [17:25:18] ID: 4
    [17:25:18] geldf: 4
    [17:25:18] ID: 5
    [17:25:18] geldf: 5
    [17:25:18] ID: 6
    [17:25:18] geldf: 6
    [17:25:18] ID: 7
    [17:25:18] geldf: 7
    [17:25:18] ID: 8
    [17:25:18] geldf: 8
    [17:25:18] ID: 9
    [17:25:18] geldf: 9
    [17:25:18] ID: 10
    [17:25:18] geldf: 10
    [17:25:18] ID: 11
    [17:25:18] geldf: 11
    [17:25:18] ID: 12
    [17:25:18] geldf: 12
    [17:25:18] ID: 13
    [17:25:18] geldf: 13
    [17:25:18] ID: 14
    [17:25:18] geldf: 14
    [17:25:18] ID: 15
    [17:25:18] geldf: 15[/pawn]


    Der Fehler liegt glaube ich beim Saven
    [pawn]stock SaveFraktion()
    {
    new query[275];
    for(new frak=0;frak<MAX_FRAKTIONEN;frak++)
    {
    format(query,sizeof(query),"UPDATE "#DATENBANK"_fraktionen SET frakmaterial = '%d', frakgeld = '%d', marihuana = '%d', koks = '%d', crystle = '%d', lsd = '%d', gras = '%d' WHERE frakid = '%d'",
    FrakInfo[frak][frakmaterial],FrakInfo[frak][frakgeld],FrakInfo[frak][fMarihuana],FrakInfo[frak][fKoks],FrakInfo[frak][fCrystle],FrakInfo[frak][fLSD],FrakInfo[frak][fGras],frak);
    mysql_function_query(MYSQLVerbindung,query,false,"","");
    }
    return true;
    }


    Danke im vorraus,
    Mfg, Heaven