Einheiten sterben bei 30000HP nicht

Fragen zum Szenarienbau und Mapdesign

Moderatoren: Henning, Björn_Jernside

Wie kann man machen das die Einheiten bei 30000HP nicht sterben, sah das schon bei einer UDP Map und bei einer Vampire Map :)

Und brauche das für meine neue Map :)
Wie meinst du das genau?

1. Wie man ne Einheit auf 30000Lp bringt
oder
2. Wie man ne Einheit unsterblich (0LP) macht
kein von beidem

ich hab z.B ne Einheit mit 29000 Leben jetzt bekommt sie 5000 dazu, also hat sie 34000 Leben normaler weise stirb sie dann aber wie macht man das sie nicht stirbt
Ganz einfach: Schreib die Spielmechanik rum, lass ein Rechenzentrum mehrere Wochen arbeiten um die Werte umzurechnen.

Nein, seit wann sterben die Einheiten denn dann (schon) ?
bei mir sterben die dan :KopfgegenWand:
LOL Duell der Einzeiler oder wie? :D


Also theking, zunächst mal Hallo!

Daß die Gebäude bei diesem Wert "sterben", ist durchaus generell so (hatte das aber auch neulich erst definitiv mal ausgereizt).Grund ist die Programmierung in sogenannten "signed short integer"-Werten, die enden bei 32767.
Ob und wie man das daher in einer Map umgehen können sollte, ist mir derzeit schleierhaft. Aber wozu brauchst du denn zwingend Werte über 30000? :confused:
Wenn man mit unsterblichen Gebäuden/ Einheiten arbeiten möchte, verwendet man üblicherweise den von Björn mit 2. schon angedeuteten "0 Lebenspunkte-Trick".

Der geht so:

Schalter
Bedingung0: beliebig
Eff0: Lebenspunkte ändern: -X
Eff1: vorschädigen: -X
Eff2: Lebenspunkte ändern: X
Eff3: vorschädigen: X

X ist dabei die Standard-LP des Objekts.
Die Effekte müssen genau in dieser Reihenfolge auf das Objekt eingestellt werden. Danach hat das Objekt zwar 0/X Punkte, ist aber noch vorhanden und zudem unzerstörbar.


Falls dir das bekannt war, und du kein unzerstörbares Gebäude möchtest, könntest du dir auch mit Heilschaltern behelfen, um die LP-Werte des Objekts in Intervallen künstlich zu regenerieren.
Anleitung findest du in unsren FAQs http://www.agearena.de/e2/e2_editor/1_faq.htm.

Ob und wie man bitte dagegen die LP-Zahl-Grenze überschreiten können sollte, würde mich dagegen auch mal interessieren. Ohne programmiertechnische Änderungen sollte das eigentlich nicht möglich sein. :confused:
Doch es geht ich mach ne Vampire map und dort beginnt man mit 2000 HP und geht immer weiter rauf und er sollte nicht sterben.

Ich kenn ne map wo das geht aber die hat so viele Schalter :S
Nachdem dir hier niemand helfen konnte, sag ich dir die Lösung xD :P

Schalter 0:
Effekt: Objekt vorschädigen -30000

Probiers aus, du kannst auch -99999999999999 eingeben und die Einheit wird so viele Lebenspunkte haben. Tada! :D
Barbarossa hat geschrieben:Ob und wie man bitte dagegen die LP-Zahl-Grenze überschreiten können sollte, würde mich dagegen auch mal interessieren. Ohne programmiertechnische Änderungen sollte das eigentlich nicht möglich sein. :confused:
Eigentlich sollte das nicht gehen, da wie gesagt 16-Bit-Werte inklusive Vorzeichenbit verwendet werden...und da passt nicht mehr rein als -32768 bis 32767.

EDIT @Chev:
Wenn das gehen sollte, dann sind es vielleicht auch 32-Bit-Werte...die wären dann im Bereich von maximal etwas mehr als zwei Milliarden ^^


@Barba:
Nur mal so beiläufig eine Frage - wusstest du den Wert auswendig oder hast du den irgendwo abgelesen? :D :P

Falls auswendig:
:Respekt:
Du machst mir Konkurrenz! :rocktvoll:
Oh, eben erst gesehen daß Chev (wenn auch äußerst bescheiden ^^) ne Lösung gepostet hat. ^^
Hab ich ehrlich gesagt das Vorschädigen bisher nur zum Heilen o.ä. verwendet, da ich auch nie Bedarf für solche hohen Gebäude-LPs hatte. :eek:

Wenn das wirklich funktioniert, dann sind das aber echt zwingend andere Wertbereiche als lange vermutet. :eek:
Das mit der Zerstörungsgrenze für LP-Erhöhung bei der ~30.000er Marke hat mich halt berechtigterweise annehmen lassen, es seien 16bit. :confused:

Janworks hat geschrieben:@Barba:
Nur mal so beiläufig eine Frage - wusstest du den Wert auswendig oder hast du den irgendwo abgelesen?
DEN und "signed integer" weiß ich tatsächlich sogar noch auswendig - nur daß ich mir merken mußte, daß man die Null noch bei positiv mitzählt. ;)
Aber so schnell mach ich dir keine Konkurrenz, mit Zahlen-Spielereien hab ich nur kommissarisch einen Vertrag. :D