Na einfach Abfragen:
if(SpielerInfo[playerid][pCent] > 99)
{
SpielerInfo[playerid][pCent] = 0
SpielerInfo[playerid][pDollar] += 1
}
Na einfach Abfragen:
if(SpielerInfo[playerid][pCent] > 99)
{
SpielerInfo[playerid][pCent] = 0
SpielerInfo[playerid][pDollar] += 1
}
Hier bitte:
stock GivePlayerCash(playerid,dollar,cent)
{
SpielerInfo[playerid][pDollar]+=dollar;
SpielerInfo[playerid][pCent]+=cent;
if(SpielerInfo[playerid][pCent] >= 100) { SpielerInfo[playerid][pCent] -= 100; SpielerInfo[playerid][pDollar] += 1; }
return 1;
}
Warum nicht einfach eine Kommazahl? Die "rechnet" doch immer automatisch mit.
Edit:
Wenn ich darüber nachdenke macht es nur Sinn mit Cent zu rechnen, wenn man genau die Rechnung, die deine Funktion erfüllt, raus lässt.
Ich würde es so machen, um Fehler zu vermeiden:
stock GivePlayerCash(PlayerID,dollar,cent)
{
new Float:Tmp = SpielerInfo[PlayerID][pDollar] + dollar + ( 0.01 * SpielerInfo[PlayerID][pCent] ) + ( 0.01 * cent );
SpielerInfo[PlayerID][pDollar] = floatround(Tmp, floatround_floor);
SpielerInfo[PlayerID][pCent] = floatround((Tmp - SpielerInfo[PlayerID][pDollar]) * 100);
return 1;
}
Gerne
Ich habe es so gemacht, wie ich es dir weiter oben schon vorgeschlagen habe.
Diese Methode erstellt eine Kommazahl aus den Werten, die in den Zeilen 4 und 5 "wieder auseinander genommen wird".