Problem mit Geldsystem

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 habe ein Waffenkauf System auf meinem Server.
    Wenn ich jetzt nun nicht genug Geld habe um mir eine bestimmte Waffe zu kaufen soll das nicht einach ins Minus gehen sondern es soll kommen
    "Du hast nicht genug Geld", wie mach ich das?
    So sieht mein Code aus:


    Code
    if(GetPlayerMoney(playerid) == -35000) return SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
  • Du musst bevor du dem Spieler die Waffe gibst abfragen ob der Spieler genügend Geld hat..
    Das geht so:


    Zitat

    Wieviel kostet die Waffe? 35000?
    PAWN Quelltext
    1
    if(GetPlayerMoney(playerid) < 35000) return SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");

    Wie von BloodyEric schon beschrieben :D



    Mfg

  • Ist natürlich schon.


    Code
    if(GetPlayerMoney(playerid) == 20000) return SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
     	        	GivePlayerWeapon(playerid,30,9000);
     	        	GivePlayerMoney(playerid,-20000);
     	        	return 1;


    Geht aber nicht.

  • Schick mal den ganzen Befehl.
    Ich denke du wirst irgendwo einen Fehler rein gemacht haben.


    auserdem solltest du lieber
    if(GetPlayerMoney(playerid) >= 20000)


    statt
    if(GetPlayerMoney(playerid) == 20000)


    sonst sendet der auch "Du hast nicht genug Geld" wenn du mehr als 20.000$ hast.

  • DAs ist in einem Listen Dialog.

    Code
    if(listitem == 0)
     	    	{
     	        	if(GetPlayerMoney(playerid) == 20000) return SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
     	        	GivePlayerWeapon(playerid,30,9000);
     	        	GivePlayerMoney(playerid,-20000);
     	        	return 1;
     	    	}
  • Dann schick mal den ganzen Dialog bitte..
    Alles was dazu gehört.. (Befehl, Dialog, etc..)


  • DEr Befehl hat damit nix zutun...


  • if(listitem == 0)
    {
    if(GetPlayerMoney(playerid) >= 20000) { return SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!"); }
    GivePlayerWeapon(playerid,30,9000);
    GivePlayerMoney(playerid,-20000);
    return 1;
    }


    versuchs mal so, vielleicht funktionierts dann ja :D
    Ansonsten würd es eigentlich nur 2 Gründe geben können.

    • Du hast beim Befehl was falsch gemacht
    • Es gibt nen anderen Dialog namens "SG"

    sonst würd mir spontan nichts einfallen an was das sonst noch liegen könnte.

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



    if(listitem == 0)
    {
    if(GetPlayerMoney(playerid) < 20000)
    {
    return SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
    }
    else
    {
    GivePlayerWeapon(playerid,30,9000);
    GivePlayerMoney(playerid,-20000); return 1;
    }
    }


    Wenn das Geld kleiner als 20k$ ist, dann soll die Message kommen. Ansonsten soll er die Waffe erhalten.

  • if(listitem == 0)
    {
    if(GetPlayerMoney(playerid) <= 20000) return SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
    GivePlayerWeapon(playerid,30,9000);
    GivePlayerMoney(playerid,-20000);
    return 1;
    }


    edit: code geöändert