SA-MP Forums Archive
/givemoney Bug! - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: /givemoney Bug! (/showthread.php?tid=521146)



/givemoney Bug! - VenomMancer - 21.06.2014

Player have $000100000
when players use this :
Quote:

/givemoney <TargetID> <200000>

Will show server message like this:
** You don't have the money for that!

But when players use this :
Quote:

/givemoney <TargetID> <834924857824597829525>

Server message not showing, then TargetID's money will look like this : -$89198667

This my script:

pawn Код:
CMD:givemoney(playerid,params[])
{
    new target, money;
    new str1[150], str2[150];

    if(sscanf(params,"ud",target,money)) return SCM(playerid,-1,"Usage : /givemoney <PlayerID> <Amount>");
    if(!IsPlayerConnected(target)) return SCM(playerid,-1,"** Invalid PlayerID !!");
    if(money > GetPlayerMoney(playerid)) return SendClientMessage(playerid, red, "** You don't have the money for that!");
    if(money >= 9999999999 ) return SendClientMessage(playerid, red, "** You don't have the money for that!");
    printf(".: MONEY :. '%s' has send '%s' moeny >> '%d' !",GetName(playerid),GetName(target),money);

    format(str1,150,""GR".: MONEY :. '%s' has given you money '$.%d' !",GetName(playerid),money);
    SCM(target,-1,str1);
    GivePlayerMoney(target, 0+money);

    format(str2,150,""GR".: MONEY :. You has give money to '%s', '$.%d' !",GetName(target),money);
    SCM(playerid,-1,str2);
    GivePlayerMoney(playerid, 0-money);
    sDialog(playerid,"Server message",str2);

    return 1;
}
Sorry for my bad english -_-


Re: /givemoney Bug! - kirostar - 21.06.2014

Try this :

Код:
CMD:givemoney(playerid, params[])
{
    new player, amount,name1[24], name2[24], string[128];
    if(!sscanf(params, "ui",player,amount))
    {
        if(playerid != player)
        {
            if(GetPlayerMoney(playerid) >= amount)
            {
                GetPlayerName(playerid, name1, 24);
                GetPlayerName(player, name2, 24);
                format(string, sizeof(string), "You gaved $%d to %s.",amount,name2);
                SendClientMessage(playerid, 0xFFFF00FF, string);
                format(string, sizeof(string), "%s gave you $%d!", name1, amount);
                SendClientMessage(player, 0xFFFF00FF, string);
                GivePlayerMoney(playerid, -amount);
                GivePlayerMoney(player, amount);
            }
            else return SendClientMessage(playerid, 0xFF0000FF,"You don't have that much.");
        }
        else return SendClientMessage(playerid, 0xFF0000FF,"You can't pay to yourself.");
    }
    else return SendClientMessage(playerid, 0xFFFFFFFF,"{F07F1D}Usage : /givemoney [ID][Amount]");
    return 1;
}



Re: /givemoney Bug! - Threshold - 21.06.2014

pawn Код:
CMD:givemoney(playerid,params[])
{
    new target, money;
    if(sscanf(params, "ui", target, money)) return SCM(playerid, -1, "Usage : /givemoney <PlayerID> <Amount>");
    if(!IsPlayerConnected(target) || target == INVALID_PLAYER_ID) return SCM(playerid, -1, "** Invalid PlayerID !!");
    if(!(0 < money <= GetPlayerMoney(playerid))) return SendClientMessage(playerid, red, "** You don't have the money for that!");
    new str1[90];
    printf(".: MONEY :. '%s' has sent '%s' moeny >> '%d' !", GetName(playerid), GetName(target), money);
    format(str1, sizeof(str1), ""GR".: MONEY :. '%s' has given you money '$.%d' !", GetName(playerid), money);
    SCM(target, -1, str1);
    GivePlayerMoney(target, money);
    format(str1, sizeof(str1), ""GR".: MONEY :. You have given money to '%s', '$.%d' !", GetName(target), money);
    SCM(playerid, -1, str1);
    GivePlayerMoney(playerid, -money);
    sDialog(playerid, "Server message", str1);
    return 1;
}



Re: /givemoney Bug! - kirostar - 21.06.2014

@Threshold your command have errors, i think my command is clear of errors


Re: /givemoney Bug! - Threshold - 21.06.2014

No, it has no errors. (In terms of the OP's script)

Your command is just copied and pasted from your own script... that doesn't help anyone. Not to mention, your command isn't the best either...


Re: /givemoney Bug! - VenomMancer - 22.06.2014

Quote:
Originally Posted by kirostar
Посмотреть сообщение
Try this :

Код:
CMD:givemoney(playerid, params[])
{
    new player, amount,name1[24], name2[24], string[128];
    if(!sscanf(params, "ui",player,amount))
    {
        if(playerid != player)
        {
            if(GetPlayerMoney(playerid) >= amount)
            {
                GetPlayerName(playerid, name1, 24);
                GetPlayerName(player, name2, 24);
                format(string, sizeof(string), "You gaved $%d to %s.",amount,name2);
                SendClientMessage(playerid, 0xFFFF00FF, string);
                format(string, sizeof(string), "%s gave you $%d!", name1, amount);
                SendClientMessage(player, 0xFFFF00FF, string);
                GivePlayerMoney(playerid, -amount);
                GivePlayerMoney(player, amount);
            }
            else return SendClientMessage(playerid, 0xFF0000FF,"You don't have that much.");
        }
        else return SendClientMessage(playerid, 0xFF0000FF,"You can't pay to yourself.");
    }
    else return SendClientMessage(playerid, 0xFFFFFFFF,"{F07F1D}Usage : /givemoney [ID][Amount]");
    return 1;
}
When i type : /givemoney <ID> <2304923482034824823408203482034234802348234>
Still bugged !


Re: /givemoney Bug! - AiRaLoKa - 22.06.2014

pawn Код:
CMD:givemoney(playerid, params[])
{
    new player, amount,name1[24], name2[24], string[128];
    if(!sscanf(params, "ui",player,amount))
    {
        if(playerid != player)
        {
            if(ammount < 99999999) return SendClientMessage(playerid, 0xFF0000FF,"Invalid values."); // becouse the max money in gta sa is that much i think
            if(GetPlayerMoney(playerid) >= amount)
            {
                GetPlayerName(playerid, name1, 24);
                GetPlayerName(player, name2, 24);
                format(string, sizeof(string), "You gaved $%d to %s.",amount,name2);
                SendClientMessage(playerid, 0xFFFF00FF, string);
                format(string, sizeof(string), "%s gave you $%d!", name1, amount);
                SendClientMessage(player, 0xFFFF00FF, string);
                GivePlayerMoney(playerid, -amount);
                GivePlayerMoney(player, amount);
            }
            else return SendClientMessage(playerid, 0xFF0000FF,"You don't have that much.");
        }
        else return SendClientMessage(playerid, 0xFF0000FF,"You can't pay to yourself.");
    }
    else return SendClientMessage(playerid, 0xFFFFFFFF,"{F07F1D}Usage : /givemoney [ID] [Amount]");
    return 1;
}
hope it's work


Re: /givemoney Bug! - Bek_Loking - 22.06.2014

Make it limited only to 2000$ it's better.


Re: /givemoney Bug! - VenomMancer - 22.06.2014

Now fixed !
Thank you all for your help me