ID:157444
 
What I am trying to do is have buttons on my interface. When I hit them I will set up the command that will function from typing something in and hitting enter in my input box which will go to the output box.(To sum it up outputting text through an input) Here is my attempt at doing so:
mob/verb/say(d as text)
view(11,src.loc) << "[usr] <font color=red>says</font color=red> :'[html_encode(d)]'"

mob/verb/ooc(D as text)
if(src.key == "Darkjohn66")
view() << "(Owner)[usr] :[D]"
else
view() << "[usr] :'[html_encode(D)]'"




mob/var/sayactive = 0
mob/var/oocactive = 0

mob/verb/btnsay()
set hidden = 1
src.oocactive = 0
src.sayactive = 1

mob/verb/btnooc()
set hidden = 1
src.oocactive = 1
src.sayactive = 0

mob/verb/input1()
set hidden = 1
if(src.sayactive == 1)
say()
else if(src.oocactive == 1)
ooc()
else
return
src << "Select a form of chat from the buttons on your screen"
if you want to send messages to a certain output, use the output proc.
usr<<output("message","outputID")
or
usr<<output("message","windowID.outputID")
To learn more just go to the "Help" tab and choose "Help On"
or press F1
In response to Kokomo0020
That isnt what I was asking. I have a default input and output set up.
You are not passing any argument to say() or ooc().
In response to Darkjohn66
I used something like this to send a message to an output box on my skin

world << output("<font size=1><center><font color = yellow>[chosenone] has been selected as a random bounty with [tpbounty] training points placed on their head!","event")


I dont think this is what your'e looking for but it could come in handy as what the person above replied with. xD
world<<output("<font color = red>(GM Talk)([usr]: [msg])","event")

Maybe this will work if you wanted them to type the message into the input box and the message appeared in the output box?
Just FYI, in HTML you should not put attributes into the closing tag. That should say </font> instead of <font color=red>.

Also as a matter of design, if you're testing whether a value is true or false, you should never use ==1 or ==0 to test that. Instead you should use if(sayactive) and if(oocactive), and to test for a false value you'd just use the ! operator. While the logic you're using is technically correct, it is brittle and will fail if the values ever deviate from what you expect.

Lummox JR
In response to Michael1234
There are a few things you should fix in that HTML for the sake of good practice.

1) Never put a space between the attribute name and the value. That should be color=yellow instead of color = yellow.

2) You can combine those two font tags, putting the size and color attributes into the same tag.

3) The tags should be closed.

DM is pretty lenient in what it accepts but not all browsers are.

Lummox JR