"pressed" is whether the item is pressed (as in true) or not when its initialised. "id" is just the callback id of the itemvoid AddRadio( topHeight, topLeft, radioImage, unk1, unk2 );
void AddRadio( topHeight, topLeft, radioImage, pressed, id);
same sort of thing, checked is just if the box is tickedvoid AddCheckbox( topHeight, topLeft, checkImage, unk1, unk2 );
void AddCheckbox( topHeight, tolLeft, checkImage, checked, id);
hue = colour, id is callback relay, text is the initialisation text.void AddTextEntry( topHeight, topLeft, unk1, unk2, unk3, unk4, textID, defaultText );
void AddTextEntry( topHeight, topLeft, width, height, hue, id, text)
The buttons were fun to figure out.void AddButton( topHeight, topLeft, buttonImage, unk1, unk2, unk3 );
There are two types of buttons, normal relay buttons (which are used in callbacks) and page buttons - which move between pages.
A relay button has the form
"id" is just the callback id. Fourth parameter is the "behaviour" -> 1 indicates this behaviour is a relay button. Fifth parameter is to do only with page buttons. It shouldn't matter what it is, but just set it to 0 anyway.
void AddButton( topHeight, topLeft, buttonImage, 1, 0, id );
A page button
"pageToGo" indicates what page to turn when the button is pressed. Fourth parameter indicates the behaviour - "a page button". The item id shouldn't matter I think because it doesn't need to get a callback.
void AddButton( topHeight, topLeft, buttonImage, 0, pageToGo, 0 );
Ergo
void AddButton( topHeigh, topLeft, buttonImage, behaviour, pageToGo, itemid);
The purpose of this is to load a HTML like gump using the cliloc "number". Its to do with Localisation settings etc. Not sure if theres any real use for it in player run shards, unless you can some how edit the cliloc files in the UO directory.void AddXMFHTMLGump( left, top, width, height, number, hasBorder, hasScrollbar );
Also an undocumented gump, which I found in the source.
background and scrollbar are either 0 or 1 depending if you want it turned on or off
void AddHTMLGump( topHeight, topLeft, width, height, background, scrollbar, HTMLText);
HTMLText is just the text in the gump. Not sure if this can actually support HTML, because I haven't tried it. I think it supports http links as I've seen them in game.
There also seems to be a onGumpInput event with one parameter in the source. I think its for TextEntries but I'm not 100% sure.
I made a plugin for GumpStudio (on orbsydia) for UOX3. Just dump the dll (link on bottom of page) in the Plugin folder. I think I got most of the features to work (except maybe the Radio box "grouping" which I have to look into). If you see any errors/additions you want let me know. Its a debug DLL so it should throw exceptions and stuff I hope!
Just make sure if you are adding pages to keep page 0 blank because everything on page 0 gets viewed on all the other pages. And also remember to set your relays/ids for the callbacks and buttons must be specified as either a relay or a page button
Download UOX3 Plugin