dialogPlus
Revision as of 22:30, 23 May 2010 by Ugleh Ulrik (talk | contribs) (Created page with '{{LSL_Function |func=DialogPlus |mode=user |p1_type=key|p1_name=avatar|p1_desc |p2_type=string|p2_name=message|p2_desc=message to be displayed |p3_type=list|p3_name=buttons|p3_de...')
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: DialogPlus( key avatar, string message, list buttons, integer CurMenu, integer );Creates a dialog menu for storing more then 12 buttons, very useful for Inventory items, Scanners, and just huge lists.
• key | avatar | |||
• string | message | – | message to be displayed | |
• list | buttons | – | button labels | |
• integer | CurMenu | – | Parsed menu index. | |
• integer |
'CurMenu' will take place of an integer menuindex.
This requires a Listen even when using DialogPlus to allow the Back and Next button to work.
See also: llDialog
Specification
<lsl> //Created by Ugleh Ulrik //This sort of script should cost, but for you free :) integer menuindex; DialogPlus(key avatar, string message, list buttons, integer channel, integer CurMenu) {
if (llGetListLength(buttons) >12){ list lbut = buttons; list Nbuttons = []; if(CurMenu == -1) { CurMenu = 0; menuindex = 0; } if((Nbuttons = (llList2List(buttons, (CurMenu * 10), ((CurMenu * 10) + 9)) + ["Back", "Next"])) == ["Back", "Next"]) DialogPlus(avatar, message, lbut, channel, menuindex = 0); else { llDialog(avatar, message, Nbuttons, channel); }
}else{
llDialog(avatar, message, buttons, channel);
} } </lsl>
Examples
<lsl> //Created by Ugleh Ulrik default {
touch_start(integer total_number) { integer time = llGetUnixTime() - 180; llSay(0, TimeAgo(time) + " ago"); }
}
//integer time is the current unix time minus 180 seconds (3 minutes)