PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Event vor Held setzen?



Mani
24.06.2007, 21:35
Hallo, ist es irgendwie möglich, ein Event vor den Held zu setzen, sodass er nicht mehr weitergehen kann, nur wenn man eine Taste drückt? (Aber nicht einfach ein Ereignis vor den Held setzen xD, so meinte ich das nicht ^^)

Freue mich über jede Antwort, danke im Vorraus!

Frozen Bambi
24.06.2007, 21:50
Ja.
Das Events muss aber vorher schon auf der Map existiert ham,Events "erstellen" geht im 2k,2k3 nit.
Du speicherst die Koordinaten deines Helden in zwei Variablen (X Korod,y Koord)
(Chance Variable Scene X,Scene Y / oder X Coordinate,Y Coordinate musste probieren was richtig ist ich brings dauernd durcheinander).
Dann änderst du X,Y um +1/-1 je nachdem ob das Event über unter rechts links vom Held ist und nutzt den Set Event Place (oder so) Befehl und lässt das Event auf diese Variablen setzen.
Hoffe das war irgendwie verständlich O,o

Eleganter gehts mit nem autostartenden Event (oder on hero Touch) mit einer Tastenabfrage.
So ungefähr:
Label 1
Menü (Tastenabfrage)
If Tastenabfrage = 5
Switch (weiter gehts) on
End Case
Go to Label 1

Auf Seite 2 dann als Startvorraussetzung Switch weiter gehts on unn jo..

Mani
24.06.2007, 21:57
Danke für die schnelle Antwort, ich nehm die elegantere Lösung :D

Mani
25.06.2007, 21:08
Ich hätte da noch eine Frage: Die elegantere Lösung funktioniert fast bei mir, nur wie kann ich das machen, dass der Held nachdem ich Enter gedrückt habe, trotzdem das Event vor ihm hat und nicht weitergehen kann?

Denn bei mir funktioniert es so: Ich drücke Enter, der Held bewegt sich nach vor, aber ich kann danach trotzdem mit den Pfeiltasten weitergehen...

Danke im Vorraus!

Frozen Bambi
26.06.2007, 14:51
Du willst,dass er auch NACH dem Drücken nich weitergehn kann?Oo
Warum sollte er dann drücken? XD
Najo dann muss wohl Lösung Nummer eins ran bzw du fügst bei
if blablub = 5
-da die unelegenate Lösung-

Mani
26.06.2007, 18:22
Jop, also dass der Held immer nur mit der Enter Taste nach vor gehen kann. Bleibt mir wohl nichts anderes übring, danke!

Frozen Bambi
26.06.2007, 19:07
Aso der Held soll dauerhaft nur per Entertaste bewegbar sein?
Also dass man Entertaste klickt dadurch bewegt er sich,dann wieder Enter wieder bewegt er sich,so?

Mani
27.06.2007, 17:21
Also immer wenn man Enter drückt, geht der Held einen Schritt nach vor. Man sollte ihn nicht mit den Pfeiltasten bewegen können.

makenshi
28.06.2007, 03:06
Das würde ich an deiner Stelle komplett anders lösen.
Bau dir einfach einen PP der praktisch die komplette neue Steuerung des Helden darstellt.



Steuerung - PP - Keine Startbedingungen

Enter PW[0001:PW_Vari]

IF [0001:PW_Vari] == 1 // unten
Move Event: Hero,Wait|Pause
ELSE
IF [0001:PW_Vari] == 2 //links
Move Event: Hero,Wait|Pause
ELSE
IF [0001:PW_Vari] == 3 //rechts
Move Event: Hero,Wait|Pause
ELSE
IF [0001:PW_Vari] == 4 //unten
Move Event: Hero,Wait|Pause
ELSE
IF [0001:PW_Vari] == 5 // Enter
Move Event: Hero,MoveUp,Ignore impossible movement
Move all
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF



Wenn der Spieler nun irgendeine andere Taste drückt als Enter, dann passiert einfach nichts. Wenn er Enter drückt, dann wird der Held um eins nach vorne bewegt. Durch das "Ignore impossible movement" schaltet man zudem noch den Fehler aus das der Held auf ein geblocktes Tile laufen will und sich dadurch das Spiel aufhängt.

Kelven
28.06.2007, 09:39
Und das funktioniert mit einem PP? Ich hab die Erfahrung gemacht, dass man durch Tastaturbashen PPs leicht aushebeln kann. Deswegen werden afaik in Maker-Jump'n Runs meistens Autostart-Prozesse benutzt, wenn die normale Steuerung ersetzt werden soll.

makenshi
28.06.2007, 11:43
Und das funktioniert mit einem PP? Ich hab die Erfahrung gemacht, dass man durch Tastaturbashen PPs leicht aushebeln kann. Deswegen werden afaik in Maker-Jump'n Runs meistens Autostart-Prozesse benutzt, wenn die normale Steuerung ersetzt werden soll.

Hm, da war ich gestern Nacht schon zu müde für um das noch auszuprobieren.
Habs grad mal ausprobiert, wenn man wie bescheuert alle Pfeiltasten gleichzeitig bedient, dann bewegt sich der Held trotzdem. Sprich wenn man die Steuerung wirklich fast überlastet.

Also Autostart rein. Dann gibt es keine Umgehungsmöglichkeit für.

Mani
28.06.2007, 15:31
Danke für die Ausfühliche Erklärung. Werde es sofort ausprobieren! :)

Edit: Sollte mit //unten und das ein Bewegungsevent gemeint sein? Wie kann man das mit der Enter taste machen? F [0001:PW_Vari] == 5 // Enter
Move Event: Hero,MoveUp,Ignore impossible movement
Move all

makenshi
29.06.2007, 22:28
Die Sachen die ein // davor haben sind Kommentare.
Sie sind also kein Makercodes. Sie stehen da lediglich um den Pseudocode lesbarer zu machen.

Der Enter PW funktioniert übrigens wie folgt:
Die Variable die du beim EnterPW Befehl einstellst, empfängt nun die Daten einer Tastatureingabe des Spielers. Je nachdem welche Taste der Spieler drückt wird eine andere Zahl in diese Variable geschrieben.
1=unten,2=links,3=rechts,4=oben,5=enter,6=esc

Die Forks fragen nun also ab auf welcher Zahl die Variable steht. Das was im Fork steht wird dann entsprechend ausgeführt. Ergo wird das ausgeführt was im
"IF [0001:PW_Vari] == 5 // Enter" Fork steht, wenn die Entertaste vom Spieler gedrückt wurde.

Beantwortet das denn deine Frage? Verstanden wie du das nun machen musst?

Mani
30.06.2007, 11:01
Das nenn ich mal eine Ausführliche Erklärung, ich glaub ich habe alles verstanden, falls noch etwas sein sollte, melde ich mich hier wieder.

Danke! :)