Hi!
Tja, dass ist die Frage!
Ich möchte einen Abzug (5%) bei HP und MP beim Spieler berechnen. Die HP des Spielers betragen 544, die MP liegen bei 50!
Der Zeexi berechnet mal im Kopf
544 : 100 = 5,44
5,44 * 5 = 27,5
Der Abzug der HP beträgt 27,5 betragen!
50 : 100 = 0,5
0,5 * 5 = 2,5
Der Abzug der MP beträgt 2,5 betragen!
Der Maker rechnet
(544 : 100) * 5 = 25
(50 : 100) * 5 = 0
Der Abzug der MP beträgt 0 betragen!
Auswertung
Woher kommt dieser eklatante Unterschied? 27,5 zu 25 bei den HP und 2,5 zu 0 bei den MP. Ich kann mir ja noch vorstellen, dass er rein mit Intagern arbeitet obwohl ich irgendwie im Hinterkopf habe, dass er eigentlich mit Floats rechnet. Dann müsste er aber auf die nächste Zahl auf oder abrunden. Er scheint aber Intager zu nutzen und diese auch noch zu runden.
Ich habs mit den normalen Berechnungen im Maker versucht, per Script und auch zwischen durch noch die Variablen gerundet. Selbes Ergebnis!
$gameVariables.setValue(35, $gameVariables.value(35) / 100);
$gameVariables.setValue(35, Math.round($gameVariables.value(35)));
$gameVariables.setValue(35, $gameVariables.value(35) * 5);
$gameVariables.setValue(35, Math.round($gameVariables.value(35)));
Hat jemand ne Idee was der Maker für nen Unsinn treibt?