PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Party Verfolgung geht nicht richtig



Engel der Furcht
21.10.2012, 14:27
Bin gerade dabei die Party auf die Map zu setzen,damit sie dem Helden folgt, dies ist mein Script:
(Der Char ist als PP gesetzt)


- SCRIPT -
<> Label: 1
<> Change Variable: [162] = X position on map (tiles) of hero
<> Change Variable: [163] = Y position on map (tiles) of hero
<> Change Variable: [164] = X position on map (tiles) of event #1
<> Change Variable: [165] = Y position on map (tiles) of event #1
<> Change Variable: [169] = X position on map (tiles) of event #1
<> Change Variable: [170] = Y position on map (tiles) of event #1
<> Fork Condition: If Hero is facing up then ...
. <> Change Variable: [170] += 1
. <>
: Else ...
. <> Fork Condition: If Hero is facing right then ...
. . <> Change Variable: [169] -= 1
. . <>
. : Else ...
. . <> Fork Condition: If Hero is facing down then ...
. . . <> Change Variable: [170] -= 1
. . . <>
. . : Else ...
. . . <> Change Variable: [169] += 1
. . . <>
. . : End of fork
. . <>
. : End of fork
. <>
: End of fork
<> Change Variable: [169] -= V[162]
<> Change Variable: [170] -= V[163]
<> Fork Condition: If Variable [169] > 0 then ...
. <> Move Event: This event, Frq 8, Ignore impossible moves, Pattern: Mv left
. <>
: Else ...
. <> Move Event: This event, Frq 8, Ignore impossible moves, Pattern: Mv right
. <>
: End of fork
<> Fork Condition: If Variable [170] > 0 then ...
. <> Move Event: This event, Frq 8, Ignore impossible moves, Pattern: Mv up
. <>
: Else ...
. <> Move Event: This event, Frq 8, Ignore impossible moves, Pattern: Mv down
. <>
: End of fork
<> Wait: 0,1 sec.
<> Jump To Label: 1


Der Char folgt dem Helden aber nicht richtig, sondern geht immer nur rauf und runter.

MagicMaker
21.10.2012, 15:37
Soll das Hinterherziehobjekt immer direkt auf dem Feld hinterm Spieler sein?
Oder in diesen reinlaufen?
Oder sogar für Umkehrmanöver Platz machen?

Es gibt eine Menge Formen, die man bei Verfolgung beabsichtigen kann, aus dem Code,
der ja offenbar nicht so funktioniert, wie du willst, geht das aber nicht hervor (gerade weil
der nicht funktioniert). óo

Engel der Furcht
21.10.2012, 16:39
1 feld hinter dem helden (deswegem die abfrage der gesichtsrichtung)

Bex
21.10.2012, 19:45
Gibt es bei deinem Maker auch den Eventbefehl: Set Mouve Route 1Step Aproach Player oder 1Step forward?
Dann liesse sich dein Code etwas vereinfachen. Wieviele Events sollen dem Helden denn folgen? 1Event lässt sich einfacher erstellen als 2oder3.
Den Knackpunkt sehe ich noch beim um die Ecke laufen.

Zum Topic, folgender Code ist falsch:
<> Change Variable: [169] -= V[162]
<> Change Variable: [170] -= V[163]
<> Fork Condition: If Variable [169] > 0 then ...
. <> Move Event: This event, Frq 8, Ignore impossible moves, Pattern: Mv left
. <>
: Else ...
. <> Move Event: This event, Frq 8, Ignore impossible moves, Pattern: Mv right
. <>
: End of fork
<> Fork Condition: If Variable [170] > 0 then ...
. <> Move Event: This event, Frq 8, Ignore impossible moves, Pattern: Mv up
. <>
: Else ...
. <> Move Event: This event, Frq 8, Ignore impossible moves, Pattern: Mv down

Du must die Fork in einen Block fügen. Denn es trifft beim hinterherlaufen immer zu das das Event entweder auf der selben X bzw selben Y Achse steht (Fork variable bla =0)
Auch ist die abfrage oben über die Blickrichtung des Heldennicht ganz Bugfrei.Was ist wenn der Held ein Feld hochläuft? Dann schaut der Held nach oben, aber das Event müsste eigentlich ein Feld nach rechts oder links.
<> Fork Condition If Variable [bla] =X1
<> Fork Condition If Variable [blub]=Y0
wenn ja =
kein Else
<> Fork Condition =X-1
<> Fork Condition =Y0
wenn ja =
kein Else
Das gleiche für X0 und Y1 /Y-1
So in etwa sieht ein Abfrageblock aus, die Fork wird nur bestätigt wenn beide Bedingungen zutreffen.
Kann dir leider im Moment keine fertige Lösung bieten, auch wird die Hilfe nur zur hälfte was da ich den Maker nicht besitze.
(Falls es interessiert: Beim neuen kostenlosen RMVX-Ace-Lite ist die Funktion standardmäsig enthalten)

Gruß Bex

Engel der Furcht
21.10.2012, 20:12
Okay, funktioniert jetzt,
ich musste lediglich den Vergleich in einen einzelnen Block packen.