Tower Defence
Moderatoren: Exekutor[NHF], Deathwing, GarfieldKlon, G A F, SaVi
-
- Sonde
- Beiträge: 6
- Registriert: 29.05.2010, 23:05
- Battle.net ID: ZeroX[Ger].ger
Tower Defence
Hallo, ich bin ziemlich neu im Galaxy Editor und wollte gerne mal eine Tower Defence map erstellen.
Ich habe jetzt das Terrain erstellt und nun habe ich das erste problem. Ich möchte, das ein Bunker nur 10 Mineralien kostet und nur 2 Sekunden zum bauen braucht. Außerdem will ich, dass man die Bunker "Kästchenförmig" platzieren kann. Weil wenn ich einen Bunker bauen will kann ich ihn überall platzieren, sogar in dem Bunker den ich vorher gebaut habe und das millimeter genau.
Was evtl. noch hilfreich wäre, wie ich die Unitspawns erstelle. Ich kann es nur machen, dass jede 10 Sekunden oder bei 10 Sekunden Echtzeit Units spawnen. Ich möchte aber, dass wenn ein Spieler alle Units gekillt hat in 10 Sekunden die nöchste Wave kommt. Da gibts was mit Variablen oder? Blicke da nicht ganz durch.
Ist ziemlich viel auf einmal aber wäre total nett wenn mir jemand sagen könnte wie dies und das geht. Natürlich nicht alles auf einmal =) Eins nacht dem anderen.
PS: Was ich noch wissen möchte ist, wenn eine Unit durchkommt zum "Ziel" dass man 1 Leben abgezogen kriegt. Insgesamt möchte ich 20 Leben haben. Dass die Unit stirbt wenn sie dort ankommt habe ich bereits geschafft
Ich habe jetzt das Terrain erstellt und nun habe ich das erste problem. Ich möchte, das ein Bunker nur 10 Mineralien kostet und nur 2 Sekunden zum bauen braucht. Außerdem will ich, dass man die Bunker "Kästchenförmig" platzieren kann. Weil wenn ich einen Bunker bauen will kann ich ihn überall platzieren, sogar in dem Bunker den ich vorher gebaut habe und das millimeter genau.
Was evtl. noch hilfreich wäre, wie ich die Unitspawns erstelle. Ich kann es nur machen, dass jede 10 Sekunden oder bei 10 Sekunden Echtzeit Units spawnen. Ich möchte aber, dass wenn ein Spieler alle Units gekillt hat in 10 Sekunden die nöchste Wave kommt. Da gibts was mit Variablen oder? Blicke da nicht ganz durch.
Ist ziemlich viel auf einmal aber wäre total nett wenn mir jemand sagen könnte wie dies und das geht. Natürlich nicht alles auf einmal =) Eins nacht dem anderen.
PS: Was ich noch wissen möchte ist, wenn eine Unit durchkommt zum "Ziel" dass man 1 Leben abgezogen kriegt. Insgesamt möchte ich 20 Leben haben. Dass die Unit stirbt wenn sie dort ankommt habe ich bereits geschafft
-
- Moderator der Leere
- Beiträge: 287
- Registriert: 30.04.2010, 16:15
- Battle.net ID: Deathwing.374
- Liga 1vs1: Meister
- Liga 2vs2: Keine
- Mainrace: Random
- Wohnort: Berlin
Re: Tower Defence
Ich habe mir mal die Mühe gemacht deine Probleme
in einer kleinen Map zusammenzufassen
Die Auslöser sind kommentiert.
Im Data-Editor is alles so für dich angepasst, was grün ist, statt normal blau
Veränderte Dinge: Bunker(Unit), Missile Tower(Unit), Build SCV(Ability)
Hier sind die Downloadlinks, je nachdem welchen Editor du benutzt:
enGB-Version: http://www.file-upload.net/download-255 ... C2Map.html
deDE-Version: http://www.file-upload.net/download-255 ... C2Map.html
in einer kleinen Map zusammenzufassen
Die Auslöser sind kommentiert.
Im Data-Editor is alles so für dich angepasst, was grün ist, statt normal blau
Veränderte Dinge: Bunker(Unit), Missile Tower(Unit), Build SCV(Ability)
Hier sind die Downloadlinks, je nachdem welchen Editor du benutzt:
enGB-Version: http://www.file-upload.net/download-255 ... C2Map.html
deDE-Version: http://www.file-upload.net/download-255 ... C2Map.html
-
- Sonde
- Beiträge: 6
- Registriert: 29.05.2010, 23:05
- Battle.net ID: ZeroX[Ger].ger
Re: Tower Defence
WOW WIE GEIL! Besser gehts nicht. Ich hoffe dass ich die Trigger auch verstehe .
Vielen vielen dank. Ich melde mich vielleicht nochmal wegen den Gebäuden (Towern) =)
Edit: Ich könnte dir vielleicht bei einem Trigger noch helfen um den "Fog of War" zu deaktivieren. Bei mir hast du den Trigger benutzt, die Karte für den Spieler eine bestimmte Zeit sichtbar zu machen, aber das is überflüssig.
Du gehst auf Sichtbarkeit -> Sichtbarkeit Aktivieren/Deaktivieren
So und dann steht im Trigger: Sichtbarkeit "Nebel des Krieges" "deaktivieren"
Ist besser =)
Die Trigger sehen ziemlich kompliziert aus zumindest die Einheiten erstellen... aber das war ja auch das, was ich nicht konnte^^
Vielen vielen dank. Ich melde mich vielleicht nochmal wegen den Gebäuden (Towern) =)
Edit: Ich könnte dir vielleicht bei einem Trigger noch helfen um den "Fog of War" zu deaktivieren. Bei mir hast du den Trigger benutzt, die Karte für den Spieler eine bestimmte Zeit sichtbar zu machen, aber das is überflüssig.
Du gehst auf Sichtbarkeit -> Sichtbarkeit Aktivieren/Deaktivieren
So und dann steht im Trigger: Sichtbarkeit "Nebel des Krieges" "deaktivieren"
Ist besser =)
Die Trigger sehen ziemlich kompliziert aus zumindest die Einheiten erstellen... aber das war ja auch das, was ich nicht konnte^^
-
- Sonde
- Beiträge: 6
- Registriert: 29.05.2010, 23:05
- Battle.net ID: ZeroX[Ger].ger
Re: Tower Defence
Meine erste Frage lautet auch schon, wie mache ich es, wenn eine Unit ins Ziel kommt und dann im Chat steht, dass wir nur noch XX Leben haben. Dass wenn eine Unit ins Ziel kommt dort steht: Unit betritt Region das kann ich. Aber ich möchte zeigen, wie viele Leben wir noch zur verfügung haben
Ich bräuchte noch ein Timer Fenster, das anzeigt wann die nächste Wave kommt. Etwas schwierig oder, da wir ja keine Timer festgelegt haben für die Waves sondern nur 10 Sekundne stopp =(
Ich bräuchte noch ein Timer Fenster, das anzeigt wann die nächste Wave kommt. Etwas schwierig oder, da wir ja keine Timer festgelegt haben für die Waves sondern nur 10 Sekundne stopp =(
-
- Moderator der Leere
- Beiträge: 287
- Registriert: 30.04.2010, 16:15
- Battle.net ID: Deathwing.374
- Liga 1vs1: Meister
- Liga 2vs2: Keine
- Mainrace: Random
- Wohnort: Berlin
Re: Tower Defence
wegen den timer, ich kann dir nur anbieten, dass
er halt die 10 sekunden vor der neuen welle es anzeigt
und wegen den leben anzeigen lassen,
lässt halt nen Text anzeigen, dass is schon richtig, dann
wählste bei Funktion "Combine Text"(Kombiniere Text oder so) aus
der 1. Funktionsterm gibste halt dann den wert: "Verbleibende Leben : "
der 2. Funktionsterm, da gehste wieder auf Funktion und wählst da
Convert Integer to Text(Konvertiere Integer zu Text oder so^^),
und dort wählste dann unter Variablen Leben aus.
mfg
Deathwing
er halt die 10 sekunden vor der neuen welle es anzeigt
und wegen den leben anzeigen lassen,
lässt halt nen Text anzeigen, dass is schon richtig, dann
wählste bei Funktion "Combine Text"(Kombiniere Text oder so) aus
der 1. Funktionsterm gibste halt dann den wert: "Verbleibende Leben : "
der 2. Funktionsterm, da gehste wieder auf Funktion und wählst da
Convert Integer to Text(Konvertiere Integer zu Text oder so^^),
und dort wählste dann unter Variablen Leben aus.
mfg
Deathwing
-
- Moderator des Zwielichts
- Beiträge: 616
- Registriert: 21.05.2008, 16:53
- Battle.net ID: SaVi.509
- Liga 1vs1: Diamant
- Liga 2vs2: Platin
- Mainrace: Protoss
Re: Tower Defence
Ich hab das hier mal zusammengebaut: http://www.file-upload.net/download-255 ... C2Map.html
Ich hab ne Integer Variable genommen und jedesmal wenn von dem Spieler (den du willst)
eine Einheit die Region (Ende) betritt, die Variable -1 gesetzt wird und anschließend als Text dagegeben wird.
Hoffe es hilft dir weiter
Edit: Ist jetzt nur das mit dem Leben anzeigen^^
Ich hab ne Integer Variable genommen und jedesmal wenn von dem Spieler (den du willst)
eine Einheit die Region (Ende) betritt, die Variable -1 gesetzt wird und anschließend als Text dagegeben wird.
Hoffe es hilft dir weiter
Edit: Ist jetzt nur das mit dem Leben anzeigen^^
-
- Sonde
- Beiträge: 6
- Registriert: 29.05.2010, 23:05
- Battle.net ID: ZeroX[Ger].ger
Re: Tower Defence
Ah cool, vielen dank.
Zu dem Timer. Ich möchte halt anzeigen lassen, wenn alle Units tot sind ein Timer erscheint, wann die nächste Wave kommt. Ist schon richtig was du mir "angeboten" hast =)
Nur wie mache ich das? Geht doch bestimmt so, dass wenn die Versorgung von Spieler 2 0 erreicht hat ein Timer startet, der in 10 Sekunden Echtzeit abläuft. 10 Sekunden Warten. Zerstöre zuletzt erstelltest Timer Fenster.
Wie kriege ich das mit der Versorgung hin?
Zu dem Timer. Ich möchte halt anzeigen lassen, wenn alle Units tot sind ein Timer erscheint, wann die nächste Wave kommt. Ist schon richtig was du mir "angeboten" hast =)
Nur wie mache ich das? Geht doch bestimmt so, dass wenn die Versorgung von Spieler 2 0 erreicht hat ein Timer startet, der in 10 Sekunden Echtzeit abläuft. 10 Sekunden Warten. Zerstöre zuletzt erstelltest Timer Fenster.
Wie kriege ich das mit der Versorgung hin?
-
- Moderator des Zwielichts
- Beiträge: 616
- Registriert: 21.05.2008, 16:53
- Battle.net ID: SaVi.509
- Liga 1vs1: Diamant
- Liga 2vs2: Platin
- Mainrace: Protoss
Re: Tower Defence
http://www.file-upload.net/download-255 ... C2Map.html
So ^^ ich hab fleisig gearbeitet
Ist jetzt aber so dass wenn die Einheiten alle sterben immer wieder die gleichen Einheiten spawnen... Wusste jetz auf die schnelle nicht, wie ich das mhhh flexibler? mache^^
Edit: Ich seh grad der ist schlecht versuch den noch zu verbessern^^
So ^^ ich hab fleisig gearbeitet
Ist jetzt aber so dass wenn die Einheiten alle sterben immer wieder die gleichen Einheiten spawnen... Wusste jetz auf die schnelle nicht, wie ich das mhhh flexibler? mache^^
Edit: Ich seh grad der ist schlecht versuch den noch zu verbessern^^
Zuletzt geändert von SaVi am 30.05.2010, 13:01, insgesamt 1-mal geändert.
-
- Sonde
- Beiträge: 6
- Registriert: 29.05.2010, 23:05
- Battle.net ID: ZeroX[Ger].ger
Re: Tower Defence
Danke das du dir die Mühe machst =) Ich habe dir eine PM geschrieben^^
-
- Moderator der Leere
- Beiträge: 287
- Registriert: 30.04.2010, 16:15
- Battle.net ID: Deathwing.374
- Liga 1vs1: Meister
- Liga 2vs2: Keine
- Mainrace: Random
- Wohnort: Berlin
Re: Tower Defence
dankeHey Deathwing.. Respekt!!
Richtig Hammer was du da alles zusammenschreibst
ich geb immer mein bestes um anderen leuten zu helfen wo ich nur kann
leider ist es meist net so einfach dadurch das ich den englischen editor benutz^^
-
- Sonde
- Beiträge: 6
- Registriert: 29.05.2010, 23:05
- Battle.net ID: ZeroX[Ger].ger
Re: Tower Defence
Kann mir jemand vielleicht genau erklären, wie ich die Tower-Upgrade Funktion hinzufügen kann? Habe bisher nur ein wenig rumgefummelt bin jedoch zu nichts sinnvollem gekommen
-
- Zergling
- Beiträge: 26
- Registriert: 29.04.2010, 17:48
- Battle.net ID: Soraphis
- Liga 2vs2: Diamant
- Kontaktdaten:
Re: Tower Defence
hab jetzt nicht ganz alles gelesen ... aber timer problem ....
erstmal grundlegend: der timer geht los (hast du gut erkannt) wenn die benötigte-versorgung des "creep-spielers" (also des pcs) 0 ist.
jetzt stellen wir uns die frage: wann geht die versorgung denn runter?
-> wenn eine einheit stirbt
dafür müssen wir sorgen ALSO:
wenn eine einheit das ziel erreicht, wird ein leben des spielers abgezogen (integer variable) und die einheit wird per trigger gekillt!
[wenn ein creep vom spieler getötet wird stirbt sie ja auch also egal]
dadurch feuert jetzt der nächste trigger, der der den timer aufruft,
mit dem ereignis: eine einheit von spieler X stirbt [wobei spieler X der PC ist]
die bedinung überprüft nun ob das aktuelle essen (die versorgung) = 0 ist
und die aktion ruft einen timer auf der einmalig läuft und soundsoviele sekunden dauert
der nächste trigger hat als ereignis das ein timer abläuft und ruft die nächste wave
hier lohnt es sich mit ner menge variablen zu arbeiten ...
hab das ganze in wc3 schon wunderbar fertig ... in sc2 siehts klein bissl anders aus ...
------
zu den variablen die du warscheinlich brauchst:
creeptype - einheitentyp - mit array (KA wie das deutsche wort im editor heißt XD)
// hier werden alle creeptypes festgelegt
z.b creeptype[1] = berserker -> in wave 1 kommen berserker
creeptype[2] = hetzer -> in wave 2 kommen hezter
wavenum - integer - ohne array
// speichert die aktuelle wellen nummer ...
zu creepsawnen kannst du dann:
create unit of type creeptype[wavenum] ....
verwenden
(sry ich bin A zu faul den GE auszupacken und bin B noch die warcraft aktions-befehle gewöhnt .... alles obige ist freehand)
erstmal grundlegend: der timer geht los (hast du gut erkannt) wenn die benötigte-versorgung des "creep-spielers" (also des pcs) 0 ist.
jetzt stellen wir uns die frage: wann geht die versorgung denn runter?
-> wenn eine einheit stirbt
dafür müssen wir sorgen ALSO:
wenn eine einheit das ziel erreicht, wird ein leben des spielers abgezogen (integer variable) und die einheit wird per trigger gekillt!
[wenn ein creep vom spieler getötet wird stirbt sie ja auch also egal]
dadurch feuert jetzt der nächste trigger, der der den timer aufruft,
mit dem ereignis: eine einheit von spieler X stirbt [wobei spieler X der PC ist]
die bedinung überprüft nun ob das aktuelle essen (die versorgung) = 0 ist
und die aktion ruft einen timer auf der einmalig läuft und soundsoviele sekunden dauert
der nächste trigger hat als ereignis das ein timer abläuft und ruft die nächste wave
hier lohnt es sich mit ner menge variablen zu arbeiten ...
hab das ganze in wc3 schon wunderbar fertig ... in sc2 siehts klein bissl anders aus ...
------
zu den variablen die du warscheinlich brauchst:
creeptype - einheitentyp - mit array (KA wie das deutsche wort im editor heißt XD)
// hier werden alle creeptypes festgelegt
z.b creeptype[1] = berserker -> in wave 1 kommen berserker
creeptype[2] = hetzer -> in wave 2 kommen hezter
wavenum - integer - ohne array
// speichert die aktuelle wellen nummer ...
zu creepsawnen kannst du dann:
create unit of type creeptype[wavenum] ....
verwenden
(sry ich bin A zu faul den GE auszupacken und bin B noch die warcraft aktions-befehle gewöhnt .... alles obige ist freehand)