PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Koppeln von MP mit HP im Standartkampfsystem



Colourblind
26.07.2004, 04:17
Ich beschäftige mich momentan mit folgenden Problem:
Ich möchte, dass einer meine Charaktere im Standartkampfsystem immer dann, wenn er zaubert oder auf eine andere Weise MP verliert, seine HP um genau so viel Prozent vermindert wird, wie die MP vermindert wurde.

Also zum Beispiel
Charakter zaubert Feuerball => MP - 25% => HP -25%

Ich habe zwar schon mit Variablen herumexperimentiert, befinde mich allerdings im Moment in einen Zustand der Ratlosigkeit.
Für einen Augenblick glaubte ich sogar, dass es am Rundungsverhalten liegt, habe dann aber festgestellt, dass es auch mit ganzen Zahlen nicht so recht klappen will.
Vielleicht könnte mir ja jemand der sich sehr gut mit Variablen auskennt, einen Vorschlag machen wie man dieses Problem lösen könnte.
http://www.multimediaxis.de/images/smilies/old/1/help.gif

Dhan
26.07.2004, 05:51
Monster Party Event, erste Runde:
LastMP = temporäre MP des Helden
TotMP = permanente MP des Helden

Monster Party Event, jede Runde:
AktMP = temporäre MP des Helden
fork (AktMP < LastMP)
{
DifHP = LastMP
DifHP = - AktMP
DifHP = * 100
DifHP = / TotMP
DifHP = * permanente HP des Helden
DifHP = / 100
HeldenHP verringern um DifHP
}
LastMP = temporäre MP des Helden

das * 100 und später / 100 ist wichtig, sonst werden zahlen geschluckt
nach dieser Methode heilt sich der Held nicht, wenn die MP wieder steigt sondern macht nur Aua wenn sie sinkt

Colourblind
27.07.2004, 06:52
Das Prinzip des Systems ist Eins A.
Nur bin ich auf ein kleines Problem gestoßen, welches es mir nicht erlaubt dies auch dauerhaft anzuwenden.
In dem Augenblick, in dem die MP weniger als 100% ist, fängt der RPGmaker an jede Runde die fehlende MP von der HP abzuziehen.
Dies kommt etwa einem verstärkten Giftzustand gleich.
Also im oben angegebenen Beispiel würde er jede Runde nach dem Zaubern 25% der HP abziehen.
Dies sollte allerdings nur dann passieren, wenn er auch wirklich einen MP Abzug hat.
Gib es eine Möglichkeit dieses Problem zu umgehen?

Dhan
27.07.2004, 17:24
Das ist in meinem System drinne, ich lasse immer den letzten MP-Wert speichern und ziehe von ihm den aktuellen ab, heraus kommt die Differenz seit der letzten Überprüfung ;)