Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

How would I make a conditional branch with RGSS?

Untra

Sponsor

I'm working on making a program that will make the screen flash every time I press a key on the keyboard. The only problem is I need to utilize almost every single key, and the normal RTP has input for only sixteen or so keys. My question is: Using what script, how would I be able to make the game check to see if each button is pressed, and utilize that to make a conditional branch?
http://i134.photobucket.com/albums/q98/ ... l/that.png[/img]
Thats currently what the event looks like. I would like to make it so that the event will
A.) Check to make sure the button is pressed
B.) Display the necessary image/s
C.) Wait a frame
D.) Check to see if the button is still being held down (pressed)
Ea.) If so, go back to C.
Eb.) If not, erase the image

I would to know how I would be able to do this with scripts, as so that I can utilize the entire keyboard. Can I do that?

Edit: This may need to be moved into a different forum. My bad if so.
 

poccil

Sponsor

Use the custom Input module I made.  In addition, add the following to a new script section (after the
custom module but before the last one in the script editor):

Code:
def anyKeyTriggered?
  for i in 0...256
    next if i<8 && i!=3
    return true if Input.triggerex?(i)
  end
  return false
end

It can be used in a Conditional Branch event command like this:

Code:
anyKeyTriggered?

EDIT:  After looking at what you're trying to do, the approach can be done differently (still using my custom Input module).  Replace "The Right button is being pressed" in your example with, for example, "Input.pressex?(0x52)" to check whether the R key (not R button) was pressed.
 

Untra

Sponsor

This helps, as it allows for more keys, but I need a way to utilize almost every single key on the keyboard.
I need these keys specifically:
` 1 2 3 4 5 6 7 8 9 0 - = {Backspace}
{Tab} q w e r t y u i o p [ ] \
{Caps Lock} a s d f g h j k l ; ' {enter}
{lShift} z x c v b n m , . / {rShift}
{UP} {DOWN} {LEFT} {RIGHT}
 

poccil

Sponsor

The number used in Input.pressex does allow for every key, even mouse buttons.  That number is a virtual-key code, for example, 0x52 is the virtual key code for the R key. I will reproduce the document on MSDN explaining virtual-key codes (only the relevant parts will be reproduced)
Code:
The following table shows the symbolic constant names, hexadecimal values, and 
keyboard equivalents for the virtual-key codes used by the Microsoft Windows 
operating system. The codes are listed in numeric order. 

Symbolic constant name	Value (hexadecimal)	Mouse or keyboard equivalent
VK_LBUTTON	01	Left mouse button 
VK_RBUTTON	02	Right mouse button 
VK_CANCEL	03	Control-break processing 
VK_MBUTTON	04	Middle mouse button (three-button mouse) 
VK_BACK	08	BACKSPACE key 
VK_TAB	09	TAB key 
VK_CLEAR	0C	CLEAR key 
VK_RETURN	0D	ENTER key 
VK_SHIFT	10	SHIFT key 
VK_CONTROL	11	CTRL key 
VK_MENU	12	ALT key 
VK_PAUSE	13	PAUSE key 
VK_CAPITAL	14	CAPS LOCK key 
VK_ESCAPE	1B	ESC key 
VK_SPACE	20	SPACEBAR 
VK_PRIOR	21	PAGE UP key 
VK_NEXT	22	PAGE DOWN key 
VK_END	23	END key 
VK_HOME	24	HOME key 
VK_LEFT	25	LEFT ARROW key 
VK_UP	26	UP ARROW key 
VK_RIGHT	27	RIGHT ARROW key 
VK_DOWN	28	DOWN ARROW key 
VK_SELECT	29	SELECT key 
VK_EXECUTE	2B	EXECUTE key 
VK_SNAPSHOT	2C	PRINT SCREEN key for Windows 3.0 and later 
VK_INSERT	2D	INS key 
VK_DELETE	2E	DEL key 
VK_HELP	2F	HELP key 
VK_0	30	0 key 
VK_1	31	1 key 
[.. and so on up to..]
VK_9	39	9 key 
VK_A	41	A key 
VK_B	42	B key 
VK_C	43	C key 
VK_D	44	D key 
VK_E	45	E key 
VK_F	46	F key 
VK_G	47	G key 
VK_H	48	H key 
VK_I	49	I key 
VK_J	4A	J key 
VK_K	4B	K key 
VK_L	4C	L key 
VK_M	4D	M key 
VK_N	4E	N key 
VK_O	4F	O key 
VK_P	50	P key 
VK_Q	51	Q key 
VK_R	52	R key 
VK_S	53	S key 
VK_T	54	T key 
VK_U	55	U key 
VK_V	56	V key 
VK_W	57	W key 
VK_X	58	X key 
VK_Y	59	Y key 
VK_Z	5A	Z key 
VK_LWIN	5B	Left Windows key (Microsoft Natural Keyboard) 
VK_RWIN	5C	Right Windows key (Microsoft Natural Keyboard) 
VK_APPS	5D	Applications key (Microsoft Natural Keyboard) 
 ¾ 	5E-5F	Undefined 
VK_NUMPAD0	60	Numeric keypad 0 key 
VK_NUMPAD1	61	Numeric keypad 1 key 
VK_NUMPAD2	62	Numeric keypad 2 key 
VK_NUMPAD3	63	Numeric keypad 3 key 
VK_NUMPAD4	64	Numeric keypad 4 key 
VK_NUMPAD5	65	Numeric keypad 5 key 
VK_NUMPAD6	66	Numeric keypad 6 key 
VK_NUMPAD7	67	Numeric keypad 7 key 
VK_NUMPAD8	68	Numeric keypad 8 key 
VK_NUMPAD9	69	Numeric keypad 9 key 
VK_MULTIPLY	6A	Multiply key 
VK_ADD	6B	Add key 
VK_SEPARATOR	6C	Separator key 
VK_SUBTRACT	6D	Subtract key 
VK_DECIMAL	6E	Decimal key 
VK_DIVIDE	6F	Divide key 
VK_F1	70	F1 key 
VK_F2	71	F2 key 
VK_F3	72	F3 key 
VK_F4	73	F4 key 
VK_F5	74	F5 key 
VK_F6	75	F6 key 
VK_F7	76	F7 key 
VK_F8	77	F8 key 
VK_F9	78	F9 key 
VK_F10	79	F10 key 
VK_F11	7A	F11 key 
VK_F12	7B	F12 key 
VK_NUMLOCK	90	NUM LOCK key 
VK_SCROLL	91	SCROLL LOCK key
 

Untra

Sponsor

Haha! Thats what I needed to know!
I took a look at the script and it had a few functions listed there for the normal RTP keys, but this certainly does work as the full keyboard! I might even be able to create a side event that will allow for the change in hue of the flashing colors via means of the mouse wheel. Awesome!
Topic is resolved. And bookmarked.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top