PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 2k3 Mal wieder ein undefinierbares Problem... -.-



TwoFace
17.05.2013, 02:56
Ich lasse eine Variable (nach oben offen) in bestimmten Situationen ansteigen. Sie ist mit der Anzahl HP des Helden verknüpft und steigt mit dieser Anzahl parallel an, d.h. Var. Op. VARI1 +1 bedeutet = Held HP +1. Beide Starten bei 1. Alles cool, toll. Passt. Jetzt ist die VARI1 bei einem Wert von 45, die HP (max. 99) ebenso. Wenn ich jetzt zur VARI1 +1 addiere, erhält sie den Wert 46, die HP steigen aber nicht mehr und bleiben einfach auf dem Wert, auf dem sie sind. Was ist das nun wieder für eine Eigenart des Makers und wie kann ich das umgehen?

Sabaku
17.05.2013, 07:55
Woran auch immer das jetzt liegt, könntest du das ganze nicht einfach umgehen in dem du die Variable als HP-Wert behandelst und in Schadenssituationen einfach senkst? Wäre imo irgendwo sinnvoller mit nur einem flexiblen Wert zu arbeiten als mit zweien. Müsste man halt irgendwo nen Zähler oder ne Lebensleiste reinschustern, aber das ist ja jetzt nicht so die arbeit.
Ansonsten würde mich mal der Eventcode interessieren.

Corti
17.05.2013, 08:19
Ich glaube dein Urteil es basiere auf einer "beschissene Eigenart des Makers" ist etwas vorschnell.

Also: Die Helden-HP ist das auch ein Variable, oder meinst du damit den HpMax-Wert eines Heros in der Database?

TwoFace
17.05.2013, 08:48
Ganz billig:

Branch if Switch "Bla" is ON
- Var. OP VARI1 +1
- Change HeroHP +1
END

Verwende die Vari in keinem dritten Eventcode und an den Hero-HP schraub ich ansonsten auch nirgendwo rum. Will trotzdem nich'. Aber is auch egal, ich machs anders.

Corti
17.05.2013, 11:20
Ganz doof gefragt: Lässt die Max-HP das erhöhen der HP eigentlich zu?

MajinSonic
17.05.2013, 12:40
Wenn du die max HP erhöst, dann bleiben die HP trotzdem auf dem gleichen Stand.

Also: 100/100 ---> 100/101

Also ich würd mir das skript etwa so vorstellen:

<> if switch XYZ on
<> Change Var1 +1
<> Set Variable ABC = Max HP
<> If Variable ABC = 99 oder höher
<>
else:
<> Change MaxHP+1
<> Change HP+1 (falls du diesen Punkt ausgleichen magst)
end
end

Edward.Newgate
17.05.2013, 15:29
Wenn ich jetzt zur VARI1 +1 addiere, erhält sie den Wert 46, die HP steigen aber nicht mehr und bleiben einfach auf dem Wert, auf dem sie sind. Was ist das nun wieder für eine Eigenart des Makers und wie kann ich das umgehen?

Das ist keine Eigenart sondern nur logisch.
Wenn du NUR die Vari1 um 1 erhöhst, was haben dann die HP damit zu tun?
Wie Corti schon sagt, sind die HP auch nur Variablen. Die kannst du quasi nicht miteinander koppeln.
Allerdings könntest du, am Ende eines jeden Befehls der Vari1 +1 einen "Increase HP by amount stored in ID01" benutzen. Ist komfortabler und nicht so statisch. So kannst du die Vari auch um einen zufälligen Wert steigen oder sinken lassen.

<> Change Variable[0001] +1
<> Change HP: Ingo's HP V[0001] Recovered