![]() |
|
RPG Maker Technik (2K/2K3) Stellt hier eure Fragen zur Technik des RPG Maker 2000 und 2003; Er will nicht so wie ihr? Ihr könnt ein Chipset nicht importieren oder versteht ein Script nicht? |
![]() |
|
Themen-Optionen |
![]() |
#1 |
Krieger
![]() Registriert seit: 13.06.2006
Beiträge: 337
|
![]() Hi allezusammen,
ich hab hier eine Frage/Problem zum Thema "eigens Menu". Und zwar ist das Problem, dass wenn man das Menu mit einem Knopfdruck öffnet und sich während dessen auf ein "TouchEvent" zu bewegt, dann wird das Menu trotzdem geöffnet, weil das "Menu-verbot-switch" erst beim "TouchEvent" aktiviert wird, dieser aber im Moment des Menuöffnens noch nicht aktiv war. Das Menu wird via "KeyInputProcess" im "CommonEvent" abgefragt. Ich weiß nicht wieviele Leute ein Problem damit haben, aber bisher war dies immer mein größter Feind in Sache "Menu selber machen", und ich hab auch gemerkt das in Projekten von Anderen dieses Problem auffindbar ist. Ich hoffe i-jmd kennt eine Möglichkeit dieses Problem zu umgehen, da man dadurch einfach "TouchEvents" austricksen könnte.
__________________
Dieser Platz ist für eine Signatur gedacht. Da sich Tyraxx aber nichts tolles einfallen lassen konnte, steht hier nicht mehr als nur diese Nachricht hier: "[ Hier bitte Nachricht einfügen ]" |
![]() |
![]() |
![]() |
#2 |
Paladin
![]() ![]() ![]() ![]() ![]() Registriert seit: 30.05.2002
Ort: Wuppertal / Aachen
Alter: 29
Beiträge: 2.471
|
![]() Hm, das sieht schwierig aus, denn wenn das CommonEvent (Typ: AutoStart) bereits läuft, dann werden zumindest die aktuellen Bewegungen noch zuende ausgeführt.
Das einzige, was ich mir vorstellen könnte, wäre, dass du im Touch-Event prüfst, ob das Menü bereits ausgeführt wird (ist ja ein Schalter). Dann gehst du einfach in eine Schleife mit Wait 0.0 und verlässt die Schleife, wenn der Schalter wieder deaktiviert ist. Müsste in etwa so aussehen: Code:
Wenn MenüSwitch = An Schleife Beginn Warte 0.0 s Wenn MenüSwitch = Aus Verlasse Schleife Ende Wenn Ende Schleife Ende Wenn - Der eigentliche Eventcode - ... MfG Bananen-Joe
__________________
Bananen-Joe's DestinyPatch v2.0 Schöne Grüße an den Menschen ohne RL, die Steinfrucht, den ollen Teetrinker aus Hamburg und den Paranoiden mit Zyklon. |
![]() |
![]() |
![]() |
#3 |
Krieger
![]() Registriert seit: 13.06.2006
Beiträge: 337
|
![]() OK, ich hab es jetzt anders gemacht:
Unzwar hab ich einfach jegliche "BelowHero Touch Events" (inkl. Teleport event) auf same layer gesetzt, diese können nur durch's Berühren ausgelöst werden. Das Event beinhaltet dann ein MoveEvent welches den Hero auf das Event bewegt. Dadurch hat der Spieler das Gefühl er selbst würde auf das event gehen, jedoch ist eine Täuschung und man merkt es garnicht. Ich hoffe nur dass diese Alternative die Probleme lösen wird. Code:
<> Fork Condition: If Event was started using action key then ... <> : Else ... <> Change Switch: [43] = ON <> Move Event: Hero, Frq 8, Pattern: Phas. mode on, Mv frwd, Phas. mode off <> Wait: 0,1 sec. <> Erase Screen: Default <> Teleport: Map #1, (58, 32), Face left <> Show Screen: Default <> Change Switch: [43] = OFF <> : End of fork
__________________
Dieser Platz ist für eine Signatur gedacht. Da sich Tyraxx aber nichts tolles einfallen lassen konnte, steht hier nicht mehr als nur diese Nachricht hier: "[ Hier bitte Nachricht einfügen ]" Geändert von Tyraxx (22.01.2012 um 13:20 Uhr). |
![]() |
![]() |
![]() |
#4 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Registriert seit: 04.10.2007
Ort: Österreich/Salzburg/Pongau
Alter: 23
Beiträge: 1.183
Blog-Einträge: 1
|
![]() Da gibts eine einfache Möglichkeit: Warten, bis der Held den Schritt vollendet hat.
Pseudocode: PARALLEL PROCESS EVENT: If Switch Menü == OFF Then ..Key Input ESC ..If ESC pressed Then ....Move Event Hero: Wait a moment // Damit kein weiterer Schritt begonnen werden kann nachdem der aktuelle fertig ist ....Loop ......Var X = Hero Scene X ......Var Y = Hero Scene Y ......Wait 0.0 ......Wait 0.0 // SIEHE BEMERKUNG UNTEN ......Var X2 = Hero Scene X ......Var Y2 = Hero Scene Y ......If X == X2 And Y == Y2 Then ........Break Loop ......End If ....End Loop ....Wait 0.0 // Nötig damit das Touchevent Zeit hat, ev. den MenüVerboten-Switch zu setzen ....If Switch MenüVerboten == OFF ......Switch Menü = ON ....End If ..End If End If AUTOSTART-EVENT: Startbedingung: Switch Menü == ON ...Hier Menü-Code (Am Ende Switch Menü = OFF machen) Die "BEMERKUNG" ist: Ich habe oben 2 Wait 0.0 verwendet. Das reicht für einen minimalen Heldenspeed von "4x Slower". Wenn der Held irgendwann "8x Slower" eingestellt haben kann, musst du 4x Wait 0.0 verwenden. Wenn der Minimale Speed "2x Slower" oder schneller ist, reicht 1x Wait 0.0. (Je mehr Wait 0.0's da sind, desto träger wirkt der Menüaufruf.) mfG Cherry
__________________
|
![]() |
![]() |
![]() |
#5 |
Krieger
![]() Registriert seit: 13.06.2006
Beiträge: 337
|
![]() Stimmt, dass mit der wait hab ich auch schon bedacht.
Nur hab ich nicht dran gedacht die Pos des Helden eninfach in Var. zu speichern und dann zu branchen. Jedenfalls habe ich das Problem jetzt mit dem oben genannten Code gelöst, obwohl - Cherry - dein Code schlauer ist. Mal schauen ob ich es noch ändere, hab jetzt nämlich mühevoll alle "Below Hero touch events" mit dem vom mir bereits genannten Code aktualisiert.
__________________
Dieser Platz ist für eine Signatur gedacht. Da sich Tyraxx aber nichts tolles einfallen lassen konnte, steht hier nicht mehr als nur diese Nachricht hier: "[ Hier bitte Nachricht einfügen ]" |
![]() |
![]() |
![]() |
#6 |
Goblin
![]() Registriert seit: 12.03.2010
Alter: 25
Beiträge: 124
|
![]() Ich persönlich würde mir ein "Call Event" machen. z.B. "Szene an" Dabei werden dann switches ausgeschaltet, die das öffnen des menüs überhaupt ermöglichen, ODER es wird ein Switch eingeschaltet, der das Öffnen des Menüs verhindert.
Wenn der Schalter [Blocker] aus ist, dann folgt das Menüeventbefehlchen. Im Else case einfach alle Menüaktivierungsschalter ausschalten und das Event beenden. Nach der Szene einfach wieder Call Event "Szene aus", welches das Gegenteil von "Szene an" ist. Ist nur mal schnell geschrieben. LG MajinSonic
__________________
Homepage:http://www.unleashingofchaos.de/ Email: [email protected] Facebook: http://www.facebook.com/pages/Unleas...26091?ref=hnav |
![]() |
![]() |
![]() |
Lesezeichen |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
|
|