Beim kauf eines Artikels geht das Geld ins Minus...

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
  • Hey Leute,


    ich habe ein kleines Problem mit einem Menü. Und zwar habe ich ein Menü erstellt, wo man Artikel kaufen kann. Wenn man diesen Artikel gekauft hat, wird das entsprechende Geld abgezogen. Aber wenn ich jetzt 0 Dollar habe und einen Artikel für 100 Dollar kaufe, dann habe ich auf einmal -100 Dollar. oO
    Kann mir einer sagen, wie ich es hin bekomme, dass wenn ich nicht genug Geld habe, dass der Spieler eine Meldung bekommt? Und den Artikel soll man dan auch nicht kaufen können natürlich.


    Hier mein Menü:


    if(CurrentMenu == flugzeugkaufen_ls)
    {
    switch(row)
    {
    case 0:
    {
    new VEHICLE = AddStaticVehicle(520,372.2429,2504.8828,17.2076,89.9563,0,0);
    PutPlayerInVehicle(playerid,VEHICLE,0);
    GameTextForPlayer(playerid,"Hydra gekauft (-1,000$",3000,3);
    GivePlayerMoney(playerid,-1000);
    TogglePlayerControllable(playerid,1);
    }
    case 1:
    {
    new VEHICLE = AddStaticVehicle(425,372.9123,2502.3088,17.0587,91.9403,0,0);
    PutPlayerInVehicle(playerid,VEHICLE,0);
    GameTextForPlayer(playerid,"Hunter gekauft (-1,500$",3000,3);
    GivePlayerMoney(playerid,-1500);
    TogglePlayerControllable(playerid,1);
    }
    case 2:
    {
    new VEHICLE = AddStaticVehicle(447,371.7295,2502.8062,16.4961,86.7957,0,0);
    PutPlayerInVehicle(playerid,VEHICLE,0);
    GameTextForPlayer(playerid,"Seasparrow gekauft (-500$",3000,3);
    GivePlayerMoney(playerid,-500);
    TogglePlayerControllable(playerid,1);
    }
    }
    }


    mfG,
    TS


  • if(GetPlayerMoney(playerid) <= 0) {
    GameTextForPlayer(playerid, "Du hast nicht genug Geld!", 3000, 3) ;
    }


    Edit:


    Noch besser ist, wenn du schon beim Kauf abfragst, ob der Spieler genug Geld hat:

    if(GetPlayerMoney(playerid) - Kaufpreis <= 0) {
    GameTextForPlayer(playerid, "Du hast nicht genug Geld!", 3000, 3) ;
    }


    (Kaufpreis musst angepasst werden).

  • Okay, ich habe es versucht, aber nicht geschafft.
    Er zeigt mir wohl eine Nachricht an, aber zieht das Geld trotzdem ab, auch wenn der Spieler im Minus ist..
    Kannst du mir das oben gezeigte Menü so umschreiben, dass ich verstehe, wie es funktioniert?


    Achja nochetwas: Wie kann ich in einem Untermenü von dem Menü wieder zurück in das Hauptmenü? Bei mir schließt er immer das ganze Menü und ich muss dann wieder den Befel, bzw. zum checkpoint laufen, damit ich wieder das Hauptmenü habe..


    mfG,
    TS

  • machs so


    new preise[] = {1000,2000,4000};//das hier ganz oben bei den news


    if(GetPlayerMoney(playerid) < preise[listitem])return SendClientMessage(playerid,0xFFFFFFFF,"Du hast nicht genug Geld.");// und das in dein kaufdings rein