RPGVX.net

  RPG-Maker VX => VX Technik [Frageforum] => Thema gestartet von: rayman am September 18, 2010, 15:51:34

Titel: Event KS Kombosystem
Beitrag von: rayman am September 18, 2010, 15:51:34
Ich brauche für mein Event KS ein Kombosystem, und zwar:

Wenn man einmal schlägt, hat man z.b. 10 frames zeit um nochmal die Schlagen Taste zu drücken. Wenn es getan wird, macht man noch einen Schlag mit einer anderen Animation. Das soll man 2 mal machen können, also eine 3er Kombi.
Nur irgendwie kriege ich es nicht hin, egal was ich versuche -.-
Kann mir jemand helfen?

Mfg

Ray
Titel: Re: Event KS Kombosystem
Beitrag von: FlipelyFlip am September 18, 2010, 16:36:14
conditional Branche --> dritte Seite, bei Script den punkt hinmachen und folgendes eingeben:

Input.repeat?(Input::C)

soferns für die Entertaste gedacht ist (=

lg flip
Titel: Re: Event KS Kombosystem
Beitrag von: rayman am September 18, 2010, 16:57:15
Danke =D
Kann man das auch noch mit einem wait machen? Also dass man Zeit hat. Denn das sieht so aus, als müsste man sofort nacheinander drücken^^
Titel: Re: Event KS Kombosystem
Beitrag von: FlipelyFlip am September 18, 2010, 16:59:20
sind ca 0,3 sek zeit dafür /= länger geht leider nicht mit dem Standardbefehl /=
Titel: Re: Event KS Kombosystem
Beitrag von: Devoli am September 18, 2010, 17:00:27
Ich glaub das mit der Zeit verzögerung wird nicht so leicht gehen ._.
Aber da 10 Frames nicht allzu viel ist könnte man darauf auch verzichten ^^

Aber für komboangriffe würde ich sagen (musst du nicht machen ^^) wären 2 Tasten die man drücken muss spannender.
Da werden dann 2 Conditional Branches ineinander verschachtelt die die jeweiligen Tasten abfragen. Sollte mit den gleichen Tasten eigentlich auch gehen. Da wird es aber glaub ich auch ausgelöst, wenn du die Taste gedrückt hälst ._.
Titel: Re: Event KS Kombosystem
Beitrag von: Ðeity am September 18, 2010, 17:23:39
Ich würde vllt ganz anders, an das Ganze rangehen. Habe dir mal ein Bild gemacht, welches dir ein Denkanstoss geben soll. Ich denke es ist selbsterklärend, falls du aber dennoch Fragen hast, wäre ich natürlich bereit, es ausführlicher zu erklären.

(http://250kb.de/u/100918/p/7u0uC9kx3QPV.png)

Habs gerade mit einfachen Messageausgaben probiert und es funktioniert soweit. Was ich noch sagen muss, ist aber, dass 10 Frames nicht reichen glaube ich, um einen erneuten TAsteninput zu überprüfen. Ich würde vllt die Wartezeit erhöhen.

MfG
Deity
Titel: Re: Event KS Kombosystem
Beitrag von: rayman am September 18, 2010, 17:57:05
Ich habe jetzt mal beide Sachen probiert, und beides funktioniert nicht >.<
Und ich blicke sogar selber nicht mehr wirklich durch V_V
Titel: Re: Event KS Kombosystem
Beitrag von: Ðeity am September 18, 2010, 18:09:22
Also bei mir funktioniert es, allerdings mit mehr als 10 Frames Zeit zum drücken und Messages, was ja eig nicht weiter schlimm ist.
DIe Idee:
Eine Variable speichert die vergangenen Frames. Wird C gedrückt und es ist die erste Attacke von den dreien, so wird eine zweite Variable, die die Anzahl der Komboangriffe speichert um 1 erhöht. Der 1. Angriff wird ausgeführt und die Variable, die die Frames zählt wird auf 0 gesetzt.
Ist es nicht der erste Angriff, spreich die 2. Variable ist nicht 0, wird erstmal abgefragt, ob die Wartezeit noch nicht vorbei ist. Ist die Wartezeit vorbei, wird der Kombozähler (2. Variable) wieder auf 0 gesetzt. Wenn man noch Zeit hat, wird abgefragt welchen Wert die 2. Variable hat. Dementsprechend wird der nächste Komboangriff ausgeführt. Und wieder wird die Framesvariable auf 0 gesetzt und die Kombozählvariable um 1 erhöht. Nun wird der letzte Schritt so lange wiederolt, bis die letzte Attacke drann ist. Diesmal gibt es nur einen Unterschied, die Kombozählvariable iwrd nicht erhöht, sondern auf 0 gesetzt.
Vllt wird es jetzt klarer. Es funktioniert schonmal bei mir.

Was bei dir nicht stimmen könnte wären folgende Sachen:
1. Du hast bei der ABfrage, ob die Taste gedrückt wurde, den standart Conditional Branch benutzt und nicht wie ich Input.trigger?(Input::C). Der unterschied ist, dass die ABfrage vom CB auch das gedrückt halten der Taste als true zurück gibt.
2. Die Wartezeit in Frames ist zu niedrig. Man braucht schon etwas Zeit, 10 Frames sind nicht mal eine halbe Sekunde. ;)

MfG
Deity
Titel: Re: Event KS Kombosystem
Beitrag von: rayman am September 18, 2010, 18:19:27
Ja, ist mir klar xD
Aber i-wie muss man dann immer laufen und dann Q (andere Taste^^) und W gleichzeitig drücken xD
Und die zweite Komboattacke wird automatisch ausgeführt -.-
Also das klappt alles nich soo ganz -.- Ich probiers am besten noch mal selber ^^
Titel: Re:Event KS Kombosystem
Beitrag von: Chaos Boy am September 24, 2010, 14:31:38
Deitys Lösung ist soweit richtig.
Nur eins wurde nicht beachtet.
Der Maker hat nur eine Eigenart: Wenn man auf der Taste drauf bleibt wird sie erneut als gedrückt anerkannt.
Sprich: Drückt man C wird der 1 Schlag ausgeführt. Bleibt man weiterhin drauf oder ausversehen zu lange wird der 2 Schlag sofort danach auch ausgeführt.
Kann man aber auch verhindern indem man sagt: Wenn C gedrückt wird, Set Variabel "Schlag beginnen" to 1.
Danach sagt man im Else Case (also wenn C nicht gedrückt wird) Wenn Variabel "Schlag beginnen" = 1 und dann den Code von Deity.
Titel: Re:Event KS Kombosystem
Beitrag von: Ðeity am September 24, 2010, 16:28:24
Das habe ich ja beachtet und als COnditions, Ruby benutzt. ^^
Zitat
Was bei dir nicht stimmen könnte wären folgende Sachen:
1. Du hast bei der ABfrage, ob die Taste gedrückt wurde, den standart Conditional Branch benutzt und nicht wie ich Input.trigger?(Input::C). Der unterschied ist, dass die ABfrage vom CB auch das gedrückt halten der Taste als true zurück gibt.

Das korrigiert das ganze und erspart die Variablensache.

MfG
Deity
SimplePortal 2.3.3 © 2008-2010, SimplePortal