-
Ich danke euch allen für die Hilfe :)
Ich habe aber noch eine Frage:
Man kann ja den Abstand zwischen 2 Events errechnen,
wie siehts denn aber aus,wenn das ganze nur in eine Richtung gehene soll?
Bezüglich einzelner Hiebe im AKS,ebenfalls im Halbkreis?
Bsp:
Held schaut nach oben.
Nun soll er nicht nur das Feld direkt vor ihm treffen,sondern 1. die beiden daneben und 2. noch das Feld darüber...
-
Kann mir denn keiner Helfen?
hier mal eine "bildliche Darstellung",wie ich das meine.
http://npshare.de/files/5eb64947/Trefferabfrage.png
Blickt der Held nach oben,sollen die 2 Felder diagonal über ihn und 2 Felder direkt über ihn abgefragt werden.
Muss ich dafür jedes Feld einzeln nachhaken,oder gibt es dazu auch eine Rechenformel?
-
Also wenn ich das richtige sehe, dann ist das ja nichts weiter als ein kleiner Radius, den du mit der bereits bekannten Formel errechnen kannst. Du musst hier halt eben nur den Mittelpunkt des Radius je nach Blickrichtung des Helden in die richtige Richtung schieben (X- oder Y-Koordinate +/- eins).
Das Tile auf dem der Held steht fällt ja ohnehin automatisch weg, weil da ja niemals gleichzeitig ein Gegner stehen kann^_-
Gruß
Stoep
-
So,
Dank Cilence bin ich glaube ich auf den richtigen Weg...
http://npshare.de/files/14dab7b8/Unbenannt.png
so sieht der momentane Code aus.
"attack2" dient nur zu Testzwecken.
Jetzt will ich nurnoch wissen,wie ich es schaffen,dass nur vor dem Helden und nicht hinter ihm abgefragt wird...
-
Sorry für Doppelpost...
Aber ich habs geschafft,wenn auch total umständlich.:rolleyes:
Code:
- SCRIPT -
<> Change Variable: [121] = X position on map (tiles) of hero
<> Change Variable: [122] = Y position on map (tiles) of hero
<> Change Variable: [125] = V[121]
<> Change Variable: [126] = V[122]
<> Fork Condition: If Hero is facing up then ...
<> Change Variable: [126] -= 1
<> Get Event ID: (V[125], V[126]), Store in var. [127]
<> Fork Condition: If Variable [127] == 1 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [31] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 2 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [32] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 3 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [33] = ON
<>
: Else ...
<> Change Variable: [125] -= 1
<> Get Event ID: (V[125], V[126]), Store in var. [127]
<> Fork Condition: If Variable [127] == 1 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [31] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 2 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [32] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 3 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [33] = ON
<>
: Else ...
<> Change Variable: [125] += 2
<> Get Event ID: (V[125], V[126]), Store in var. [127]
<> Fork Condition: If Variable [127] == 1 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [31] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 2 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [32] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 3 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [33] = ON
<>
: Else ...
<> Change Variable: [125] -= 1
<> Change Variable: [126] -= 1
<> Get Event ID: (V[125], V[126]), Store in var. [127]
<> Fork Condition: If Variable [127] == 1 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [31] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 2 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [32] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 3 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [33] = ON
<>
: Else ...
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: Else ...
<>
: End of fork
<> Comment:
:
:
<> Fork Condition: If Hero is facing right then ...
<> Change Variable: [125] += 1
<> Get Event ID: (V[125], V[126]), Store in var. [127]
<> Fork Condition: If Variable [127] == 1 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [31] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 2 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [32] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 3 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [33] = ON
<>
: Else ...
<> Change Variable: [126] -= 1
<> Get Event ID: (V[125], V[126]), Store in var. [127]
<> Fork Condition: If Variable [127] == 1 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [31] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 2 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [32] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 3 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [33] = ON
<>
: Else ...
<> Change Variable: [126] += 2
<> Get Event ID: (V[125], V[126]), Store in var. [127]
<> Fork Condition: If Variable [127] == 1 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [31] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 2 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [32] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 3 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [33] = ON
<>
: Else ...
<> Change Variable: [126] -= 1
<> Change Variable: [125] += 1
<> Get Event ID: (V[125], V[126]), Store in var. [127]
<> Fork Condition: If Variable [127] == 1 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [31] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 2 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [32] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 3 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [33] = ON
<>
: Else ...
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: Else ...
<>
: End of fork
<> Comment:
:
:
<> Fork Condition: If Hero is facing down then ...
<> Change Variable: [126] += 1
<> Get Event ID: (V[125], V[126]), Store in var. [127]
<> Fork Condition: If Variable [127] == 1 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [31] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 2 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [32] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 3 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [33] = ON
<>
: Else ...
<> Change Variable: [125] -= 1
<> Get Event ID: (V[125], V[126]), Store in var. [127]
<> Fork Condition: If Variable [127] == 1 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [31] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 2 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [32] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 3 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [33] = ON
<>
: Else ...
<> Change Variable: [125] += 2
<> Get Event ID: (V[125], V[126]), Store in var. [127]
<> Fork Condition: If Variable [127] == 1 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [31] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 2 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [32] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 3 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [33] = ON
<>
: Else ...
<> Change Variable: [125] -= 1
<> Change Variable: [126] += 1
<> Get Event ID: (V[125], V[126]), Store in var. [127]
<> Fork Condition: If Variable [127] == 1 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [31] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 2 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [32] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 3 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [33] = ON
<>
: Else ...
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: Else ...
<>
: End of fork
<> Comment:
:
:
<> Fork Condition: If Hero is facing left then ...
<> Change Variable: [125] -= 1
<> Get Event ID: (V[125], V[126]), Store in var. [127]
<> Fork Condition: If Variable [127] == 1 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [31] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 2 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [32] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 3 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [33] = ON
<>
: Else ...
<> Change Variable: [126] -= 1
<> Get Event ID: (V[125], V[126]), Store in var. [127]
<> Fork Condition: If Variable [127] == 1 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [31] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 2 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [32] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 3 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [33] = ON
<>
: Else ...
<> Change Variable: [126] += 2
<> Get Event ID: (V[125], V[126]), Store in var. [127]
<> Fork Condition: If Variable [127] == 1 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [31] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 2 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [32] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 3 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [33] = ON
<>
: Else ...
<> Change Variable: [126] -= 1
<> Change Variable: [125] -= 1
<> Get Event ID: (V[125], V[126]), Store in var. [127]
<> Fork Condition: If Variable [127] == 1 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [31] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 2 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [32] = ON
<>
: Else ...
<> Fork Condition: If Variable [127] == 3 then ...
<> Play Sound Effect: strike11, Volume 100%, Speed 100%, Pan Center
<> Change Switch: [33] = ON
<>
: Else ...
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: End of fork
<>
: Else ...
<>
: End of fork
<> Change Switch: [19] = OFF
Jedes Feld einzeln abhaken war eine Aufgabe die innerhalb von 30 Sekunden erledigt ist...
-
Ach du heiliger St. Kartoffelsack. Jetzt habt ihrs geschafft den armen Kerl mit euren ganzen Algorithmen soweit zu kriegen, dass er sowas macht.
Look up tables sind zwar nicht so cool wie Algorithmen, aber die Fragestellung ist auch nicht grade die komplexeste.
Keep it simple~ next time.
-
Bitte verwende beim EasyEventExporter das nächste Mal die Formatvorlage "vb_lightbg.eft" im Ordner "ftemplates", dadurch wird der Code hier im Forum farbig gehighlighted.
-
@Engel der Furcht
Am besten du machst es so wie Stoep es gesagt hat und benutzt den Algorithmus von R.D. Aus Faulheit schreibe ich das im Pseudo-Code.
Variable x1 = X-Position vom Gegner
Variable y1 = Y-Position vom Gegner
Variable x2 = X-Position vom Held
Variable y2 = Y-Position vom Held
Wenn der Held nach oben schaut: y2 - 1
Wenn der Held nach rechts schaut: x2 + 1
Wenn der Held nach unten schaut: y2 + 1
Wenn der Held nach links schaut: x2 - 1
x1 = x1 - x2
y1 = y1 - y2
Wenn x1 < 0: x1 = x1 * -1
Wenn y1 < 0: y1 = y1 * -1
x1 = x1 + y1
Wenn x1 <= 1 (weiter darf der Gegner nicht entfernt sein): Treffer!