Aber genau an diesem Fleck wird auch das Event ausgelöst, dass der Held springt.
Aber genau an diesem Fleck wird auch das Event ausgelöst, dass der Held springt.
--Seelenleiden zu heilen vermag der Verstand wenig, die Zeit viel, entschlossene Tätigkeit alle.
Geändert von Sniez (23.10.2010 um 11:42 Uhr)
Oh Gott, ich denke, ich nerve die Menschen mit meinem Unwissen. D:
Hero läuft zur Klippe - Push Key = Herunterspringen.
Switch für NPC aktiviert - NPC läuft zur Klippe
NPC springt herunter - Switch deaktiviert
So? Tut mir Leid, mit solchen Sachen habe ich mich nie richtig befasst. O:
--Seelenleiden zu heilen vermag der Verstand wenig, die Zeit viel, entschlossene Tätigkeit alle.
Okay, jetzt habe ich es verstanden, danke. Nur eine Sache zum Abschluss. Sobald der Switch für den NPC aktiviert ist, welches Event muss dann starten? Move Event? Das wäre, denke ich, nicht so gut, denn der NPC hat keinen festen Standpunkt sondern bewegt sich ständig. Wie kann man dieses Sprungevent vor der Klippe zum 'Magneten' machen? ^^
--Seelenleiden zu heilen vermag der Verstand wenig, die Zeit viel, entschlossene Tätigkeit alle.
Das ist dann das Problem mit dem Path-Finding. Zuerst sollte er auf jeden Fall eventtechnisch anhalten (ist ja klar), dann müsstest du seine Standpunktkoordinaten ermitteln und je nachdem wo er steht und wie die jeweilige Umgebung aussieht, muss er dann einen Schritt in die richtige Richtung machen, dann wieder Koordinaten und so weiter. Oder du nimmst dir ein paar Punkte, von denen du sagst, dass er dort starten soll (teleportierst ihn sozusagen dort hin) und gibst dann eine genaue Route vor. Ich würde dir auch raten, nicht zu viele undurchdringliche Objekte auf die Karte zu stellen, sonst wird es nur noch mehr Arbeit (zumindest, wenn du ersterer Methode nimmst). Ich hoffe mal, das war wenigstens halbwegs verständlich. Notfalls einfach nur improvisieren.
Wobei man bei ersterer Methode auch eine Route im Vornherein berechnen lassen kann, das würde aber wohl ein bisschen Zeit beanspruchen.
Geändert von R.F. (23.10.2010 um 12:52 Uhr)
Alternativ kannst du prüfen, ob der NPC am Klippenrand steht (du speicherst seine Koordinaten und vergleichst sie mit denen der Klippe) durch ein PP-Event und wenn das der Fall ist, lässt dieses Event den NPC springen.
Generell kommts drauf an, an wievielen Stellen das mit dem Springen möglich ist, ob das was eher einmaliges ist oder gar in einem AKS ständig vorkommen soll.
Pathfinding auf dem 2k is äh eklig. Dafür ist er nicht gemacht. Für tilebasierte Systeme eignet sich dafür insbesondere der Breadth-First-Search-Algorithmus und mit der Nummerierung der Variablen vom Maker is der nur unschön zu implementieren (mach das nicht, wenn dich nicht Hintergründe interessieren sondern nur was im Maker sinnvoll ist, ignoriere diesen Absatz)
Wenn wir schon dabei sind, besteht irgendwo ein ausführliches Tutorial bezüglich das mit dem Prüfen? Also allgemein das Event mit der ID/Koordinaten prüfen. Ich blicke da noch nicht richtig durch, und würde das gerne verstehen. (:
--Seelenleiden zu heilen vermag der Verstand wenig, die Zeit viel, entschlossene Tätigkeit alle.
Jedes Feld hat Koordinaten, links oben beginnts mit 0/0 und nimmt nach rechts und unten eben zu. Die Koordinaten eines Feldes kannst du im Maker rausbekommen, wenn du es im Eventmodus anklickst, steht dann in der Statusleiste. Mit Change Variable kannst du die Koordinaten eines Events in Variablen speichern und dann beispielsweise abfragen, ob ein Event auf bestimmten Koordinaten steht (V1 = 3?, V2 = 5?) oder ob zwei Events die selbe Koordinaten haben (V1=V3? V2=V4?) und du kannst die Koordinaten vorher natürlich noch manipulieren (um beispielsweise zu schauen, ob ein Event direkt vor einem anderen Event steht) et cetera
Wenn ein bestimmtes Event also eine festgelegte Route eingespeichert bekommt, und ich möchte, dass dieses nach einer bestimmten Zeit auf eine bestimmte Stelle Map zugeht, muss ich die Route dann mit Variablen zuspeichern, oder wie? ^^ Wenn ich dies erklärt bekomme, dann wüsste ich das Prinzip, denke ich.
(Sorry, dass soviele 'bestimmt' auftauchten.)
--Seelenleiden zu heilen vermag der Verstand wenig, die Zeit viel, entschlossene Tätigkeit alle.
Geändert von Sniez (26.10.2010 um 14:19 Uhr)
Sorry, ich versteh nicht so ganz, was das Event machen soll - eine festgelegte Route ist festgelegt, da braucht man keine Zeit zu bestimmen.
Möchtest du ein primitives Wegpunktsystem?
Wenns noch ums Springen an bestimmten Stellen geht wie weiter oben, da wäre es passend, wenn du einfach ständig (per PP) abfrägst, ob das Event die Klippe erreicht hat, und da dann halt sowas wie
Change Variable V1 = Event Blub XCoordinates
Change Variable V2 = Event Blub ÝCoordinates
fork (V1 = 5){
__fork (V2 = 7){
____Move Event Blub Start Jump ... End Jump
__}
}
(wenn die Klippe an Position 5/7 ist)