Also hier der Script:
dcmd_gebegeld(playerid,params[])
{
new moneyid,
moneyamount;
if(sscanf(params, "ud",moneyid,moneyamount))
{
return SendClientMessage(playerid,0xFF0000FF,"/gebegeld [ID] [Geld]");
} /* Ohne das return würde er weiter im script machen.*/
if(moneyamount < 1 || moneyamount > 50000)
{
return SendClientMessage(playerid,0xFF0000FF,"Ungültige Summe!");
}
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid,x,y,z);
if(IsPlayerInRangeOfPoint(moneyid,1.0,x,y,z))
{
new name[MAX_PLAYER_NAME],mname[MAX_PLAYER_NAME],string[25][128];
GetPlayerName(moneyid,name,sizeof(name));
GetPlayerName(playerid,mname,sizeof(mname));
format(string[0],sizeof(string),"Du hast $%d von %s bekommen!",moneyamount,mname);
SendClientMessage(moneyid,0xFFFF00AA,string[0]);
GivePlayerMoney(moneyid,moneyamount);
format(string[1],sizeof(string),"Du hast $%d an %s geschickt!",moneyamount,name);
SendClientMessage(playerid,0xAA3333AA,string[1]);
GivePlayerMoney(playerid,-moneyamount);
}
else
{
return SendClientMessage(playerid,0xFF0000FF,"Der Spieler ist nicht in deiner nähe");
}
return 1;
}
da is ein Problem bei:
new name[MAX_PLAYER_NAME],mname[MAX_PLAYER_NAME],string[25][128];
wenn ich jemanden geld gebe steht der halbe satz da z.B "Du hast von [Name] " anstatt "Du hast von [Name] $[Geld]bekommen".
wenn ich aus der 25 ne 50 mache kommt Bug und wenn ich ne 5 draus mache kommen nur die ersten 4 Buchstaben vom Satz .
was ist falsch ??
MfG bad_company