ok here's the thing. i want to make a gui using the nsdialogs plugin (which is what digitxp used for his gamesuit portable) with a listbox, buttons, etc. This is done completely in functions without using section main. my question is how do i use the two together. if i write the gui menu, how can i integrate it into the normal PA nsis launcher? i was playing around with it trying before but had no luck. sorry, i'm okay at scripting but i'm still a programming noob
Depends what exactly you want to do. Interaction with buttons/controls in the GUI calls other functions to perform tasks.
Why don't you describe what you want to accomplish in detail, and post what code you have so people can take a look at what you're doing.
Well i don't really have my code done or anything but here's an example modified from digitxp's gamesuitportable
This is why NSIS isn't really used to create GUIs, although it can do it. NSIS is really an installer. The launchers we create are basically invisible one-page installers.
When using the GUI, everything in NSIS is based on "pages". The welcome screen is a page, the dialog where you choose an install directory is a page, the License agreement is a page.
To do what you want, you have to creat the GUI as the first "page". Then when you've chosen your GUI options (as a user) you would click Run (or install, or whatever you call it). This would throw you into either another page, or as Simeon/digitxp/me have done, just goes to the page leave function. Your "Section" is only executed if you have "Page instfiles".
Once you've got your head around the architecture, what you want is nearly the same as the GamePack launcher. Your GUI would go in the main nsDialogs page, and your launcher code would go in the leave function.
Of course all your defines and variables and such would go in the normal places at the beginning of the script.