GivePlayerMoney, 1 Error
#1

Hi Guys,

itґs just a little Command, if player types /zalhen ID Amount it should give amount(money) to ID and withdraw amount from Playerґs money

Код:
if(!strcmp(strget(cmdtext,0),"/zahlen")){
{
if(!strlen(strget(cmdtext,1)))
return
SendClientMessage(playerid,COLOR_GREY,"Benutze: /zahlen [ID] [betrag]");
	new zahler[MAX_PLAYER_NAME];
	new empf = strval(strget(cmdtext,1));
	new betrag = strval(strget(cmdtext,2));
	GivePlayerMoney(empf, betrag);
        GivePlayerMoney(zahler, -betrag);
}
		return 1;

}
but now i get this error:
Код:
X:\AKIMBO\DetaF\gamemodes\deta.pwn(797) : error 035: argument type mismatch (argument 1)



1 Error.
Thank you!
kampfMoPZ
Reply
#2

id use sscanf as str is slower and also i believe you need :
PHP код:
CMD:giveplayeridparams[ ] )
{
new 
money;
new 
giveplayerid [MAX_PLAYER_NAME];
if ( 
sscanfparams"ui"giveplayeridmoney) ) return SendClientMessageplayeridCOLOR_RED"USAGE: {FFFF00}/give [playerid] [amount]" );
GivePlayerMoney(giveplayeridmoney);
GivePlayerMoney(playerid, -money);
return 
1;

code might be wrong but the idea is there havent tested it,
also need to include sscanf at the top of your script
and need to define the colour red i dont no its hex value off by heart

you could also add if player doesnt have enough cash then say so or this:
PHP код:
    if ( giveplayerid == INVALID_PLAYER_ID ) return SendClientMessageplayeridCOLOR_RED"Player Is Not Connected!" ); 
Reply
#3

Uff i downt have zcmd and i dont want to change it all, can you only tell me my error?

thanks!
Reply
#4

what line is 797 ?
need to know as i dont speak german lol
Reply
#5

Код:
GivePlayerMoney(zahler, -betrag);
this is the error-line

KampfMOpZ
Reply
#6

try putting a space between the minus sign and the betrag?
also check your vairables are the right type E.G interger

PHP код:
GivePlayerMoney(playerid, -betrag); 
if you use the command i gave above it will work 100%
Reply
#7

pawn Код:
if(!strcmp(strget(cmdtext,0),"/zahlen")){
{
if(!strlen(strget(cmdtext,1)))
return
SendClientMessage(playerid,COLOR_GREY,"Benutze: /zahlen [ID] [betrag]");
    new zahler[MAX_PLAYER_NAME]; //<--- This is a 'string'.
    new empf = strval(strget(cmdtext,1));
    new betrag = strval(strget(cmdtext,2));
    GivePlayerMoney(empf, betrag);
        GivePlayerMoney(zahler /* <--- This function requires an integer variable, 'zahler' is not an integer */, -betrag);
}
        return 1;

}
Replace using this:
pawn Код:
GivePlayerMoney(playerid, -betrag);
And btw, to make use of the name variable:
pawn Код:
if(!strcmp(strget(cmdtext,0),"/zahlen"))
{
    if(!strlen(strget(cmdtext,1)))
    return SendClientMessage(playerid,COLOR_GREY,"Benutze: /zahlen [ID] [betrag]");
   
    new names[MAX_PLAYER_NAME], message[64];
   
    new empf = strval(strget(cmdtext,1));
    new betrag = strval(strget(cmdtext,2));
   
    GivePlayerMoney(empf, betrag);
    GivePlayerMoney(playerid, -betrag);
   
    GetPlayerName(playerid, names, sizeof names);
    format(message, sizeof message, "%s hat %i$ auf Sie ьbertragen.", names, betrag);
    SendClientMessage(empf, -1, message);
   
    GetPlayerName(empf, names, sizeof names);
    format(message, sizeof message, "Sie haben %i$ zu %s.", betrag, names);
    SendClientMessage(playerid, -1, message);
   
    return 1;
}
Reply
#8

Thank you! Verry nice!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)