Keyboard Input Window - for RPG MAKER MV/MZ
A downloadable RMMV/RMMZ - Plugin
Updated to version v1.1.0! Added Rpg Maker MZ support!
GENERAL
Keyboard Input Window is a plugin that creates a window that allows keyboard typing and store the result inside an in-game variable.
This plugin can be used for different tasks and, if you have a little script knowledge, you have a ton of chances!
Main Features:
- Fast response to keyboard typing;
- You can call it using a script call;
- You can set the position of the window;
- You can set a placeholder text;
- The width of the window is automatically calculated in relation to the max characters of the string;
- You can set the max characters for the text to be typed;
- The opacity of the window can be set, too.
- It's possible to transform the result string all to lower case;
PLUGIN PARAMETER:
This plugin is provided by a single plugin parameter called Allowed Charset. Inside this parameter you can set which letters, symbols and such can be typed in the window. The ones that are not inserted in the parameter string will not be typed.
HOW TO USE:
This plugin is really simple to use. You have only to type in a script box of an event this script call:
this.create_key_window();
Using the script call this way, the default configuration will be used. However, It's possible to use the script call inserting as argument an object containing different options, like that:
In the example above, It will be created a window with as placeholder the text "Type a secret word..." and the max characters that can be typed to 32.
Specifically, all the options available - and their default value - are:
WARNING! All the properties are CASE SENSITIVE, meaning that they needs to be correctly written.
Down there an event example for setting an an actor name through this method:
The event above creates Keyboard Input Windows that has as placeholder the string "Set the actor name..." and It stores inside the variable of ID 5 a string that has max 32 characters.
PLUGIN COMPATIBILITY:
This plugin should not affect directly any plugin. However, I'm not responsible for plugin errors that are not directly related from my plugin itself.
RPG MAKER VERSION:
The plugin is developed on Rpg Maker MV - Version 1.6.1 and with the related PIXI.js Version 4.5.4. It should be compatible with older version of Rpg Maker MV.
Version 1.1.0 -> The plugin has been updated for supporting RPG MAKER MZ! The plugin has been tested and updated on the latest version of the engine v1.4.3.
TERMS OF USE:
- Credits are not necessary. but highly appreciated. Credits to Bluemoon.
- Avoid to change plugin information, filename and parameters name for the sake of integrity of the code.
- Edits to the code are allowed.
- The plugin can be used for both commercial and non-commercial projects.
- You can't redistribute this plugin as it is or incorporating portion of the code inside another plugin;
Thank you very much for the support!
Status | Released |
Category | Tool |
Rating | Rated 5.0 out of 5 stars (3 total ratings) |
Author | BlueMoon (Nebula Games) |
Made with | RPG Maker |
Tags | 2D, game-development, mv, plugin, plugins, RPG Maker, RPG Maker MV, rpgmakermv |
Links | Twitter/X |
Purchase
In order to download this RMMV/RMMZ - Plugin you must purchase it at or above the minimum price of $2.99 USD. You will get access to the following files:
Development log
- Update v1.1.0! Code update and MZ support!Jan 27, 2022
Comments
Log in with itch.io to leave a comment.
Hello, this plugin is exactly what I needed, but there seems to be a problem.
If nothing is typed and you press Enter, an error occurs.
I also noticed that I can't close the window by pressing Cancel.
Any suggestions on how to resolve this?
I might be missing something, but how do you detect whether or not the player put in the right answer to a questions? (I.E. when the secret word is apples).
You can do this using the "Conditional Branch" event command. I usually suggest to use the "Script" section and check the variable used for registering the input.
So you'll have:
$gameVariables.value(variable_id).toLowerCase() === "your word all lowercase".
This way you'll make the check not case sensitive. If you need a case sensitive check remove the "toLowerCase()" function.
I'm still having issues getting what the player writes detected. Could you use the example but show what it would look like with variables placed in it? I'm clueless when it comes to scripting.
Is there a way to prevent the player from doing a space in the text? The plugin is perfect otherwise but this single thing makes it unusable for me :( Thank you!
Hey!
I'm sorry but currently there is not a feature that prevents the use of spaces :(
I know that is just a random suggestion but you can try to solve the problem in a design way like guiding your player in searching for keywords that are not separated by spaces. Or better you can use a trick but you have to be good with the organization of conditional branches.
Using the "Script" section of conditional branches you can check the variable used for registering player's inputs this way:
$gameVariables.value(variableId).contains(" ")
This way you'll check if the prompt of the player contains at least a space. If it happens you can like retrieve a "system message" (a simple show text or what you want considering your game) that warns the player that "Spaces are not allowed!"
Good luck!
Salute e grazie per questo magnifico plugin!
Volevo chiederti se è possibile fare in modo di rimuovere il bordo nero delle lettere quando si inserisce il testo/password.
Volevo imitare l'effetto di una password inserita a PC, ma purtroppo il plugin GALV_MessageStyles non si attiva con le parole inserite col tuo plugin.
C'è la possibilità di rimuovere tale bordo, solo quando inserisco la password?
Ti ringrazio in anticipo del tuo tempo.
Sinceri saluti.
Buongiorno e ti ringrazio per aver scelto questo plugin!
Purtroppo il plugin non è dotato di un sistema di personalizzazione dell'UI. Però dovrebbe comunque essere compatibile con tutti i plugin che direttamente intervengono sulla Windowskin ed in generale sulla classe Window dal punto di vista stilistico. Non so perché nello specifico Galv_MessageStyles non sia compatibile (forse questo dipende dall'utilizzo di notetag? Non saprei). Comunque ti consiglio di spulciare il web e sono sicuro che potresti trovare plugin che permettono personalizzazioni ad-hoc.
Saluti!
Grazie della dritta!
Ho fatto a pezzi un altro plugin per questo scopo, mettendo parte del suo plugin come script, e funziona!
Grazie davvero per non avermi messo nel dimenticatoio! xP
E qualsiasi cosa stai facendo, ti auguro che vada per il meglio! \^O^/
Heya! It's been a while. Can you help me with the script part? I want to print the input to a text or choice window, but I do not know how. Any help will be greatly appreciated!
Hey! Sorry for the late reply!
If I understand your question you want just to show the content of player's prompt into the text of message or choice windows.
You can just use escape codes with the variable ID used for registering the player's prompt.
Like:
"Hey! This is the text you have typed: \v[variableId]" where "variableId" is the ID you've used for saving player's input.
Good luck!
hello, I love this plugin, but I have a problem, if I run it on android, the player can't write. Is there any script that shows the mobile or game keyboard?
Thank you very much :)
Hello!
Thank you very much for your kind support 🙏. For Android, this is not really plugin related since it's a known limit of HTML5 technologies that are the base of RPG Maker exports. Indeed, VirtualKeyboard API would be the starting point of making Rpg Maker applications compatible with Android keyboard - because it allows control over the keyboard itself -. However this API was not available at the time of the plugin and today is still an experimental feature.
Unfortunately on my knowledge there is not too much that it's possible to do on the technical side.
However, some time ago a friend of mine surpassed this problem using plugins that allows to bind pictures on screen forcing the execution of a common event on touch (like VisuStella common events if I remember correctly).
In a few words, he created a board with key's pictures binding them to a common event that was adding a character (like result_string += "a") every time the pictures were pressed. This is a matter for expert eventers that has at least a little knowledge of JS too... but I think you can find your own way if you may be interested in this kind of systems :)
Thank you again!
Ooh I understand, mmm thank you very much 🐈 I guess even if I don't know Js I'll try it anyway, after all I find it a very nice thing to do 🥰 although complex.
I think I'll try to study to be able to expand to more development programs like Game maker for example 😅 although for now I'll keep developing in RPG maker ❤️
Works perfectly! Would love to see an option for the text to scroll when overflowed ^_^
Thank you for your feedback!
I'm adding this to my todo since I'm planning to do some products update as soon as I get free from some life duties. Thank you again for choosing my plugin!
This is absolutely wonderful, thank you! I bought it, downloaded it, and started doing all sorts of wonderful things with this. I appreciate this a lot!
Is there a way to interrupt the input of a textbox, such as if the player runs out a timer?
Hello there!
Thank you so much for your feedback. About your question, currently, there Is not a feature of this sort. Actually, there could be a way if we try to combine eventing with Keyboard Windows inner methods (ex. Having an event in loop that checks for the Activity of the keyboard Window and then forces the "confirm" method of the Window After a Number of cycles).
However, it's a try and catch application and for a released game could not be as much as solid as needed. But, I take note of your idea and, when I'll get free from some job duties I Will push the update for this plugin including a system for interrupting typing :)
Thank you!
That's a bit unfortunate, but I'll wait patiently for if you decide to follow up on it. Thank you very much for the response, and thank you again for your hard work on this plug-in!
I wish there was a tutorial on how to set up the secret word! I'm lost lmao, I can only get the window up and be able to type in it, but not actually be connected to a word :c
Yeah, I'm trying to figure that out myself
Hello! I'm sorry for the late reply, I lost your comment.
So, about your question. It's actually pretty simple because it's just a Conditional Branch using the Script field in the fourth page of branch configuration.
So, if the variable where you set the typed value is the variable of ID 1 you will have this script:
where:
Finally, your secret word inside quotation marks :)
Cheers!
Thank you so much! This actually helps a lot.
I wonder does it works for self variables? I use self variables declared in name of variable as "<self> name" from VisuStella. Will it work as self names for events?
hi! That's difficult to tell since self variables are not something that Is available as default by Rpg Maker. If this is something that could be eventually compatibile with the default variable system, It could be possible, but i can't tell for sure.
This plugin works wonder when running on a PC. When I try to run through a browser on mhy mobile (Android or iOS) the keyboard does not come up. This is a big pity for me because all the other plugins for the (normally simple) task of inputting a string take many seconds to process or clutter the screen with lots of keys. Am I doing something wrong?
Hi,
recently bought this plug in for my game. Im trying to use in dialogue where certain words can trigger an event or another dialogue branch and also to be used as entering a password. could you point me in the right direction on how to achieve this? thank you
Hi!
I just bought your plugin: the default version works but not personalized ones; like this one under. I rechecked again but I don't see the problem. I don't have a SyntaxError, the window just don't open and the event goes on.
Also, could you tell me what is the script call to verify the word that people type?
To verify when I type "Test", I tried in a conditional branch to type under Script: $gameVariables.value(20) == "Test"
But this doesn't seem to work. Any help would be appreciated, thanks again!
Hi there! Sorry for the late reply. Inside your config I can se an error. "letter_sound" is not an option for setting a custom sound letter, but only for enabling/disabling it (true or false). Right now, the plugin can't set custom letters' sound, but as It's a feature that has been requeasted by a lot of customers, I was planning to add it inside a quality of update of the plugin.
Right now I'm quite busy, but I was thinking to make some plugins' updates next week. Hopefully, I will make the update of this one, too :D
Hi! So sorry to bother you with this quite insignificant mistake! That's a great plugin!
(I'll be there to follow the updates if you make some, thank you a lot!)
Not a problem, thank you very much for your feedback and for using the plugin!
Hello! Whenever I try to use your plugin, it says:
Syntax Error
Unexpected Number
Any ideas on how I can fix this?
Hello there!
Thank you for reporting! Can you show me the settings you use for calling the window?
There is an syntax error inside the script call. You have missed the double dots (:) after the variable declaration. Moreover, you have called the variable "option" but you have assigned to the method "options". So, it should work good if you correct the code this way:
var options = {
placeholder: 'What is your name?',
max_characters: 10,
variable : 11
}
EDIT :
You have assigned variable 11, but you're calling in the variable "name" the variable of ID 5. The correct format would be :
var name = $gameVariables.value(11)
Ah yes, it works perfectly now! Sorry for bothering you with this small mistake. Thank you so much for a great plugin!
It's not a problem!
Thank you so much for the support!