Geld wird nach Autokauf nicht geupdatet

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 würde gerne nach dem Autokaufen die Anzeige des Geldes aktualisieren allerdings nimmt er den Wert MoneyUpdate(playerid);
    nicht an.


    Hier einmal der Code



    if(dialogid==DIALOG_AUTOHAUS1)
    {
    if(response)
    {
    //Autoverkauf
    new id=GetPVarInt(playerid,"buyCarID");
    if(PlayerInfo[playerid][pMoney]<ahCars[id][c_preis])
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Geld.");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    PlayerInfo[playerid][pMoney]-= ahCars[id][c_preis];
    MoneyUpdate(playerid);
    createPlayerCar(playerid,ahCars[id][model],ahInfo[ahCars[id][ah_id]][s_x],ahInfo[ahCars[id][ah_id]][s_y],ahInfo[ahCars[id][ah_id]][s_z],ahInfo[ahCars[id][ah_id]][s_r]);
    SendClientMessage(playerid,COLOR_GREEN,"Herzlichen Glückwunsch zum neuen Auto.");

    new string2[128];
    GetPlayerName(playerid, string2, MAX_PLAYER_NAME);
    RemovePlayerFromVehicle(playerid);
    format(string2, sizeof(string2), "%s hat sich ein Fahrzeug mit der ID %i gekauft. Preis: %d", string2,ahCars[id][model],ahCars[id][c_preis]);
    SaveToLog("AutokaufLog", string2);
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_RED,"Du hast den Autokauf abgebrochen.");
    }
    return 1;
    }


    Was könnte der Fehler sein ?

  • Mach doch mal einen debug:


    printf("Autohaus-Geld: %d",ahCars[id][c_preis]);


    und wenn der 0 printet, dann weißt du, dass du einen Fehler in der Zuweisung von der Variable gemach hast :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Mach doch mal einen debug:


    printf("Autohaus-Geld: %d",ahCars[id][c_preis]);


    und wenn der 0 printet, dann weißt du, dass du einen Fehler in der Zuweisung von der Variable gemach hast :)

    Das Problem liegt nicht im abzug in der Variable. Lediglich das Updaten des TextDraw Geldes funktioniert nicht.


    Was mich aber wundert, sobald ich Connecte Updatet er das Geld. Aber nicht beim Autokauf oder ähnlichen wie ich gerade merkte

  • Dann machs evtl mal so:


    C
    stock MoneyUpdate(playerid)
    {
        new string[16]; //das reicht hier :)
        format(string, sizeof(string), "%d$", PlayerInfo[playerid][pMoney]);
        PlayerTextDrawSetString(playerid,TDEditor_PTD[playerid], string);
        PlayerTextDrawShow(playerid, TDEditor_PTD[playerid]); //Pack das mal dazu
        return 1;
    }

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • ...diese Zahlen sind dein Geld...und doch...das ist das eigentliche TextDraw...^^


    Der erstellst nicht random irgendwo TextDraws mit irgendwelchen Zahlen drinnen..ahahha xD


    Sondern...dann prüf nochmal wo und wie du dein TextDraw erstellst..und ob das alles halt richtig ist :D

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • ...diese Zahlen sind dein Geld...und doch...das ist das eigentliche TextDraw...^^


    Der erstellst nicht random irgendwo TextDraws mit irgendwelchen Zahlen drinnen..ahahha xD


    Sondern...dann prüf nochmal wo und wie du dein TextDraw erstellst..und ob das alles halt richtig ist :D

    In dem gleichen Moment wo du den Thread geschrieben hast, hatte ich vermutlich den Fehler auch schon gesehen gehabt.


    Ich habe 2 TextDraws mit gleichem Namen gehabt. Dadurch konnte er also nicht Richtig Updaten,


    Danke für eure Mühe =)