recursiveDialog
Jump to navigation
Jump to search
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Specification
//Created by Spoof Kelberry
recursiveDialog(key avatar, string message, list buttons, integer channel){
integer a = llGetListLength(buttons)%12; integer i;
integer c = llFloor(llGetListLength(buttons)/12)+1; integer q; integer j;
for(i = 0; i < c-1; i++){ list w;
w = llList2List(buttons,j,j+11); j += 12; llDialog(avatar,message,w,channel);
} if(a) llDialog(avatar,message,llList2List(buttons,j,j+a),channel);
}
Examples
//Created by Spoof Kelberry
recursiveDialog(key avatar, string message, list buttons, integer channel){
integer a = llGetListLength(buttons)%12; integer i;
integer c = llFloor(llGetListLength(buttons)/12)+1; integer q; integer j;
for(i = 0; i < c-1; i++){ list w;
w = llList2List(buttons,j,j+11); j += 12; llDialog(avatar,message,w,channel);
} if(a) llDialog(avatar,message,llList2List(buttons,j,j+a),channel);
}
default
{
state_entry()
{
recursiveDialog(llGetOwner(),"Hello!",["This","list","is","greater","than","12","elements","but","it","will","create","another","dialog."],-1);
}
}