PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem nach Kampf



seppe1
07.01.2005, 01:43
Es mag für euch wie ein Noobproblem klingen(ist es wahrscheinlich auch), aber ich sitze im Moment wirklich vor einem Rätsel...
also ich fang einfach mal an:
Ich kämpfe aller Cremeland 3-Prinzip gegen drei Gegner.
Nachdem die Gegner tot sind, will ich ein Autostart Event machen, wo sich der Held freut und rausteleportiert wird.
Das Problem ist nun, dass ich dazu einen Switch machen muss, der dieses Event startet.
Aber wie krieg ich es hin, dass der Switch aktiviert wird, wenn alle Gegner weg sind?
Ich kann das ja machen, wenn ein Gegner da ist(Gegner tot---->Switch aktiviert), aber bei 3 Gegnern hab ich keine Ahnung...
Wenn ihr Screenshots zum Lösen braucht, dann kann ich welche hochladen!

Danke im Vorraus fürs Helfen!

Tiny
07.01.2005, 01:51
Kennst du Fork Conditions?
(3te Seite der Eventbefehle)

Erst machst du eine, die abfragt ob der Switch "Gegner 1 tot" on ist.
In diese erste Fork kommt eine zweite, die abfragt ob der Switch "Gegner 3 tot" on ist.
In diese kommt nun eine die abfragt ob der Switch "Gegner 3 tot" on ist.
Dort hinein kommt nun wie der Held sich freut und rausteleportiert wird.

Falls du damit nicht zurechtkommst, kann ich dir alles schritt für schritt erklären.

EDIT:@Rash
Ja, natürlich ist es mit Variablen praktischer. Habs nur so erklärt weil er oben gesagt hatte, das er Swithes on stellt wenn ein Gegner stirbt. Aber deine Variante ist viel einfacher.

Rash
07.01.2005, 01:55
Für mich gibts keine 'Noobprobleme';
wir haben alle mal klein angefangen ;)

du machst es einfach so:

wenn Gegner 1 tot ist:
(am besten direkt vor den switch der sagt, dass Gegner 1 tot ist)
'Change Variable: KillCounter: +1'

und das machst du jetzt bei jedem Gegner.

dann machst du das besagte Auto Start Event, und machst da halt statt dem Switch als Start Condition 'Variable: KillCounter 3' (oder halt wieviele Gegner du killen musst)

Fertig ;)

also relativ einfach ;)

Gruß
Rash

EDIT: @Tiny: deine Möglichkeit würde auch gehen, aber bei zB 10 Gegnern wird die Fork entsprechend länger...

seppe1
15.01.2005, 23:25
sorry, dass ich erst jetzt zurückschreibe(hatte Streß wegen Schule), aber die zweite methode funktioniert irgendwie nicht...
Ich hab alle Schritte befolgt.Vor der Variable, die den Gegner für Tod erklärt(ich mach das mit Variablen, sodass der Held den Gegner 5x treffen mus) habe ich die Variable Kill Counter. Bei Set habe ich + gewählt und bei Operand 1.
Zudem hab ich ein Autostart Event auf der Map platziert mit der Event Start Condition Kill Counter mit 3 above(es sind drei Gegner)
Jetzt wird aber das Autostart Event schon ausgelöst, sobald ich einen Gegner getötet habe...
Was habe ich da jetzt falsch gemacht?

Yeran
16.01.2005, 00:37
Sorgst du irgendwie dafür, dass das entsprechende Event nur einmal ausgeführt wird?

Wodurch genau triggerst du die Count-Variable?

Vielleicht ein Clear Timer (=remove Event), einen Switch mit neur Seite oder dergleichen vergessen? Wäre nach deiner Beschreibung meine Vermutung. Nimm doch einmal den Teleport raus und prüfe den Variablenwert.

Rinober
16.01.2005, 08:34
also ich weiß ja jetz nich genau, wie eins deiner gegner events aussieht, aber ich geb trotzdem mal meinen senf dazu
das mit den variablen is eigentlich die einfachere lösung
aaalso
so in der art müsste dein event nach der erklärung von Rash aussehen:

<>hier das kampfzeugs hin
(du hast ja gesagt, dass du es per variablen so eingestellt hast, dass man den gegner 5x angreifen muss, dann hast du das bestimmt auch per fork gemacht oder?)
<>if variable xx (die variable mit den treffern) = 5
<>change variable "killcounter" +1
<>change switch "gegner 1 tot"
: else case
<>xxxx

bei den zwei anderen gegnern solltest du dann lediglich den switch "gegner 1 tot" ändern, also "gegner 2 tot" und "gegner 3 tot", damit die gegner nicht alle nach einem besiegten feind verschwinden.
dann gibts da mit dem siegeszeugs noch ne andere möglichkeit:
mach mal das autostart event weg und mach stattdessen ein parallel prozess event, dort gibst du dann bei event commands rechts folgendes ein:
<>if variable "killcounter" = 3 (!same!)
<>xxxxx
probiers mal so, vielleicht gehts ja dann
gruß
Jason

Arazuhl
16.01.2005, 13:15
<> Fork Option Switch[01: Gegner 1 tot] - On
<> Fork Option Switch[02: Gegner 2 tot] - On
<> Fork Option Switch[03: Gegner 3 tot] - On
<> Teleport Hero
END Case
<>
END Case
<>
END Case

So müsste es aussehen, eine Verschachtelung von Fork conditions, eigentlich relativ simpel. falls noch probleme gibt, kannste ja posten ;)

Arazuhl

seppe1
23.01.2005, 14:03
Aaaalso:
@Jason: Ich hab das so gemacht(Screenshot geht leider nicht, weil hyper Snap alles verdeckt...)

1. Seite des Gegners:
Event Start Condition Variable mit Namen Angriff mit 0 above
dann bei den Event Commands:
Show Battle Animation(bla bla)
Change HP[All Members]HP3 Rem

Dann Seite 2:
Start Condition Variable Angriff 1 above
Event Commands:
Show Battle Animation Hit A-This Event
Change Var [002: Tod des Mädchens] (+)- 1
Change Var [005: Kill Counter] (+)- 1

Dann noch die dritte Seite:
Start Condition: Variable Tod des Mädchens 5 above

So sieht bei mir ein Gegner aus...
Ich habs jetzt mal gepostet, weil Jason ja sagte, ich hätte das mit Forks gemacht...

Edit: Wenn wer ein anderes Screenshot Prog weiß, dann würde ich mir das downloaden und einen Screen posten...