Äh, wenn du für die Variable ne Lösung hast, wo ist dann das Problem? ^^"
Da dieser Thread dann sinnlos wäre, wovon ich mal nicht ausgehe, wahrscheinlich hab ich dich einfach nicht richtig verstanden, poste ich den Code wie ich die Berechnung machen würde:
Erklärung zum Code:
Eigentlich wäre die Rechnung:
Das wäre im Maker aber sinnlos, da er, wie du sicher weist, alle Kommastellen abschneidet. Daher rechne ich erst mal 30 und dann durch 100. Dadurch ist das Ergebnis genauer. Die Forks sind nur für Sonderfälle gedacht. Einmal sollte der Held mindestens 3 MP haben um sich teleportieren zu können. Für den Fall werden seine MP auf 0 gesetzt.
Die zweite Fork tritt dann in Kraft, wenn der Held weniger als 4 MP hat (der Verlust also eine Kommastelle ist). Dann soll ihm 1 MP abgezogen werden.
Hmm, mehr gibts nicht zu sagen.
Hoffe dein Problem ist damit gelöst. Wenn nicht: Beschreib genauer wo du nicht weiterkommst...
mfg
Phönix Tear
--
Zu Java und C++ übergelaufen...
Geändert von Phönix Tear (28.11.2006 um 15:08 Uhr)
change MP ist in bei den event commands zu finden
auf der ersten seite, rechts und zwar das 3. von oben...
da muss man den helden einstellen, von dem die mp abgezogen werden..
entweder alle, nur ein bestimmter oder ein held per variable...
dann ob abgezogen oder addiert, und als letztes wieviel...
entweder ein fester betrag oder halt ein wert, der in ner variable steht...
mfg üH
edit.. argh.. zu langsam..^^..
asso.. du musst am anfang auch noch fragen ob der held alex überhaupt soviele mp hat...
phönixträne fragt zwar am anfang, ob die mp > 3 sind.. aber
wenn der verbrauch bei maximal 300 mp dann 100 beträgt, reichen die 3 mp ja nicht...^^..
also musst du die 30% von den maximalen mp schon vor dem abziehen berechnen... moment...
so muss das dann aussehen:
--
"Der einzige Unterschied zwischen einem Verrückten und mir ist der, dass ich nicht verrückt bin." Salvador Dalí üH sein KS <<>> üH sein Kit
Geändert von übelster Held (27.11.2006 um 16:52 Uhr)
geht so nicht..
entweder du hast nenn eigenes menü und so weiter
dann kannst du alle zahlen mal 1000 nehmen, so dass du statt
70 70000 mp hast und statt 45,3 45300 abziehst,
aber im standartmenü geht sowas nicht wirklich...
da der maker alle kommastellen abtrennt.. könntest zwar noch
mit mod arbeiten, aber das ist zu buckel... (und du bräuchtest auch nen eigenes menü zum anzeigen...)
und die *30/100 sollen von den ganzen mp die 30% darstellen.. also wenn dann 70*30/100...
--
"Der einzige Unterschied zwischen einem Verrückten und mir ist der, dass ich nicht verrückt bin." Salvador Dalí üH sein KS <<>> üH sein Kit
Geändert von übelster Held (27.11.2006 um 17:00 Uhr)
naja... du kannst das ganz normal wie oben machen...
fürn maker ist 5/2 nicht 2,5 sondern 2... der rechnet also nicht
mit kommazahlen... also ist das dem maker egal, ob
du nun 100 - 5/2 rechnest... da bei ihm ja 5/2 = 2 also 100 - 2 = 98
ergibt... also in den variablen wird auch nicht mit kommazahlen gerechnet...
oO also 1/3 von 100 würde er nicht 33,33333333 abziehen sondern
nur 33...
oder beschreib dein problem doch mal bissl genauer...^^"
--
"Der einzige Unterschied zwischen einem Verrückten und mir ist der, dass ich nicht verrückt bin." Salvador Dalí üH sein KS <<>> üH sein Kit
phönixträne fragt zwar am anfang, ob die mp > 3 sind.. aber
wenn der verbrauch bei maximal 300 mp dann 100 beträgt, reichen die 3 mp ja nicht...^^..
...
Da hast du Recht im Unrecht ^^.
Mit meiner Abfrage wollte ich nicht nachgucken, ob der Held insgesamt genug MP hat, sondern nur ob er in dem Fall, das der Prozentuale Abzug 0 ergibt genug hat. Wie oft genug gesagt wurde schneidet der Maker die Kommastellen ab, d.h. es gibt auch Prozentzahlen von z.B. 0,9%, also für den Maker 0. Das wollte ich hier abfragen, da bei 30% das Ergebnis ab 3 0 ist.
Andererseits ist deine Abfrage generell dann auch wieder richtig, da sie eben berechnet ob man genug hat.
Folglich bräuchte man eigentlich beide Abfragen
Wenn ich das richtig verstehe ist also dein einziges Problem, daß wenn du X% der maximalen MP ausrechnest da eventuell eine Kommazahl rauskommt du aber nur ganze Werte von den MP abziehen kannst, korrekt?
Ich frage mich nur was daran so schlimm ist, wenn du nach der Rechnung einfach rundest und den Betrag dann abziehst. Das du dadurch eventuelle Rundungsverluste hast ist vielleicht ärgerlich aber kaum änderbar. Ist es jetzt so schlimm wenn der Skill nicht genau 30% kostet sondern 29% oder 31%?
Wenn ich das richtig verstehe ist also dein einziges Problem, daß wenn du X% der maximalen MP ausrechnest da eventuell eine Kommazahl rauskommt du aber nur ganze Werte von den MP abziehen kannst, korrekt?
Ich frage mich nur was daran so schlimm ist, wenn du nach der Rechnung einfach rundest und den Betrag dann abziehst. Das du dadurch eventuelle Rundungsverluste hast ist vielleicht ärgerlich aber kaum änderbar. Ist es jetzt so schlimm wenn der Skill nicht genau 30% kostet sondern 29% oder 31%?
...
Nein es nicht schlimm...ich werde es ma testen....
Zitat von übelster Held
naja... du kannst das ganz normal wie oben machen...
fürn maker ist 5/2 nicht 2,5 sondern 2... der rechnet also nicht
mit kommazahlen... also ist das dem maker egal, ob
du nun 100 - 5/2 rechnest... da bei ihm ja 5/2 = 2 also 100 - 2 = 98
ergibt... also in den variablen wird auch nicht mit kommazahlen gerechnet...
oO also 1/3 von 100 würde er nicht 33,33333333 abziehen sondern
nur 33...
oder beschreib dein problem doch mal bissl genauer...^^"