PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sichtbare Party > Unabhängig von Event ID?



Engel der Furcht
20.12.2009, 08:06
Hallo Leute!

Ich möchte bei mir die Sichtbare Party machen und habe dabei vergessen,dass wenn man Events auf eine andere Map kopiert,die Event IDs sich ändern.

Ist es möglich,die Folge-CHars so zu schreiben,dass sie unabhängig von den Event-IDs funktionieren.Also so,dass ich sie ganz bequem kopieren kann?
Gibts da eine Funktion?

Kelven
20.12.2009, 08:30
Die Event-IDs ändern sich nur dann, wenn die richtigen auf der Map schon belegt sind. Du könntest also immer zuerst die Party-Events kopieren. Auf den Maps, auf denen die Event-IDs schon belegt sind, müsstest du dann ein paar von den alten Events löschen.

Engel der Furcht
20.12.2009, 09:43
okay,ich habe jetzt immer "This Event" bei Koordinaten und beim Bewegen benutzt.
Gibt aber ein Problem:
Der 3. Held,also der 2. Folgechar bewegt sich total komisch,wenn sich der vorderste bewegt.
Siehe hier:
http://npshare.de/files/3b5d5c48/Mein%20Film.wmv

Und hier die COdes von Folgechar1 und Folgechar2:

- SCRIPT -
<> Comment:
: Folgechar wird unbemerkt auf die Pos.
: des Helden beim betreten gesetzt.
<> Change Variable: [10] = X position on map (tiles) of hero
<> Change Variable: [11] = Y position on map (tiles) of hero
<> Set Event Location: This event -> (V[10], V[11])
<> Comment: Koordinaten abspeichern
:
:
<> Label: 1
<> Move Event: This event, Frq 8, Pattern: Phas. mode on
<> Change Variable: [10] = X position on map (tiles) of hero
<> Change Variable: [11] = Y position on map (tiles) of hero
<> Change Variable: [12] = X position on map (tiles) of this event
<> Change Variable: [13] = Y position on map (tiles) of this event
<> Comment: Richtung abfragen und Koordinaten
: verändern
:
<> Fork Condition: If Hero is facing up then ...
<> Change Variable: [11] += 1
<>
: End of fork
<> Fork Condition: If Hero is facing down then ...
<> Change Variable: [11] -= 1
<>
: End of fork
<> Fork Condition: If Hero is facing left then ...
<> Change Variable: [10] += 1
<>
: End of fork
<> Fork Condition: If Hero is facing right then ...
<> Change Variable: [10] -= 1
<>
: End of fork
<> Comment: Wenn Koordinaten abweichen,Folgechar
: bewegen lassen
:
<> Fork Condition: If Variable [10] > V[12] then ...
<> Move Event: This event, Frq 8, Pattern: Phas. mode on, Mv right
<>
: End of fork
<> Fork Condition: If Variable [10] < V[12] then ...
<> Move Event: This event, Frq 8, Pattern: Phas. mode on, Mv left
<>
: End of fork
<> Fork Condition: If Variable [11] > V[13] then ...
<> Move Event: This event, Frq 8, Pattern: Phas. mode on, Mv down
<>
: End of fork
<> Fork Condition: If Variable [11] < V[13] then ...
<> Move Event: This event, Frq 8, Pattern: Phas. mode on, Mv up
<>
: End of fork
<> Comment: Sind die Koordinaten gleich,muss
: der Folgechar stehen bleiben
<> Fork Condition: If Variable [10] == V[12] then ...
<> Fork Condition: If Variable [11] == V[13] then ...
<> Move Event: This event, Frq 8, Pattern: Wait
<>
: End of fork
<>
: End of fork
<> Wait: 0.1 sec.
<> Jump To Label: 1




- SCRIPT -
<> Comment:
: Folgechar wird unbemerkt auf die Pos.
: des Helden beim betreten gesetzt.
<> Change Variable: [10] = X position on map (tiles) of hero
<> Change Variable: [11] = Y position on map (tiles) of hero
<> Set Event Location: This event -> (V[10], V[11])
<> Comment: Koordinaten abspeichern
:
:
<> Label: 1
<> Move Event: This event, Frq 8, Pattern: Phas. mode on
<> Change Variable: [10] = X position on map (tiles) of hero
<> Change Variable: [11] = Y position on map (tiles) of hero
<> Change Variable: [14] = X position on map (tiles) of this event
<> Change Variable: [15] = Y position on map (tiles) of this event
<> Comment: Richtung abfragen und Koordinaten
: verändern
:
<> Fork Condition: If Hero is facing up then ...
<> Change Variable: [11] += 2
<>
: End of fork
<> Fork Condition: If Hero is facing down then ...
<> Change Variable: [11] -= 2
<>
: End of fork
<> Fork Condition: If Hero is facing left then ...
<> Change Variable: [10] += 2
<>
: End of fork
<> Fork Condition: If Hero is facing right then ...
<> Change Variable: [10] -= 2
<>
: End of fork
<> Comment: Wenn Koordinaten abweichen,Folgechar
: bewegen lassen
:
<> Fork Condition: If Variable [10] > V[14] then ...
<> Move Event: This event, Frq 8, Pattern: Mv right
<>
: End of fork
<> Fork Condition: If Variable [10] < V[14] then ...
<> Move Event: This event, Frq 8, Pattern: Mv left
<>
: End of fork
<> Fork Condition: If Variable [11] > V[15] then ...
<> Move Event: This event, Frq 8, Pattern: Mv down
<>
: End of fork
<> Fork Condition: If Variable [11] < V[15] then ...
<> Move Event: This event, Frq 8, Pattern: Mv up
<>
: End of fork
<> Comment: Sind die Koordinaten gleich,muss
: der Folgechar stehen bleiben
<> Fork Condition: If Variable [10] == V[14] then ...
<> Fork Condition: If Variable [11] == V[15] then ...
<> Move Event: This event, Frq 8, Pattern: Wait
<>
: End of fork
<>
: End of fork
<> Wait: 0.1 sec.
<> Jump To Label: 1

Stoep
20.12.2009, 10:31
Puh, hätte ich das Ganze jetzt im Maker vor mir, würde ich des Rätsels Lösung vielleicht finden^^ So habe ich nur mal eine vage Vermutung. Versuch mal für den Folgechar2 den Folgechar1 als Bezugspunkt zu benutzen. Also so, das der Folgechar1 dem Helden folgt und der Folgechar2 widerum dem Folgechar1 hinterher dackelt. Allerdings kommst du dann wirklich nicht drumherum, dafür zu sorgen, dass die Events auf jeder Map die selbe ID haben.
Kleiner Tipp: Erstell eine "Dummie-Map" in deinem Projekt auf dem alle nötigen Events für das Skript vorhanden sind. Anstatt dann immer eine neue Map zu erstellen, kannst du einfach immer diese Dummie-Map kopieren. So mache ich das auch immer bei Skripts jeglicher Art.

Gruß
Stoep

Engel der Furcht
20.12.2009, 12:06
Ah,jetzt funtzt es auch!
Dankschön.

Jetzt nurnoch 1:
Wenn der Held auf einem Feld ist,wo auf 2 Seiten Hindernisse sind,und er z.b. nach links schaut,geht der Folgechar automatisch auf das Feld,wo eigentlich ein Hindernis ist.
(Phasing Mode ist ja an)

MagicMaker
20.12.2009, 12:50
In dem Fall solltest du wohl besser verhindern, dass die Verfolger nicht
hinter dir stehen, wenn du nur die Richtung änderst und es stattdessen
machen, wenn du wirklich laufen kannst.

Davy Jones
20.12.2009, 13:30
http://www.megaupload.com/?d=TPK2PDTF

Evtl. hier mal reinlinsen, wie es dort gelöst wurde. Ist meines Erachtens der beste erhältliche Hintereinander Laufen-Skript (von übelster Held btw).

R.D.
20.12.2009, 13:44
Oh ganz einfach, du setzt am anfang jeder Map einfach die Event ID's und in den Events selber steht auch drin, wie die sich beweg sollen, das callst du halt über:
Call (Event by Event-ID and Site)

So hab ich das gelöst :3