ID:1852054
 
Code:
/mob/verb/say_verb(message as text) //The arguments create a popup box automagically.
set name = "Say"
set category = "IC"
usr.say(message)

...

winset(client, "say_window.say_input", "text=[null]") // I need a window ID of the verb input box.


Problem description:
Basically, I need to be able to get a window ID of the input box a verb creates. Is that even possible to do? Or do I really have to create my own skin to replace the verb one and go from that?
If it's not possible, what would be the best way to create a text input window using skins that emulates default input window as much as possible?
You can't use winset, but you can call input() as text rather than using the parameters to populate this box.

input(Usr=usr,Message,Title,Default) as Type in List
But can I use winset on input() as the message is being typed?

I'm trying to "interrupt" someone when they're typing a message and clear the input window while sending what they HAVE typed.
If you want to interact with a prompt, your only option is to 1) not use a prompt, or 2) only handle this in the webclient. The webclient can interact with prompts, but DS can't. (There are legacy reasons. Although the webclient doesn't actually name its prompts, you should at least be able to interact with them in theory.)

I don't understand why you'd want to interrupt someone typing, send their message before they're ready, and have it clear the input, though. This sounds like something players would hate.
Well that's part of SS13, if someone is bashing your head in with a fire extinguisher you will have a chance to -GLORF and not send your message over the radio if you're trying to do it. It's kind of important if you're trying to kill someone as a traitor and prevent them from speaking on radio by bashing them up quick until they can run away.
Ah, I see what you're saying. You can cancel inputs in various ways. ShadowDarke had an old example where you create a datum and that calls input(), and does a callback when it's done.
Thanks, but that doesn't sound like it'll give me the unfinished message.

I managed to solve my problem by using skins and emulating default input window for the chatting hotkey. It works great now, and the input window is also fancier than before.
Glad you solved it. I think skins were really the best bet.