[RMVX ACE] TITLE SCREEN USING EVENTS.
Posts
Pages:
1
Here I am again, you guys really must be sick of me.
I'm making a custom title screen on RMVX Ace using events, I've got a method that works flawlessly on 2K3, but on VX Ace just will not play ball, the 'cursor' goes all over the place and it is driving me insane.
Cursor Y = 8 being New Game, Cursor y = 9 being Load Game, and Cursor Y = 10 being Quit Game.
The issue might come from VX Ace not having the key input process command that 2K3 had.
I'm making a custom title screen on RMVX Ace using events, I've got a method that works flawlessly on 2K3, but on VX Ace just will not play ball, the 'cursor' goes all over the place and it is driving me insane.

Cursor Y = 8 being New Game, Cursor y = 9 being Load Game, and Cursor Y = 10 being Quit Game.
The issue might come from VX Ace not having the key input process command that 2K3 had.
Let's take this apart.
So, first thing, the game checks to see if the up button is pressed. If it is, it captures the X/Y position of the cursor-event into variable #1 and variable #2 respectively. If the #2 (y-position) is 8, increment the Y-position by 3 more, then set the cursor to an X/Y position equal to #1 and #2 respectively. At this point, the Y-variable should be set to 11 when you do the Set Event Location.
Regardless of whither or not Y-position was 8, the Y-variable essentially decrements by 1 (you are allowed to just straight-up subtract rather than add a negative number), the Set Location is called again, putting the cursor-event at whatever values are stored there. The thought occurs to me at this point that, maybe, you want to decrement the Y-position when the variable is not 8, and just set the position to be... wherever it needs to be?
*Edit: So, my logic is that the reason it appears to jump all over the place is because of the Set Event Location commands that you're using. In the case of pressing up, it can appear at (X, 11), then goes to (X, 10). In the case of pressing down, it can appear at (X, 7), then goes to (X, 8).
*Edit2: Also, given from what I'm seeing of this code, I'm mostly sure you only need to capture the X-variable once. Ever. It's the Y-variable that changes!
So, first thing, the game checks to see if the up button is pressed. If it is, it captures the X/Y position of the cursor-event into variable #1 and variable #2 respectively. If the #2 (y-position) is 8, increment the Y-position by 3 more, then set the cursor to an X/Y position equal to #1 and #2 respectively. At this point, the Y-variable should be set to 11 when you do the Set Event Location.
Regardless of whither or not Y-position was 8, the Y-variable essentially decrements by 1 (you are allowed to just straight-up subtract rather than add a negative number), the Set Location is called again, putting the cursor-event at whatever values are stored there. The thought occurs to me at this point that, maybe, you want to decrement the Y-position when the variable is not 8, and just set the position to be... wherever it needs to be?
*Edit: So, my logic is that the reason it appears to jump all over the place is because of the Set Event Location commands that you're using. In the case of pressing up, it can appear at (X, 11), then goes to (X, 10). In the case of pressing down, it can appear at (X, 7), then goes to (X, 8).
*Edit2: Also, given from what I'm seeing of this code, I'm mostly sure you only need to capture the X-variable once. Ever. It's the Y-variable that changes!
I don't need to capture the X variable, but the tutorial that I read years ago recommended it, so I keep it just incase I ever need it.
but that's pretty much how it works. I've tried it with adding a negative value, and subtracting as well, and still the cursor either misses the middle variable altogether, or stays in he middle and at times won't budge, I have also tried where variables 8, 9, and 10 are replaced with 1, 2, and 3 and got the same results.
Edit: What seems to happen is the cursor moves really fast and uncontrollably, which leads me to think it's because the conditional branch is set to if the up and down keys are pressed. That's the only thing I can think of given that in 2K3, the event code works perfectly, and since the latest 2K3 update, any future games I make on that engine will implement this custom title screen code.
but that's pretty much how it works. I've tried it with adding a negative value, and subtracting as well, and still the cursor either misses the middle variable altogether, or stays in he middle and at times won't budge, I have also tried where variables 8, 9, and 10 are replaced with 1, 2, and 3 and got the same results.
Edit: What seems to happen is the cursor moves really fast and uncontrollably, which leads me to think it's because the conditional branch is set to if the up and down keys are pressed. That's the only thing I can think of given that in 2K3, the event code works perfectly, and since the latest 2K3 update, any future games I make on that engine will implement this custom title screen code.
Oh. Right. Yeah, the condition of "if <whatever> button is pressed" would return true as long as the button in question is pressed. There is no "pause" to see if it's released, then a re-check when buttons are pressed again, or what-have you. That might be a different process, but, I'm not sure what it is, or how to call it!
iirc you need to conditional branch->script
For it to read a push of a button without it counting as being pressed every frame.
Input.trigger? Input::Up
For it to read a push of a button without it counting as being pressed every frame.
I tried the conditional branch and the script but got an error:
Script'game_interpreter' line450: NameError occured
uninitialized constant Input::up
Now I know next to nothing about scripting, and am completely useless, what exactly went wrong, and why did the error occur?
Script'game_interpreter' line450: NameError occured
uninitialized constant Input::up
Now I know next to nothing about scripting, and am completely useless, what exactly went wrong, and why did the error occur?
I'm forgetting the proper constant for the Up button press in Ace, Input:: is vanilla VX I think. Try:
There's also
:DOWN
:LEFT
:RIGHT
:A
:B
:C
:X
:Y
:Z
:L
:R
:SHIFT
:CTRL
:ALT
:F5 - :F9
I remember C is confirm, L/R are shoulder buttons / page up/down, but I forget the rest. F1 should let you see what internal inputs are tied to what keyboard/gamepad buttons (but at this point it sounds like you just need the directionals)
Input.trigger? :UP
:DOWN
:LEFT
:RIGHT
:A
:B
:C
:X
:Y
:Z
:L
:R
:SHIFT
:CTRL
:ALT
:F5 - :F9
I remember C is confirm, L/R are shoulder buttons / page up/down, but I forget the rest. F1 should let you see what internal inputs are tied to what keyboard/gamepad buttons (but at this point it sounds like you just need the directionals)
Ok, I did that and that worked, thank you very very very much. I've been trying to sort this out all day. You're a godsend.
I'm goodish at eventing (well, with RM2K3) but this flummoxed me.
Thanks you again.
I'm goodish at eventing (well, with RM2K3) but this flummoxed me.
Thanks you again.
Pages:
1
















