ID:133829
 
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
This has always bothered me, though I never got around to posting about it.

When you have a command like Say(msg as text|null), you can type into the command line exactly what you wish to say:

Say Hello world!

However, with a command like Kick(target as text|null, reason as text|null), you can't simply type the command with the name of the target like you would with Say, even if you have no reason message to send with the Kick. You have to type an open quotation before the target's name before it will accept the command parameter and execute the command. If you try typing the command like you would for Say, absolutely nothing happens:

Kick Xooxer

That's bad. Something should happen. Error message, proper usage info, something! In order to get the command to work at all, you have to start the target's name with a quote:

Kick "Xooxer

This is highly unintuitive for non-developers. Unless you know this special case, the command will appear to not function.

This open quote is not necessary, even if you have multiple parameters that can't be null. If the person neglects to add the proper set of quotes to seperate all the required parameters, the usage info should inform them of the mistake (or it used to, haven't tested).

If a person types in a command with multiple parameters, adds text directly after it without the quotes, DS should consider all the text following the command to be the input for the first parameter. The only time you should *have* to enter quotes is when you want to add more than one parameter to the command, and then you must use all but the last quote for it to work.

Requiring that the open quote be typed on any multi-parameter command, no matter how many parameters are required or are provided by the player, is not intuitive, logical or neccessary.

Please remove this restriction, and only neccessitate quotes when quotes are really neccessary.

~X
Bump. I need this feature.
Tom, is there any kind of workaround in the meantime?
In response to Flame Sage
You could use client/Command() to get the raw input and parse it yourself. I think there's a few text mud parsing libraries that do this.

http://www.byond.com/developer/?text=parser&sort=pop
This is something that is fundamentally wrong with the input box, it's not a matter of any kind of processing would fix.
There is still one issue with that though, and I'm about to post a bug report for it. For some reason, even using client/Command(), the raw input is still stripped of the first quotation mark, if the the input starts with one.
If you create an input control and set the command to just a double quote ("), everything seems to be passed to client/Command() correctly.