Geld speichert nicht beim kauf

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
  • Dafür musst du in dein Filterscript mit dem Ammunation.
    Dort musst du einfach noch in dem Callback, in dem du das Geld abziehst, folgendes rein machen:


    SetPVarInt(playerid, "Geld", GetPlayerMoney(playerid)); // Du musst es aber speichern, nachdem das Geld abgezogen wurde.

  • So ?!

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==DIALOG_WAFFEN)//Dieser Dialog wird IMMER aufgerufen, wenn du in einem Ammu bist
    {
    if(response==1)
    {
    if(listitem==0)
    {
    if(GetPlayerMoney(playerid)>2500)
    {
    GivePlayerWeapon(playerid,24,100);
    GivePlayerMoney(playerid,-2500);
    return 1;
    }
    }
    if(listitem==1)
    {
    if(GetPlayerMoney(playerid)>2700)
    {
    GivePlayerWeapon(playerid,29,150);
    GivePlayerMoney(playerid,-2700);
    }
    else
    {
    SendClientMessage(playerid,HELLROT,"AdmCmd: Du hast nicht genug Geld! Du brauchst mindestens 2700$!");
    return 1;
    }
    }
    if(listitem==2)
    {
    if(GetPlayerMoney(playerid)>3200)
    {
    GivePlayerWeapon(playerid,31,150);
    GivePlayerMoney(playerid,-3200);
    }
    else
    {
    SendClientMessage(playerid,HELLROT,"AdmCmd: Du hast nicht genug Geld! Du brauchst mindestens 3200$!");
    return 1;
    }
    }
    if(listitem==3)
    {
    if(GetPlayerMoney(playerid)>3500)
    {
    GivePlayerWeapon(playerid,25,100);
    GivePlayerMoney(playerid,-3500);
    }
    else
    {
    SendClientMessage(playerid,HELLROT,"AdmCmd: Du hast nicht genug Geld! Du brauchst mindestens 3500$!");
    return 1;
    }
    }
    if(listitem==4)
    {
    if(GetPlayerMoney(playerid)>100)
    {
    GivePlayerWeapon(playerid,5,50);
    GivePlayerMoney(playerid,-100);
    }
    else
    {
    SendClientMessage(playerid,HELLROT,"AdmCmd: Du hast nicht genug Geld! Du brauchst mindestens 100$!");
    return 1;
    }
    }
    if(listitem==5)
    {
    if(GetPlayerMoney(playerid)>150)
    {
    GivePlayerWeapon(playerid,4,50);
    GivePlayerMoney(playerid,-150);
    }
    else
    {
    SendClientMessage(playerid,HELLROT,"AdmCmd: Du hast nicht genug Geld! Du brauchst mindestens 150$!");
    return 1;
    }
    }
    if(listitem==6)
    {
    if(GetPlayerMoney(playerid)>5000)
    {
    SetPlayerArmour(playerid,100.0);
    GivePlayerMoney(playerid,-5000);
    }
    else
    {
    SendClientMessage(playerid,HELLROT,"AmdCmd: Du hast nicht genug Geld! Du brauchst mindestens 5000!");
    return 1;
    SetPVarInt(playerid, "Geld", GetPlayerMoney(playerid));
    }
    }
    }
    }
    return 1;
    }

    :) SWAGETTI & YOLONAISE!

  • @BlackxSoul:


    Nein, er muss in diesem Fall nicht den SpielerSpeichern().


    Da:
    dini_IntSet(Spielerdatei,"Geld",GetPVarInt(playerid,"Geld"));


    und


    PayPlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));


    In seinem SpielerSpeichern/Laden ist,
    muss er die PVar direkt verändern.

  • Nein, er muss ja nur das Geld bearbeiten.
    Und wenn du dann extra alles speicherst, dann hast du nur unnötig Auslastung.
    (Und selbst mit SpielerSpeichern(playerid); würde das Geld nicht bespeichert werden.)