You're most welcome, I'm glad I could help 
I guess AGS textboxes are using their own custom on_key_press event, it seems logical because you'd have to print the letters inside the box and filter them by yourself otherwise. What's strange is that it will disable all other on_key_press hooks. I wonder if we can get access to this hidden textbox "keyboard hook" function, maybe in later versions of the Editor, anyways I wish you luck on your project.
Ahhh cookiiie! *crunch*
Edit: Ah well, it could be optimised if you used a global INT called OldLength, change YourTextBox to the ScriptName property of the textbox and then:
Code: ags
Since comparing long strings in the repeatedly execute might waste some resources for no purpose. (edited the syntax)

I guess AGS textboxes are using their own custom on_key_press event, it seems logical because you'd have to print the letters inside the box and filter them by yourself otherwise. What's strange is that it will disable all other on_key_press hooks. I wonder if we can get access to this hidden textbox "keyboard hook" function, maybe in later versions of the Editor, anyways I wish you luck on your project.
Ahhh cookiiie! *crunch*

Edit: Ah well, it could be optimised if you used a global INT called OldLength, change YourTextBox to the ScriptName property of the textbox and then:
function repeatedly_execute()
{
if(YourGui.Visible == true && YourTextBox.Text.Length != OldLength)
{
PlaySound(2);
OldLength = YourTextBox.Text.Length;
}
}
Since comparing long strings in the repeatedly execute might waste some resources for no purpose. (edited the syntax)