Edit: fixed up my mistake in one of the code lines
-----------------
yes, 'get input' sets the input to be a String ("text"). you got to convert the String input into an Integer (int), and then store that (now) Integer input into an Integer Attribute. actually, quest may be able to do the parsing for you (you may not need to convert it into an integer yourself).
anyways, here's a code example for what you want:
<object name="player">
<attr name="age_integer" type="int">0</attr> // this is the same as... *
</object>
// * within the GUI~Editor:
// 'player' Player Object -> 'Attributes' Tab -> Attributes (the bottom box, I believe) -> Add -> (see below)
// (Object Name: player)
// Attribute Name: age_integer // if you prefer, you can label-name it just as 'age' for example (also note that quest IS case-sensitive: age =/= AGE), but then everywhere you'd have to use 'age', and not 'age_integer', which is just how I personally like to label-name things, as for example, it allows for me to have another Attribute 'age_string', a String Attribute, to hold string values such as "baby", "child", "teen", or "adult", .... (develop your own convention/system for labeling/naming as quickly as you can!), as remember that names MUST be unique, as the 'name' String Attribute is the way quest 'IDs' them.
// Attribute Type: int
// Attribute Value: 0
<function name="age_integer_function">
msg ("What is your age?")
get input {
if (IsInt (result) and ToInt (result) >= 16) { // checks if your inputted value is an Integer (a non-decimal number) and also then checks if the person typed in a number 16 or greater. Both conditions must be true, else they're prompted to input again (see further down for this looping).
player.age_integer = ToInt (result) // converts your input into an Integer and stores it into the 'player' Player Object's 'age_integer' Attribute (which has to be created/added as an Integer Type Attribute, if you've used the GUI~Editor to create/add this Attribute for your 'player' Player Object)
} else {
msg ("wrong input, try again, make sure you input an integer number and that it is 16 or greater.")
wait {
ClearScreen
age_integer_function // in code, the name of the function calls/activates the function and thus loops/repeats the function, requiring the person to input again. In the GUI~Editor, you find the 'add new script' that is the 'call function' Script, and just type in the small rectangle the name of the function that you wish to call/activate (you can ignore the adding of parameters for the time being, if you don't know how functions and parameters work).
}
}
}
</function>
-----------
to explain how to do this through the GUI~Editor, will take much more time... which I don't have at the moment (lots of school work to get done, grr)