ID:170299
 
stacking statpanels can it be done is the question can it be done and how i tried many way to do it in more detail i mean the 'tabs' stacking on eachoter to save room
Nope, though I did request tiered statpanel tabs a long time ago. You can allow the player to disable particular tabs and even allow them to sort the tabs by their preferences but they will always be in a single horizontal row. (Verb panels can't be sorted and you have limited options for turning them off.)

You could make a multiple row tab interface through the browser. It's not the statpanel, but it looks pretty. :) If you choose this method, you'll have to determine when to update the browser page.
In response to Shadowdarke
ok thanks for letting me know Shadowdarke.but how would i go and set it up in the browser or should i do a hud for the verb which do you suggest?
In response to Jokerjohn
I would suggest using the Browser for information that won't change often, or at all, like skills, traits or descriptions. Keep the stat panels for commands and your inventory, and put the stats that change often on the game screen as a HUD. This way, you can give the player the info they want right up front without 100 stat panels.

~X
In response to Jokerjohn
Jokerjohn wrote:
ok thanks for letting me know Shadowdarke.but how would i go and set it up in the browser

You'll need to familiarize yourself with the Topic() proc in the reference and study up on HTML. To display the page, you'll have to make your program build the HTML as a string of text, then send it to the player though browse().

To make the tabs, I would display a table and make a clickable <TD> (with the onClick javascript method) for each tab. (Rollovers would be nice too, so the player knows which areas are interactive.) Clicking the tab sends BYOND a message to display the new tab. Below that table, display the information for the currently selected page.

Lucky for you, I happen to have a snippet handy that does just that. It only has one row of tabs, because I only have 3 of them in this particular interface. Note that this one is for submitting a form in multiple parts. As such, it calls the form's submit method instead of directly sending the new page name to BYOND when the tab is clicked. These procs belong to a custom datum.
    Topic(href,hlist[])
world << href
/* this section would process the form, but I haven't gotten
around to that yet. */

if(!hlist["page"])
usr << browse(null, "window=crit_[ID]")
else
Display(usr, hlist["page"])


proc
Display(mob/M, page = "Appearance")
// beginning of the page
var/html = {"<html><head><title>Critter Type: [ID]</title>\
<LINK REL=stylesheet HREF='style.css' TYPE='text/css'></head>\
<body><form id=S method=get action='byond://'>
<input type=hidden name=src value='\ref
[src]'>\
<input type=hidden name=page value=''>\
<table align=center border=1 BORDERCOLORDARK=#808080 \
BORDERCOLORLIGHT=#404040 cellspacing=0><tr>"}

/* style.css was made ahead of time and sent to all clients
at log in so the don't have to download that info
for every HTML page I transmit. */


// add the tabs
for(var/index in list("Appearance", "Base Stats", \
"Effects & Items"))
if(page == index) // current page
html += "<td align=center><b>[index]</b></td>"
else // any other page is clickable w/ rollover
html += {"\n<td align=center bgcolor=#000000 \
onClick='page.value="
[index]";S.submit();' \
onMouseOver='bgColor="#777777"' \
onMouseOut='bgColor="#000000"'><B>
[index]</b></th>"}

// end of the tabs section
html += "</tr><tr><td colspan=3><table align=center border=1 \
BORDERCOLORDARK=#808080 BORDERCOLORLIGHT=#404040 \
cellspacing=0>"


// page content
switch(page)
if("Appearance")
//TODO: page display
if("Base Stats")
//TODO: page display
if("Effects & Items")
//TODO: page display
else
html += "<div align=center>Invalid page</div>"

// add a submit button and close everything up
html += "</table></td></tr><tr><th colspan=3>\
<input type=submit value='Submit'></th></tr></table></form>\
</body></html>"


// show it to M
M << browse(html, "window=crit_[ID]")



If all that seems too complex, you may be interested in my sd_Tree library, which is coming to BYONDscape soon. It doesn't show a tabbed page view (though it could with a little modification) but it does allow you to easily navigate between pages in the browser. Maybe I'll add a tabbed view or even multi-tiered tab view to it. :)

should i do a hud for the verb which do you suggest?

It depends. How many verbs are you wanting to display? A lot of HUD items tend to slow down the client, but they are quite a bit easier to program in DM.