Pay hilfe.. (nicht unter 0) ?

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
  • Hab mir eben aus lauter langeweile ein ocmd:pay Befehl gemacht..
    was mich doch sehr stark gewundert hat ist , dass mir niemand geholfen hat , es aber direkt beim 1.x geklappt hat.


    ocmd:pay(playerid,params[])
    {
    new pID,betrag;
    new Float:X, Float:Y, Float:Z;
    if(sscanf(params,"ui",pID,betrag)) return SendClientMessage(playerid,Weiß,"Benutze /pay ID Betrag");
    GetPlayerPos(playerid,X,Y,Z);
    if(IsPlayerInRangeOfPoint(pID,5,X , Y, Z))
    {
    GivePlayerMoney(playerid,-betrag);
    GivePlayerMoney(pID, betrag);
    }
    return 1;
    }


    Nur meine Frage ist, wie kann ich einstellen das wenn der Spieler 0€ hat kein geld mehr abgeben kann?
    Mit sowas kenn ich mich nicht recht aus


    Pls Help

  • Mit einer simplen if-Abfrage, ob das Spieler Geld größer als null ist:

    ocmd:pay(playerid,params[])
    {
    if(GetPlayerMoney(playerid)>=0){return SendClientMessage(playerid, Weiß, "Du hast kein Geld was du versenden könntest!");}
    new pID,betrag;
    new Float:X, Float:Y, Float:Z;
    if(sscanf(params,"ui",pID,betrag)) return SendClientMessage(playerid,Weiß,"Benutze /pay ID Betrag");
    GetPlayerPos(playerid,X,Y,Z);
    if(IsPlayerInRangeOfPoint(pID,5,X , Y, Z))
    {
    GivePlayerMoney(playerid,-betrag);
    GivePlayerMoney(pID, betrag);
    }
    return 1;
    }



    Hinweis: Keinen Kontakt über TeamViewer oder Skype !
    Grüßt den Fehlerklärbär von mir.
    Coming soon: Pawn-Café ( Concept-Sharing | Scripting-First-Aid )

  • Trotzdem könntest du dem gegenüber jetzt - Geld geben. ;)
    ocmd:pay(playerid,params[])
    {
    if(GetPlayerMoney(playerid)>=0){return SendClientMessage(playerid, Weiß, "Du hast kein Geld was du versenden könntest!");}
    new pID,betrag;
    new Float:X, Float:Y, Float:Z;
    if(sscanf(params,"ui",pID,betrag)) return SendClientMessage(playerid,Weiß,"Benutze /pay ID Betrag");
    GetPlayerPos(playerid,X,Y,Z);
    if(IsPlayerInRangeOfPoint(pID,5,X , Y, Z))
    {
    if(betrag < 1)return SendClientMessage(playerid, Weiß, "Falscher Betrag.");
    GivePlayerMoney(playerid,-betrag);
    GivePlayerMoney(pID, betrag);
    }
    return 1;
    }

  • Guter Einwand, lässt sich aber in der GetPlayerMoney -Abfrage auch anders beheben.
    if(GetPlayerMoney(playerid)<betrag){return SendClientMessage(playerid, Weiß, "Soviel Geld hast du nicht!");}



    Hinweis: Keinen Kontakt über TeamViewer oder Skype !
    Grüßt den Fehlerklärbär von mir.
    Coming soon: Pawn-Café ( Concept-Sharing | Scripting-First-Aid )


  • Hmm, Habe 2 Warnings :

    Spoiler anzeigen
    C:\Users\Dominik\Desktop\Selfmade Script\gamemodes\tut.pwn(476) : warning 217: loose indentation
    C:\Users\Dominik\Desktop\Selfmade Script\gamemodes\tut.pwn(483) : warning 217: loose indentation
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

    Spoiler anzeigen
    2 Warnings.

    Zeilen :
    Spoiler anzeigen
    ocmd:pay(playerid,params[])
    {
    if(GetPlayerMoney(playerid)>=0){return SendClientMessage(playerid, BLAU, "Du hast kein Geld was du versenden könntest!");}
    new pID,betrag; <-- 476
    new Float:X, Float:Y, Float:Z;
    if(sscanf(params,"ui",pID,betrag)) return SendClientMessage(playerid,BLAU,"Benutze /pay ID Betrag");
    GetPlayerPos(playerid,X,Y,Z);
    if(IsPlayerInRangeOfPoint(pID,5,X , Y, Z))
    {
    if(betrag < 1)return SendClientMessage(playerid, BLAU, "Falscher Betrag.");
    GivePlayerMoney(playerid,-betrag); <-- 483
    GivePlayerMoney(pID, betrag);
    }
    return 1;
    }