How can i make a functional keypad console to open doors with a password, using only blueprint ?
The idea is: A keypad system to use with any mesh (a cube, for example) for simply drag into level and set the “correct password” in a string text called “password”
What i figured out so far: The string text need to be “editable” to make the “defaut” password can be changed direct in the blueprint details , on the viewport. So far, so good. I create that string and making this editable and write the default value with “123”. I already have set up a static mesh as a base for the “keypad console” and attached this as static mesh to a components Tab of my blueprint “Key_Pad_One”
Now the big question: How i check , inside the blueprint, if the current password stored in “password” is equal to entered by the player inside the game ? And how to draw a numeric console to request current password (with or without that mesh i have mentioned before) when the player press “E” on keyboard, for example?
I already know how to call the Event Input pressing “E”, but, unfortunately, i can not figure out how to do the rest
I would suggest using a widget for this.
You can select a text box and read from that field.
Then in the keypad object implement an interface which returns the number, text or whatever you want to use.
Now let’s say you have a key pass element in front of you. If you look at it and press f (for example) do a trace and check if the object implements that interface (via “does implement interface”) and if it does receive the password from the function, open the widget and check if the input string matches.
Ok, and how to implement the interface for get the input text to compare with the string password? What a kind node/function i need to use for this ? I have no idea…
You answer did not help me in anything…If you see the prinscreen attached, i know what is a blueprint , and believe me, i already try to validade these strings in many ways in a blueprint / widget. If i do not really need help with this, i do not asked it in UE4 Answerhub
I thought from your previous question you’d have issues with the interface itself which is totally my bad.
A widget contains a “text block” in the menu on the left. Through this you can get strings (or text variables. I’m awfully sorry again as I forgot which exactly) with a binding fit it.
From there you have a variable and can check if it’s the same through a “equals” node.
I really hope I understood it correctly this time.
You are being kind of rude. I try my best to understand what exactly you want and explain it as well as possible for me. I try to be really polite and you respond like that.
Anyway here’s a video of a keypad I made in the last 10 minutes:
Here’s the link to the project:
Before you open it drop a “Starter Content” folder into it (from one of your projects) as I am using it but it’s always the same and 600MB large. I did modify the “MyCharacter” BP at the very bottom. Besides this all I used is in the “KeyPad” folder inside of the “Blueprint” folder.
Sorry about that, Erasio! i don´t really i express myself very well…It´s because i´m from Brazil, and the english language is kind difficult for me. I´m really sorry if i make this mistake, and you is a very (VERY) gentleman (did i write correct?)
In any case , i just want an blueprint example on how do that thing…anyway, thank you very much for your HUGE help to me.
Tks too for the project , you solved my question!
I liked very much your help and assistance. tks again, Erasio!
After added this changes on blueprint, i cannot understand how to invert the “open” text to “closed” text after leaving the trigger next to the door area.
I used the “timeline” to animate the door added in blueprint modification. When “Play” is activated, the “giant” door open and when the trigger area is left, i activated the “Reverse” in timeline.
I’m not sure what you mean. Do you want to change the text?
That’s a simple interface function. which then changes the text in the other actor. But you can implement it for everything. You can even do this for your doors instead of hardcoding it as you did in this example.
You can implement the interface in every actor and then use the “Event Use” in your event script which can then do everything. From then on you can just pick the actors like that guy in your video.
Also I would suggest calling the reverse only after you casted it at least to pawn or character or ideally check if it’s overlapping any characters or pawns. Because otherwise it will simply close if you shoot a projectile out of it or an AI walks out of it.