Geld von der Hand aufs Konto funktioniert nicht richtig

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 ich bin es mal wieder :D,


    Ich habe jetzt einen Dialog gebaut für eine spätere bank, ich wollte es erstmal versuchen geld von der Hand auf ein "Konto" zu packen.
    Mein Problem ist das er zwar das Geld von der Hand runter nimmt, aber auf dem Konto nur ein Teilbetrag landet.
    Die Datenbank sagt 4 wurden aufs Konto gepackt und 500 wurden von der hand genommen.
    Meine "Konto" Datenbank heißt bankmoney in der mysql Datenbank
    hier die cods:
    if(dialogid==DIALOG_EINZAHLEN)
    {
    if(strlen(inputtext) > 0)
    {
    new emoney = strval(inputtext);
    GivePlayerMoney(playerid,-emoney);
    SetPVarInt(playerid,"bankmoney",GetPVarInt(playerid,"bankmoney")+emoney);
    savePlayer(playerid);
    }
    else
    {
    SendClientMessage(playerid,0xFFFFFFAA,"test.");
    }
    }
    return 1;
    }

  • savePlayer(playerid)
    {
    if(sInfo[playerid][eingeloggt]==0)return 1;


    new query[128];
    format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i',bankmoney='%i' WHERE id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][bankmoney],sInfo[playerid][alevel],sInfo[playerid][id]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }

  • savePlayer(playerid)
    {
    if(sInfo[playerid][eingeloggt]==0)return 1;


    new query[256];
    format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i',bankmoney='%i' WHERE id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][alevel],GetPVarInt(playerid,"bankmoney"),sInfo[playerid][id]);
    mysql_function_query(dbhandle,query,false,"","");
    return 1;
    }

  • okay Danke für denn Tipp


    Habe aber ein neuen Problem und weine gleich :D
    Also ich hab es hinbekommen abbuchen und Einzahlen geht, aber wenn ich restarte oder relogge steht in der mysql Daten bank zwar der betrag am Konto
    aber ingame wird er mir mit 0 angezeigt :S


    die zeilen sind noch so wie vorher -.-

  • public OnPasswordResponse(playerid)
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows==1)
    {
    //Passwort richtig
    sInfo[playerid][eingeloggt] = 1;
    sInfo[playerid][level] = cache_get_field_content_int(0,"level",dbhandle);
    SetPlayerScore(playerid,sInfo[playerid][level]);
    sInfo[playerid][id] = cache_get_field_content_int(0,"id",dbhandle);
    SetPlayerMoney(playerid,cache_get_field_content_int(0,"money",dbhandle));
    sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
    sInfo[playerid][bankmoney] = cache_get_field_content_int(0,"bankmoney",dbhandle);
    sInfo[playerid][play] = cache_get_field_content_int(0,"play",dbhandle);
    SendClientMessage(playerid,Gelb,"Info: Erfolgreich Eingeloggt");
    }
    else
    {
    //Passwort falsch
    SendClientMessage(playerid,Rot,"Das eingegebene Passwort ist falsch.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Herzlich Willkommen \n{2DFF00}Dein Account wurde gefunden \n{FEFEFE}Gibt bitte dein Passwort ein:","Okay","Abbrechen");
    }
    return 1;
    }


    so :wacko:

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen