ID:1272595
 
(See the best response by Nailez.)
Code:


Problem description:
Is it possible to make a chat system that works within tabs and can be separated via stat panels? If so how would I go about this?
Best response
I recently done this for an alpha version of my game. It isn't too difficult and can be done in a short time. I don't want to tell you exactly how to do it though so I will just give you hints on what kind of controls you need to make one.

A window as a pane
An output control
An input control
A tab control

Those are the only controls you need to make one, there may be a different / better way but that is the way I done it. Have a go and show your progress and I will continue to help as you go further into it.
Look under the tabs option inside of the tabs window element. If I recall correctly it works similar to how Child elements work.

You would have to make your chat system a whole separate window and make it a "pane". (Done by turning on the pane option.) The tabs would have to be in the default window.

Good luck.
I would look into the output() proc for displaying text in different output elements. I remember creating a multi-channel chat system utilizing a few different panes to hold each output element where each chennel message would be sent to. I had utilized a tabs element for switching between the panes to look at each channel individually.

I didn't particularly like that sort of system simply because you have to constantly swap between tabs to look at any new messages. To remedy that, I had made it to any new messages would change the tabs' font color to a different color, sort of like Windows flashes tasks on the task bar.
Thank you for the advise, I'll definitely look into these thing and I'll post my attempts as I go along on here thank you Nail, Jit, Spunky
I'm unsure if I'm supposed to be using statpanel("IC", say) and making the input thing a variable? Should I be using win..idk the wins yet. But just trying to get a feel for if I'm heading in the right directions.
If you've played with interfaces before it works exactly like a child-element does.
Edit: Thanks Jittai, I found a tutorial that touches upon this stuff, and I'll get to studying. I'll list my progress as I go along. Thank you all again.
There's this. http://www.byond.com/docs/ref/skinparams.html



Pretty much in your "default" window, this being your main window, is where you make a "tabs" element, in there you will notice on the options tab there's two pertinent options "Tabs" and "Default tab".

In the interface editing you can name windows different things for identification purposes, those are the names you put in there.

What ever IDs you put in there means each tab WILL be that window- but first you have to turn then into panes- this tells the game they're not really windows to show the player like the default window.

Note, these tabs don't work like info tabs and if you want an info tab you're going to have to have an info inside the tab element creating two stacks of tabs which might be a little wary on users.
Thank you Jittai
In response to Jittai
That is exactly what I was referring to in my post.
The first three replies are pretty much the same. Some people just need pictures I guess.
Thank you again, I followed the instruction and got the result I wanted, I'm reading lummox's guide before I come back asking anymore questions.
So I'm reading Lummox Jr's guide, and (s)he touches on output, now Spunky said that I can use it to route text to specific channels, but idk how I would do that, would it be something like

winset(src, "IC")
src<< output(say())
..()
winset(src, "OOC")
src<< output(ooc())
..()


I'm lost again. Am I on the right track?
Look up the output() there's room to add arguments to what output element receives the text. You have to name your output elements.