When creating a story or game, there might be a need to have the player input a lock combination or solve a mathematical problem. One way to approach this issue is with creating a "keypad" set of inputs for the numbers 0 through 9 and have the player click on them in turn. [[Keypad]]Enter the three-digit combination <div class="entry">[***]<entry|</div> <table> <tr> <td>(link-repeat: "1")[(display: "NumberOne")]</td> <td>(link-repeat: "2")[(display: "NumberTwo")]</td> <td>(link-repeat: "3")[(display: "NumberThree")]</td> </tr> <tr> <td>(link-repeat: "4")[(display: "NumberFour")]</td> <td>(link-repeat: "5")[(display: "NumberFive")]</td> <td>(link-repeat: "6")[(display: "NumberSix")]</td> </tr> <tr> <td>(link-repeat: "7")[(display: "NumberSeven")]</td> <td>(link-repeat: "8")[(display: "NumberEight")]</td> <td>(link-repeat: "9")[(display: "NumberNine")]</td> </tr> <tr> <td>(link-repeat: "Clear")[(display: "Clear")]</td> <td>(link-repeat: "0")[(display: "NumberZero")]</td> <td>(link-repeat: "Enter")[(display: "Enter")]</td> </tr> </table>{ (set: $entry to "") (set: $entryLength to 3) (set: $solution to "123") }{ (if: $entry's length < $entryLength)[ (set: $entered to 2) (set: $entry to it + (text: $entered) ) (replace: ?entry)[$entry] ] }{ (if: $entry's length < $entryLength)[ (set: $entered to 3) (set: $entry to it + (text: $entered) ) (replace: ?entry)[$entry] ] }{ (if: $entry's length < $entryLength)[ (set: $entered to 1) (set: $entry to it + (text: $entered) ) (replace: ?entry)[$entry] ] }{ (if: $entry's length < $entryLength)[ (set: $entered to 4) (set: $entry to it + (text: $entered) ) (replace: ?entry)[$entry] ] }{ (if: $entry's length < $entryLength)[ (set: $entered to 5) (set: $entry to it + (text: $entered) ) (replace: ?entry)[$entry] ] }{ (if: $entry's length < $entryLength)[ (set: $entered to 6) (set: $entry to it + (text: $entered) ) (replace: ?entry)[$entry] ] }{ (if: $entry's length < $entryLength)[ (set: $entered to 7) (set: $entry to it + (text: $entered) ) (replace: ?entry)[$entry] ] }{ (if: $entry's length < $entryLength)[ (set: $entered to 8) (set: $entry to it + (text: $entered) ) (replace: ?entry)[$entry] ] }{ (if: $entry's length < $entryLength)[ (set: $entered to 9) (set: $entry to it + (text: $entered) ) (replace: ?entry)[$entry] ] }{ (if: $entry's length < $entryLength)[ (set: $entered to 0) (set: $entry to it + (text: $entered) ) (replace: ?entry)[$entry] ] }{ (set: $entry to "" ) (replace: ?entry)[***] }{ (if: $entry is $solution)[ (goto: "End") ] }You got it right!