Archiv verlassen und diese Seite im Standarddesign anzeigen : Die total kotige Verwirrung mit States im Ace
Ken der Kot
31.07.2018, 14:18
RPG Vx Ace
Wenn man einen State addet und beim State steht nur folgendes:
Normal Ability Value: Maximum MP * 50%
Was heißt das?
- Actor kriegt 50 Punkte mehr MP dazu?
- Actor kriegt 50% MP dazu (bezogen auf seine derzeitigen MP)?
- Actor kriegt 50% MP dazu (bezogen auf seine maximalen MP)?
- Nichts von alledem, sondern irgendwie anders?
Ich checks leider nicht, was der Maker da rechnet.
Ken der Kot
Ken der Kot
01.08.2018, 14:33
Bitte helft mir. Ich will mit einem State einen genauen Zahlenwert auf einen Parameter draufrechnen, weiß aber nicht so recht wie, da die Angaben im Maker mich verwirren.
zb
Def + 50
Atk +25
Agi +10
Sowas eben.
Ken der Statekot
Steht doch im Maker genau beschrieben.
Geh mal mit dem Mauszeiger auf die Eingabe-Felder. Bei Parametern steht ja explizit, dass der eingetragene Prozentwert multipliziert wird.
Gibst du also "MHP" (Max HP) 50% an, dann wird der Max HP-Wert halbiert.
Aber genau das kannst du ja auch einfach testen. Stell einen Status mit MaxHP 50% ein und du wirst sehen, dein Held hat mit diesem Status 500 max HP, anstatt 1000.
Die Hilfe ist da aber eigentlich immer hilfreich. Also nicht nur die, wenn du mit dem Mauszeiger drauf gehst, sondern auch die mitgelieferte Hilfe-Datei (kannst du z.B. auch aus dem Script-Editor heraus öffnen).
Dort steht z.B. folgendes zu den State-Parametern:
Parameters Tab Parameter Rate of increase/decrease for parameters such as max HP and ATK. Specify the target parameter and the rate of variability (0 to 1000%). A 100% setting means no variability.
Ex-Parameter The rate of increase/decrease for additional parameters such as max accuracy and evasion. Specify the target parameter and the percentage to add on (-100 to 100%). The default value is 0%.
Sp-Parameter The rate of increase/decrease for special parameters such as probability of being targeted for attack and defense effectiveness. Specify the target parameter and the rate of variability (0 to 1000%). The default value is 100%.
Ken der Kot
01.08.2018, 23:22
Also müsste ich, wenn ich die ATK um genau 20 Punkte erhöhen will einstellen:
ATK * 120% ?
Wenn du mit 20 Punkten 20% meinst, dann ja. Wenn du absolute 20 Punkte meinst - das ist im Standard so nicht möglich, wenn ich das richtig gesehen habe.
Du hast 500ATK. Der Zustand hat den Effekt ATK * 120%
=> 600ATK
Warum der Maker keine absoluten Werte hier erlaubt, liegt wohl daran, dass davon ausgegangen wird, dass man solche Eigenschaften auf Equipment, Skills oder Klassen anwendet und nicht auf Zustände.
Ken der Kot
01.08.2018, 23:32
Ja, ich meine 20 absolute Punkte. Hmm ok blöd dann muss ich mir da was überlegen.
Aber wenn ich einmal mache
ATK * 120%
dann hab ich den Wert ATK-Neu
Wenn ich dann später nochmal mache:
ATK * 120%
Nimmt der Maker dann den Grundwert, den die ATK am Anfang hatte, oder den Wert ATK-Neu?
Kommt drauf an. Den gleichen State kannst du ja nur einmal haben. Wenn du aber nun einen State mit 120% hast und zusätzlichen einen Buff (+25%) dann hast du 150% (100% * 120% * 125%).
Falls du wirklich absolute Werte willst, sollte das hiermit gehen. Hab kurz geguckt, welche Methoden die Battler aufrufen und es dort angepasst. Also alles aus dem Reiter "Parameter" mit dem obersten Punkt "Parameter" sollte mit dem Script nun absolut sein (sprich MHP, MMP, ATK, DEF usw.). Du kannst maximal bis 1000% dort eintragen, willst du mehr hinzufügen, musst du den Befehl einfach öfter eintragen.
Wenn ein Status z.B. die Max HP um 5000 erhöhen soll, sollte das im Status so aussehen:
Parameter [MHP] * 1000%
Parameter [MHP] * 1000%
Parameter [MHP] * 1000%
Parameter [MHP] * 1000%
Parameter [MHP] * 1000%
Benutzen auf eigene Gefahr. Ist aber so ein schmales Script, kannst du jederzeit einfach auskommentieren :D
class Game_BattlerBase
def param_rate(param_id)
features_sum(FEATURE_PARAM, param_id)*100
end
def param(param_id)
value = param_base(param_id) + param_plus(param_id) + param_rate(param_id)
value *= param_buff_rate(param_id)
[[value, param_max(param_id)].min, param_min(param_id)].max.to_i
end
end
Ken der Kot
02.08.2018, 00:01
Das hilft mir sicher weiter danke :D
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.