Presumably it's looping because your character is still standing on the hotspot
Either move him off the hotspot automatically (with cYourCharacter.Walk(), using eBlock) on the very next line after your text, or set up some sort of boolean variable in Global Variables to test whether or not you've seen that text (bSeenWindowText = false, for example)
If you only want this text to be displayed once in the entire game, set your boolean to true. Before you display your text, check to see if it's already been seen with:
if (!bSeenWindowText) // (or bSeenWindowText == false
// your text goes here
bSeenWindowText = true;
If you want the text to be displayed each time to walk onto that hotspot - that's more tricky. You'll need to reset bSeenWindowText to false every time the guy isn't stepping on the hotspot.
Hope that's of some help.