Hey,
Liegt vielleicht daran, das ich schon seit 16 Uhr am Scripten bin, und nen freien Kopf brauche, oder an was weiß ich, aber meine Abfrage ob die Zahl negativ ist, funktioniert nicht.
Der Befehl bei dem er Positiv statt negativ eingebener Zahl auspuckt:
ocmd:givemoney(playerid,params[])
{
if(!IsAdmin(playerid,3))return noaccess
new plid;
new geld;
new string[128];
if(sscanf(params,"ui",plid,geld))return SendClientMessage(playerid,WEIß,"Verwendung: /givemoney (Spieler/ID) (Geld)");
GivePlayerMoney(plid,geld);
if(!PlayerOnline(plid))return SendClientMessage(playerid,GRAU,"Dieser Spieler ist nicht erreichbar.");
format(string,sizeof(string),"%s %s hat dir %i$ gegeben.",RangName(playerid),PlayerName(plid),geld);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(!IsAdmin(i,3))continue;
new str[222];
format(str,sizeof(str),"Achtung: %s %s hat dem Spieler %s %i$ überwiesen.",RangName(playerid),PlayerName(playerid),PlayerName(plid),geld);
SendClientMessage(i,GELB,str);
}
SendClientMessage(plid,GELB,string);
}
Der Stock
stock GivePlayerMoneyEx(playerid, amount)
{
if(amount<0)
{
Geld[playerid]-=amount;
}
else
{
Geld[playerid]=Geld[playerid]+amount;
}
new moneystr[128];
format(moneystr,sizeof(moneystr),"$%s",valstr(Geld[playerid]));
TextDrawSetString(pMoneyTd[playerid],moneystr);
}
Im Endeffekt gebe ich bei /givemoney negative Zahl ein (-100) bekomme aber +100 auf mein Geld.
Achja, Ja, ich habe GivePlayerMoney zu GivePlayerMoneyEx defined. Liegt nicht daran.
Jeder der mir eine Lösung darauf anbieten kann, oder mir auf die Sprünge helfen kann, ist willkommen.
Ich möchte keine Tipps haben, wie ich meinen Code aufhübschen kann, oder effizienter machen kann, nur Hilfe zu diesem Fehler.