Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gegnersichtfeld...



Multi-Master1988
21.02.2011, 21:33
Ich tüftel zur Zeit an einem Gegnersichtfeld welches ich einfach halten wollte also als Vorbild diente mir das von VD allerdings hatte diese auch einen Manko denn meine Figuren sollen sich Bewegen andere nachteil daran war das ich eine Menge Events platzieren müsste allerdings habe ich mich dann dazu entschlossen weniger Ereignisse zu benutzen um das Sichtfeld abfzufragen.Die wenigen Ereignisse in diesen Fall 3 Stück sollen sich dann mit dem Gegner (Chara) mitbewegen.Bis hierhin lief alles gut doch dann kam der Tiefpunkt denn es ist Leider recht kompliziert was ich mir dort angescriptet hab und nun geht an euch die Frage wie mache ich meinen Code einfacher und unkomplizierter bzw. hat jemand eine andere Idee?

Achja hier noch meine Codes die ich benötigt hab:



--- EVENT ---
Type: Common event
Name: Bewegung Gegner 1
Number of Pages: 1

-- PAGE 1 --
Start conditions:


<None>

Trigger condition: Parallel process
- SCRIPT -
<> Fork Condition: If Event #1 is facing left then ...
. <> Set Event Location: Event #5 -> (11, 16)
. <> Set Event Location: Event #8 -> (10, 16)
. <> Set Event Location: Event #7 -> (9, 16)
. <> Move Event: Event #0, Frq 8, Ignore impossible moves, Pattern: Mv left, Mv left, Mv left, Mv left, Mv left, Fc right
. <> Move Event: Event #0, Frq 8, Ignore impossible moves, Pattern: Mv left, Mv left, Mv left, Mv left, Mv left, Fc right
. <> Move Event: Event #0, Frq 8, Ignore impossible moves, Pattern: Mv left, Mv left, Mv left, Mv left, Mv left, Fc right
. <> Move Event: Event #0, Frq 8, Ignore impossible moves, Pattern: Mv left, Mv left, Mv left, Mv left, Mv left, Fc right
. <> Wait Until Moved
. <>
: End of fork
<> Fork Condition: If Event #1 is facing right then ...
. <> Set Event Location: Event #5 -> (8, 16)
. <> Set Event Location: Event #8 -> (9, 16)
. <> Set Event Location: Event #7 -> (10, 16)
. <> Move Event: Event #0, Frq 8, Ignore impossible moves, Pattern: Mv right, Mv right, Mv right, Mv right, Mv right
. <> Move Event: Event #0, Frq 8, Ignore impossible moves, Pattern: Mv right, Mv right, Mv right, Mv right, Mv right
. <> Move Event: Event #0, Frq 8, Ignore impossible moves, Pattern: Mv right, Mv right, Mv right, Mv right, Mv right
. <> Move Event: Event #0, Frq 8, Pattern: Mv right, Mv right, Mv right, Mv right, Mv right, Fc left
. <> Wait Until Moved
. <>
: End of fork
<> Wait: 0,0 sec.
<>



Das vierte Event im oberem Script ist der Chara welches sich ja logischer weise auch mitbewegen muss.Der zweite Code ist eig. nicht auschlaggebend für mein Problem trotzdem musste ich diesen seperat in einen PP einbauen.



- SCRIPT -
<> Change Variable: [9] = X position on map (tiles) of hero
<> Change Variable: [10] = Y position on map (tiles) of hero
<> Change Variable: [47] = X position on map (tiles) of event #8
<> Change Variable: [48] = Y position on map (tiles) of event #8
<> Change Variable: [61] = X position on map (tiles) of event #7
<> Change Variable: [62] = Y position on map (tiles) of event #7
<> Change Variable: [63] = X position on map (tiles) of event #7
<> Change Variable: [64] = Y position on map (tiles) of event #7
<> Change Variable: [65] = X position on map (tiles) of event #8
<> Change Variable: [66] = Y position on map (tiles) of event #8
<> Wait: 0,0 sec.

Goblindieb
21.02.2011, 23:00
Ich habe mal ein Beispielprojekt dafür gemacht ich hoffe es ist so wie du meinst wenn du weitere Fragen dazu hast dann melde dich ;)

http://npshare.de/files/ee1c6b5f/Gegner%20Sichtfeld%203%20Felder.lzh

Mit freundlichen grüßen

Goblindieb

Multi-Master1988
21.02.2011, 23:22
@ Goblindieb

Dankeschön aber so ganz habe ich es nicht verstanden kann du mir dazu noch ein Tut schreiben
wie es genau funktioniert?

Lg
Multi-Master1988

Goblindieb
21.02.2011, 23:48
http://www.bilder-space.de/show_img.php?img=6491b7-1298331519.jpg

http://www.bilder-space.de/bilder/ce82dd-1298331670.jpg

EDIT : Bilder lade ich morgen nochmal hoch also nach dem schlafen will im moment nicht funzen ;)

Der Held und der Gegner stehen beide bei Y auf der Selben Achse 4 das muss zuerst abgefragt werden die Koordinaten vom Gegner sind
008,004.
Wenn man ein Sichtfeld von 3 haben will müssen die X und Y Achsen vom Held und vom Gegner Parallel abgefragt werden
und dann wenn man die Gegner Variabel( 8 ) minus die Held Variable X nimmt muss +3 bei rauskommen logischer weise (3 Sichtfelder)

In diesem Fall befindet sich der Held immer Links und der Gegner rechts wenn +3 rauskommt

Wenn man umgekehrt rechnet also die Held X Achse - Die Gegner X Achse muss logischerweise -3 rauskommen in diesem Fall befindet sich der Held
immer RECHTS und der Gegner immer Links.

Mit freundlichen grüßen Goblindieb

Cherry
22.02.2011, 07:53
@Multi-Master1988: Leider enthält der EasyEventExporter einen kleinen Fehler, wodurch bei Move Events immer "Event #0" statt der richtigen Event-ID steht. Bitte füge die Zahl per Hand ein oder verwende RMEventFactory, da hab ich den Fehler bereits behoben.