Gebiete und beinhaltende Gebäude einnehmen

Habt ihr Fragen zum Galaxy Editor, oder möchtet ihr eure Karte vorstellen? Alles was mit dem Thema Editor und Modding zu tun hat, gehört hier rein.

Moderatoren: Exekutor[NHF], Deathwing, GarfieldKlon, G A F, SaVi

Antworten
Benutzeravatar
MelleMellowski
Hydralisk
Beiträge: 127
Registriert: 18.06.2010, 18:29
Liga 1vs1: Bronze
Wohnort: Karlsruhe

Gebiete und beinhaltende Gebäude einnehmen

Beitrag von MelleMellowski »

Guten Tag,

ich sitze nur schon seit einigen Stunden an einer Trigger Test map für ein größeres Projekt...

allerdings habe ich schon einiges ausprobiert und bisher leider nicht den gewünschten Effekt erreicht.

Die Sachlage ist diese:

Ich hätte es gern, dass ich einen Festen Punkt auf der Karte habe der einem gewissen Gebiet zugeordnet ist (d.h. es wird mehrere solcher Gebiete auf der jeweiligen Karte haben (min. 2))
soviel zur theorie



nun soll es desweiteren so sein, dass z.b. eine Fabrik in diesem Gebiet ist und eine Einheit ausbaut - sobald nun eine Einheit des gegnerischen Teams oben besagten Punkt einnimmt soll die Fabrik in den Besitz des triggering player übergehen(primär) und das ausbauen der einheit normal weiterlaufen (sekundäres problem)

das einzige was ich bereits zustande gebracht habe ist dies über direkte triggeranwahl zu bewerkstelligen
also:

Code: Alles auswählen

event:
any unit enters a distance of 2 from flag [24.50 19.50]
condition:
action:
unit - change ownership of factory [x y] to player [triggering player] and change color


was ich nun möchte aber es bisher noch nicht erreicht habe:
der trigger sollte allgemein gültig sein
d.h. die gebäude die in der region stehen in der auch besagte flagge ist, sollen alle dem triggering spieler zugeordnet werden(allerdings so dass man praktisch nur das gebiet und die flagge definieren muss, die gebäude allerdings beliebig setzen kann)



ich hoffe dass ich mich klar genug formuliert habe und hoffe auf baldige antwort

vielen dank nochmal
-mellowski
Davidoff
Berserker
Beiträge: 79
Registriert: 18.03.2010, 14:31

Re: gebiete und beinhaltende gebäude einnehmen

Beitrag von Davidoff »

Hey,

tut mir Leid dass ich leider nichts zur Lösung deines Problem beitragen kann. Aber ich wollte anmerken, dass mich deine "Spielidee" an ein sehr altes Spiel erinnert, wo es auch mehrere Flaggebiete gab mit unterschiedlichen fabriken, wo man teilweise Panzer oder soldatenmechs ausbilden konnte. Und irgendwie die Kartenkontrolle gegen den Computer gewinnen musste. Das war echt nen super geiles game, aber ka wie es hieß :D.
Das wollte ich nur mal anmerken, hoffe du willst so etwas tolles machen :).
GarfieldKlon
Moderator des Schwarmstocks
Moderator des Schwarmstocks
Beiträge: 4397
Registriert: 02.07.2007, 19:37
Liga 1vs1: Keine
Liga 2vs2: Keine
Mainrace: Zerg
Wohnort: Hannover

Re: gebiete und beinhaltende gebäude einnehmen

Beitrag von GarfieldKlon »

Leider kann ich auch nicht wirklich helfen, aber ich denke hier dürften bald unsere Mapperspezialisten sich noch melden.

@Davidoff
Erinnert mich auch an etwas:
Bild
║▌║█║║▌║█║ Warnung! Falscher oder fehlender Kaffee - Benutzer angehalten --(◔̯◔)--
1334566890100
Benutzeravatar
MelleMellowski
Hydralisk
Beiträge: 127
Registriert: 18.06.2010, 18:29
Liga 1vs1: Bronze
Wohnort: Karlsruhe

Re: gebiete und beinhaltende gebäude einnehmen

Beitrag von MelleMellowski »

jaaaa ich wollts noch etwas geheim halten...
aber ja es wird der sc2 Z mod

mein grafiker is auch schon schwer am schaffen um die modelle umzusetzen + zu verbessern - die einzelnen roboter sahen ja im orginal alle gleich aus

aber fragt bitte noch nicht nach screens - wir haben ungefähr seit 3 tagen wirklich angefangen und der uni bewerbungsstress ist auch noch leicht aktuell :)
Bild

Aktuelles Projekt: StarCraft II Mod - Zed
viewtopic.php?f=14&t=2883

Bild
Davidoff
Berserker
Beiträge: 79
Registriert: 18.03.2010, 14:31

Re: gebiete und beinhaltende gebäude einnehmen

Beitrag von Davidoff »

Yeah Garfield, genau das meinte ich auch :D.
Ich glaub ich werds mal suchen, vllt. liegt es ja noch irgendwo rum ;-). Jetzt weiß ich wenigstens wie es heißt hehe.

Sehr nice, wenn ihr das hinbekommt @ Melle.
Benutzeravatar
MelleMellowski
Hydralisk
Beiträge: 127
Registriert: 18.06.2010, 18:29
Liga 1vs1: Bronze
Wohnort: Karlsruhe

Re: Gebiete und beinhaltende Gebäude einnehmen

Beitrag von MelleMellowski »

also ich hätte ein kleines update an alle die sich den kopf zerbrechen sollten,

ich habe jetzt eine viel versprechenden trigger gefunden mit dem mein problem (fast) gänzlich gelöst ist

dieser besagt:

Code: Alles auswählen

Pick each unit in ( creates a list of all player 0's units of type 'Barracks' within range ( width of Region 001) of the Point 001 up to 5 units) and do (Actions)

jetzt wär es eigentlich perfekt wenn das programm nicht alles im bereich der länge der region anpeilt, sondern einfach nur alle einheiten IN der region... ich habe auch schon versucht mit anderen triggern diesen script bausatz zu suchen, bisher allerdings erfolglos - ich würde es eigentlich am einfachsten finden wenn man eben jenen script bausatz einfach per hand anstelle des (width of region 001) eintippen könnte (man hat ja die möglichkeit direkt script zu hardcoden)
nur leider fehlt mir da leider etwas das fachwissen bei c - bzw speziell für galaxy

irgendjemand ne ahnung? :)


p.s. ich weiß, ist immer noch nicht so allgemein wie ichs gerne gehabt hätte - aber meiner meinung nach allgemein genug als dass später ein nicht so erfahrener modder eine standard karte von mir nehmen kann und seine eigene multiplayer map machen kann
Bild

Aktuelles Projekt: StarCraft II Mod - Zed
viewtopic.php?f=14&t=2883

Bild
Deathwing
Moderator der Leere
Moderator der Leere
Beiträge: 287
Registriert: 30.04.2010, 16:15
Liga 1vs1: Meister
Liga 2vs2: Keine
Mainrace: Random
Wohnort: Berlin

Re: Gebiete und beinhaltende Gebäude einnehmen

Beitrag von Deathwing »

Hey MelleMellowski,

da ich den englischen editor benutz kann ich dir das mal so kurz posten:

Das Event ist klar:

Code: Alles auswählen

        Unit - Any Unit Enters within 5 of Point
ich habe jetzt einfach mal 5 als Radius genommen :)

Die Bedingung(ist nur erforderlich wenn du sinnlose Aktionsdurchführungen dir sparen willst):

Code: Alles auswählen

        (Owner of (Triggering unit)) == Besitzer der Zone[aktuelle Zone]
besitzer der zone wäre ein Integer-Array mit der Arraygröße die gleich deiner Anzahl der Regionen ist,
und aktuelle Zone ist klar die Nummer der aktuellen Zone

nun die Aktionen:

Code: Alles auswählen

        Unit Group - Pick each unit in (Any units in <die Aktuelle Zone> owned by player Besitzer der Zone[aktuelle Zone] matching Required: Structure, with at most Any Amount) and do (Actions)

die nochmal in strukturierter Form:

Pick Each Unit In Unit Group
    Unit Group: Units In Region Matching Condition
        Unit Type: Any
        Region: <die Aktuelle Zone>
        Player: Besitzer der Zone
            Index 1: aktuelle Zone
        Unit Filter: Required: Structure
        Count: Any Amount
So dann in diese Aktionenschleife packst du:

Code: Alles auswählen

                Variable - Set Befehl = ((Picked unit) order(0))
                Unit - Change ownership of (Picked unit) to player (Owner of (Triggering unit)) and Change Color
                Unit - Order (Picked unit) to Befehl (Replace Existing Orders)
Befehl ist eine Variable vom Typ Order, Damit deine übernommene Einheit den gleichen Befehl ausführt wie vor dem Übernehmen :)

Ick hoffe ich konnte dir damit helfen :)
It is done... All have been given that which must be given.
I now seal the Dragon Soul forever...
For it to be as it must, yes.

Bild
Benutzeravatar
MelleMellowski
Hydralisk
Beiträge: 127
Registriert: 18.06.2010, 18:29
Liga 1vs1: Bronze
Wohnort: Karlsruhe

Re: Gebiete und beinhaltende Gebäude einnehmen

Beitrag von MelleMellowski »

richtig nice - habe es gleich mal ausprobiert und es klappt tadellos (zumindest das übernehmen der gebäude - deine loop anfrage bei den conditions hab ich nicht ganz verstanden (mir fehlt ein wenig das fenster aussem wc3 editor in dem man globale variablen definieren konnte - da komm ich im galaxy noch ned so zurecht... hab aber einfach eingestellt das man einfach ein gebäude in der zone anwählen muss wenn man den trigger neu einstellt und der besitzer der triggering unit != des besitzers des gebäudes sein darf)

(und sehr nett für den tipp mit den unnötigen ausführungen des triggers... hab da auch schon darüber nachdenken müssen, ob ich vllt ne 10 sec pause einbau - bin ich allerdings sehr schnell wieder von abgekommen)

was ich jetzt noch nicht ausprobiert hab ist dein tip mit dem gleichen befehl wie vor der übernahme... ist das dann bei dir so, dass das gebäude übernommen wird (also den derzeitigen befehl stoppt und dann nach der übernahme den gleichen befehl einfach neu startet?) das müsste ich dann anders lösen, da in z die bauzeit nicht unterbrochen wird, man also ne fabrik übernehmen kann 2 sek bevor die einheit fertig gebaut ist und eben jene wird für einen selber fertig gebaut

was ich mir auch schon überlegt habe, ob ich einfach nur einen trigger für den cooldown am gebäude laufen lasse und gleichzeitig ein anderer in einem gewissen zyklus einfach die einheiten spawnt - wäre allerdings meiner meinung nach nur eine übergangslösung um den ablauf einmal zu testen... mal schaun...

-mellowski
Bild

Aktuelles Projekt: StarCraft II Mod - Zed
viewtopic.php?f=14&t=2883

Bild
Deathwing
Moderator der Leere
Moderator der Leere
Beiträge: 287
Registriert: 30.04.2010, 16:15
Liga 1vs1: Meister
Liga 2vs2: Keine
Mainrace: Random
Wohnort: Berlin

Re: Gebiete und beinhaltende Gebäude einnehmen

Beitrag von Deathwing »

so genau kann ich dir das so spontan net ma sagen xD
wenn er einfach den befehl von nen angefangenen baubefehl fortfährt, musste ja das nich machen, wenn nicht...lass ich mir was einfallen^^
It is done... All have been given that which must be given.
I now seal the Dragon Soul forever...
For it to be as it must, yes.

Bild
Benutzeravatar
MelleMellowski
Hydralisk
Beiträge: 127
Registriert: 18.06.2010, 18:29
Liga 1vs1: Bronze
Wohnort: Karlsruhe

Re: Gebiete und beinhaltende Gebäude einnehmen

Beitrag von MelleMellowski »

ok vielen dank - grad keine zeit zu testen/coden (12h schicht ftw...)


und gebe dir baldigst rückmeldung und versuch auch mal selber was rauszufinden :)


-mellowski
Bild

Aktuelles Projekt: StarCraft II Mod - Zed
viewtopic.php?f=14&t=2883

Bild
Antworten