Pay bug

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
  • Abend


    habe mal wieder ein kleines problem, dieses ma beim Befehl "/pay" also sagen wir ich mache jetzt " /pay 1 100 " also zum mit schrieben " /pay [ID] [Summe] ", nur der kleine fehler ist man hat kein geld auf der hand aber kann trozdem jemanden mit /pay geld geben .. also man kann auch den - bereich wehlen .. also /pay 1 -100 dann hat er -100 $ auf der hand .. möchte das gerne ändern das er auch nur das geld geben kann was er auf der hand auch hat :)


    Hier der Befehl:


    ocmd:pay(playerid,params[])
    {
    new pID,money;
    if(sscanf(params,"ui",pID,money))return SendClientMessage(playerid,ORANGE,"/pay [ID/Name] [Summe");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online.");
    {
    new string[128],string2[128];
    GivePlayerMoney(playerid,-money);
    format(string,sizeof(string),"Du Gibst %s %i Euro.",SpielerName(pID),money);
    SendClientMessage(playerid,WEIS,(string));
    GivePlayerMoney(pID,money);
    format(string2,sizeof(string2),"%s Gibt dir %i Euro.",SpielerName(playerid),money);
    SendClientMessage(pID,WEIS,(string2));
    return 1;
    }
    }




    villeicht könnt ihr mir da weiter helfen..







    MFG: Equ_Res

  • ocmd:pay(playerid,params[])
    {
    new pID,money;
    if(sscanf(params,"di",pID,money))return SendClientMessage(playerid,ORANGE,"/pay [ID/Name] [Summe");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online.");
    {
    new string[128],stri2[128],name[123];
    GetPlayerName(playerid,name,123);
    GivePlayerMoney(playerid,-money);
    format(string,sizeof(string),"Du Gibst %d %i Euro.",pID,money);
    SendClientMessage(playerid,WEIS,(string));
    GivePlayerMoney(pID,money);
    format(stri,sizeof(stri),"%s Gibt dir %i Euro.",name,money);
    SendClientMessage(pID,WEIS,(string2));
    return 1;
    }
    }

  • habe es nun schon so weit geschaft das er unter 10k nur geben kann, nur wenn er /pay 1 1 z.B macht kommt immer noch die Message,


    => " Du gibst Equ 1 Euro " obwohl er garkein geld auf der hand hat ..



    wenn einer weiter weiß bitte melden :)



    Jetziger Befehl:


    ocmd:pay(playerid,params[])
    {
    new pID,money;
    if(sscanf(params,"ui",pID,money))return SendClientMessage(playerid,ORANGE,"/pay [ID/Name] [Summe");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online.");
    {
    new string[128],string2[128];
    GetPlayerMoney(money);
    if(money<1||money>10000)return SendClientMessage(playerid,ROT,"So viel geld hasst du garnicht");
    GivePlayerMoney(playerid,-money);
    format(string,sizeof(string),"Du Gibst %s %i Euro.",SpielerName(pID),money);
    SendClientMessage(playerid,WEIS,(string));
    GivePlayerMoney(pID,money);
    format(string2,sizeof(string2),"%s Gibt dir %i Euro.",SpielerName(playerid),money);
    SendClientMessage(pID,WEIS,(string2));
    return 1;
    }
    }

  • if(money > GetPlayerMoney(playerid))
    return SendClientMessage(playerid, xx, "Nix geld");

    Wer ist der Mensch hinter der Uniform? Ist euch das bekannt?
    Es ist der selbe der noch eben in Zivil neben euch stand.
    Warum wird er gehasst und so selten respektiert?
    Warum ist er derjenige der seinen Hals für euch riskiert?
    Trägt der Bulle eine Weste, das hat er früher nie gemacht,
    die Zeiten haben sich geändert und jeder Dienst ist ein Kampf!
    Warum gibt’s das SEK und warum sind sie so brutal?
    Und wieso hat wieder einer mit seinem Leben bezahlt?

  • ocmd:pay(playerid,params[])
    {
    new pID,money;
    if(sscanf(params,"ui",pID,money))return SendClientMessage(playerid,ORANGE,"/pay [ID/Name] [Summe");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online.");
    {
    new string[128],string2[128];
    if(money<1||money>10000)
    {
    if(GetPlayerMoney(playerid)>=money)
    {
    GivePlayerMoney(playerid,-money);
    format(string,sizeof(string),"Du Gibst %s %i Euro.",SpielerName(pID),money);
    SendClientMessage(playerid,WEIS,(string));
    GivePlayerMoney(pID,money);
    format(string2,sizeof(string2),"%s Gibt dir %i Euro.",SpielerName(playerid),money);
    SendClientMessage(pID,WEIS,(string2));
    }
    else
    {
    SendClientMessage(playerid,ROT,"Soviel Geld hast du garnicht!");
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du kannst höchstens 10000$ geben!");
    }
    return 1;
    }
    }


    Ungetestet

  • Dankee :thumbup: dir, habe aber noch eine frage ich will das so machen das der spieler den Befehl " /pay " auch nur dann benutzen kann wenn der spieler bei ihm in der nehe ist also ein radius von 1-2 meter z.B ? wie ginge das ?(

  • new Float:POS[3];
    GetPlayerPos(pID, POS[0], POS[1], POS[2]);
    if(!IsPlayerInRangeOfPoint(playerid, 2.0, POS[0], POS[1], POS[2])
    return SendClient...

    Wer ist der Mensch hinter der Uniform? Ist euch das bekannt?
    Es ist der selbe der noch eben in Zivil neben euch stand.
    Warum wird er gehasst und so selten respektiert?
    Warum ist er derjenige der seinen Hals für euch riskiert?
    Trägt der Bulle eine Weste, das hat er früher nie gemacht,
    die Zeiten haben sich geändert und jeder Dienst ist ein Kampf!
    Warum gibt’s das SEK und warum sind sie so brutal?
    Und wieso hat wieder einer mit seinem Leben bezahlt?

  • Ungetestet :P


    ocmd:pay(playerid,params[])
    {
    new pID,money;
    if(sscanf(params,"ui",pID,money))return SendClientMessage(playerid,ORANGE,"/pay [ID/Name] [Summe");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online.");
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(pID,x,y,z);
    if(IsPlayerInRangeOfPoint(playerid,10,x,y,z))
    {
    new string[128],string2[128];
    if(money<1||money>10000)
    {
    if(GetPlayerMoney(playerid)>=money)
    {
    GivePlayerMoney(playerid,-money);
    format(string,sizeof(string),"Du Gibst %s %i Euro.",SpielerName(pID),money);
    SendClientMessage(playerid,WEIS,(string));
    GivePlayerMoney(pID,money);
    format(string2,sizeof(string2),"%s Gibt dir %i Euro.",SpielerName(playerid),money);
    SendClientMessage(pID,WEIS,(string2));
    }
    else
    {
    SendClientMessage(playerid,ROT,"Soviel Geld hast du garnicht!");
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du kannst höchstens 10000$ geben!");
    }
    }
    else
    {
    SendClientMessage(playerid,Rot,"Der Spieler ist nicht in deiner Nähe!");
    }
    return 1;
    }
    }