Seite 1 von 1

Energie transferieren

Verfasst: 20.06.2013, 22:10
von Alfredo5
Ich hab schon ein klein wenig Erfahgung mit dem Editor aber das bekomme ich irgendwie nicht hin. Ich wollte ein kleines Tower-Defense machen was sich an einem anderen orientiert.
Dabei gehts um folgendes: Eine Einheit (Generator) hat energieregeneration und die Tower verbrauchen durch ihre Angriffe Energie und regenerieren auch keine Energie. Der Generator hat eine Fähigkeit die seine Energie auf die Türme überträgt, der Haken an der Sache ist nur, dass es nicht einfach nur ein Automatischer Cast sein soll sondern individuell für jeden Tower aktiviert und deaktiviert werden soll.
In dem Anderen tower-defense hat man einen die Fähigkeit "Create Energy-Link" und die fähigkeit "Remove Energy-Link".
Und wenn ein Generator die Fähigkeit "Create Energy-Link" Einsetzt transferiert ausschließlich dieserr Generator energie zu dem Tower, bis man "Remove Energy-Link" benutzt. Das muss übrigens auch zu beliebig vielen Towern gleichzeitig gehen (also einfach den Sanitäter-Heal modifizieren hab ich schon versucht, das ist glaube ich nicht der richtige Weg)
Ich hoffe es ist klar, was ich damit meine. Wie kann ich das so hinbekommen?

Re: Energie transferieren

Verfasst: 21.06.2013, 23:16
von SaVi
Ich habe eine kleine Beispielmap gebaut, in der es so sein sollte wie du es beschrieben hast. Du kannst es dir ja mal anschauen und es nachbauen.

Solltest du irgendetwas davon nicht verstehen, so scheue dich nicht dass hier im Forum nachzufragen. Falls das gebaute nicht dem entspricht, wie du es dir vorgestellt hast, dann musst du mir das noch etwas genauer erklären ;)

Download: Energy-Generator

Mfg SaVi

Re: Energie transferieren

Verfasst: 21.06.2013, 23:57
von Alfredo5
Erstmal danke dass du dir die Mühe gemacht hast die kleine map zu bauen. Also entweder bin ich zu blöd oder es klappt was nicht bei der map :?

Also mittlerweile bin ich von allein etwas weiter gekommen, hab mir als vorbild den Doppelstrahl-Heal vom Medivac genommen. Ein Beständig erstellen Effekt, der je intervall Dem Generator Energie abzieht und dem Turm energie hinzufügt. Beliebig viele Ziele anvisieren zur selben Zeit kein Problem klappt 100% so wie ich mir das vorgestellt habe, nur den Effekt wieder zerstören klappt nicht ganz ohne trigger.
Dafür habe ich einfach eine weitere Fähigkeit erstellt. Wenn diese ausgelöst wird, wird der Effekt Zerstört.
Was ich jetzt noch gerne schaffen würde ist, dass mehrere generatoren zwar das selbe Ziel gleichzeitig anvisieren können, aber ein Generator nicht unendlich oft gleichzeitig das selbe Ziel.
Im Data Editor allein bekomm ich das leider nicht hin, also wollte ich es über Auslöser machen, aber dafür will ich irgendwie abfragen, ob bereits dieser "Beständig erstellen" Effekt besteht von (Caster) auf (Ziel). Und das bekomm ich nicht hin ich finde keinen Weg das abzufragen. Ist das möglich? Dann wäre ich schon zufrieden denke ich mal.
Ansonsten wärs natürlich auch gut, wenn ich das komplett über den Data Editor machen könnte. Würde mich über eine Antwort freuen
mfg

Edit: Nach nem kleinen fix funktioniert deine Map auch gut ich werd sie mir mal vormerken trotzdem würd ich meine Variante auch gerne schaffen

Re: Energie transferieren

Verfasst: 22.06.2013, 03:54
von SaVi
Huch? Was ging denn bei meiner Karte nicht?
Ich hab sie extra davor getestet bevor ich sie hochgeladen habe.

Re: Energie transferieren

Verfasst: 22.06.2013, 10:58
von Alfredo5
Wenn man bei der Fähigkeit bei Fähigkeit:Befehle keine Standartschaltfläche auswählt fuinktioniert sie nicht das passiert mir auch immer ^^
Jaja ich weiß deutscher editor und so...^^
Aber was mein Problem perfekt lösen würde wäre, wenn ich über Trigger abfragen könnte welche einheit das verhalten auf eine andere Einheit gecastet hat, dann würde alles funktionieren aber finde das nicht.

Re: Energie transferieren

Verfasst: 22.06.2013, 13:38
von SaVi
Du kannst abfragen ob eine Einheit eine Fähigkeit castet und in dem Moment auch auf wen. Das müsstest du in Variablen speichern.

z.B.

Ereignis: "Beliebige Einheit benutzt (Fähigkeit) ....

Aktion:

Jeden Integer von 1 bis 100 auswählen
--> Wenn: Caster[ausgewählte Integerzahl] = nichts (leer)
UND Target[[ausgewählte Integerzahl] = nichts (leer)

Dann:
Caster[[ausgewählte Integerzahl] = (die in dem moment castende Einheit)
Target[[ausgewählte Integerzahl] = (das Ziel der Fähigkeit)
Unterbrechen

Sonst:
(leer)

Abfragen tust du ebenfalls wieder mit einer Schleife wo du alle Werte durchgehst und dann bei jeden Wert abfragst ob das eben die richtige Einheit bei dem Index der Variable ist.

Ich würde dir aber ehrlich gesagt raten das auf meine Art und Weise zu machen, da dort der Auslöser-Editor komplett wegfällt. Das Prinzip ist simpel. Die Türme können ein Verhalten auf sich selbst casten, was solange weilt, bis man es abschaltet, während die Generatoren mit Autocast permanent nach Zielen in ihrer Umgebung suchen um einen Healer (der Mana anstatt leben überträgt) erstellt. Es ist zwar auch eine Möglichkeit seine Dateneditor-Dinge mit Auslösern zu vervollständigen, ist aber die unschönere Variante, da der Dateneditor einfach flüssiger/schneller/effektiver arbeitet.

Falls du dennoch dein Vorhaben so weiterführen willst, so sollte dir das eigentlich weiterhelfen.

mfg SaVi

Re: Energie transferieren

Verfasst: 22.06.2013, 14:57
von Alfredo5
Ok ich glaube ich weiß wie du das meinst, werd ich mal bei Gelegenheit probieren. Ich hätts auch lieber nur mit dem Data Editor gemacht, aber das hab ich eben nicht richtig hinbekommen. Dann hätte ich noch eine Frage. Kann ich über einen Validator auch abfragen, wer der Caster ist?
Also z.b wenn der Beständig-erstellen Effekt startet kommt ein Verhalten auf das Ziel. Der Validator sorgt dann dafür, dass verhindert wird, dass diese Einheit ein zweites mal darauf castet solange das Verhalten drauf ist, aber eine andere kann schon drauf casten. Das war so mein erster Gedanke, hat aber irgendwie nicht hingehauen.

Edit: Mit dem Trigger läuft es zu 90% so wie ich es wollte, werd ich wohl erstmal so lassen, falls ich das Projekt weiter verfolge und nicht aus langeweile wieder abbreche :D
Gute Idee, warum bin ich bloß nicht selber drauf gekommen^^
Und im Prinzip ist es doch egal oder? Die 100 Durchläufe in der Schleife werden ja wohl keine laggs verursachen oder?

Re: Energie transferieren

Verfasst: 22.06.2013, 16:32
von SaVi
Mir ist nichts bekannt womit man das machen kann. :/
(Kann sein dass es es trotzdem gibt aber ich kenne es nicht)

Wenn du noch etwas genauer suchen möchtest hilft dir vll. Sc2mapster.