Okay. Here's my (unfinished) ideas for how to use popups/windows in LUA:
New info about my ideas in the first post. Sorry for the delay.
[color=purple]Anyone know HTML? Good, because that's what I (very) loosely based this on. Other languages might do it the same, but I don't (think I) know any.[/color]
[color=red]WARNING:This is confusing. I'm not entirely sure I understand it either, and it could probably be streamlined/simplified a lot. I'll try to keep this simple.[/color] Okay, now no-one can sue me for causing their head to implode. Text in [color=green]green[/color] denotes an attribute that MUST be set for this to work. These are the only ones I will use in basic examples. The more difficult to understand attributes will have their own examples later.
Popups are essentially tables. A popup is created by the function [b]CreatePopup([color=green]name[/color], width, height, buttons, posX, posY)[/b], and opened using [b]OpenPopup(name)[/b].
NAME is how the popup is referenced in code
WIDTH and HEIGHT are the dimensions of the popup
BUTTONS is a number that dictates what buttons to have along the bottom of the popup. I'll explain further down.
POSX and POSY are the position of the popup relative to the screen, not the world.
Rows are added by using [b]AddRow([color=green]rownumber[/color], height)[/b]
ROWNUMBER is a number given to identify this row, in this table, in code. It also dictates what order they appear in. It'll become clear later.
HEIGHT is the height of the row. They are all just less wide than the popup containing then.
Cells are added by using [b]AddCell([color=green]rownumber, cellnumber[/color], width)[/b]
CELLNUMBER is a number given to identify this cell, in this row, in this table, in code. It also dictates what order they appear in. Again, it'll become clear later.
ROWNUMBER dictates which row to add the cell to.
WIDTH is the width of the row. They are all as tall than the row containing then.
To add a row to a popup, you use (assuming the popup's NAME is 'henry')
[b]henry:AddRow(X)[/b], where X is an integer starting from 1 (or 0).
To add a cell to a row, you use
[b]henry:AddCell(X, Y)[/b], where X and an integer starting from 1 (or 0).
If you want me to finish it, I probably could.