MainMenu(key kAv) { list lAppend = []; // Check against ZNI Support roster integer iAdmin=0; string sAppend; string sTag = llList2String(llGetObjectDetails(kAv,[OBJECT_GROUP_TAG]),0); if(llListFindList(g_lSupport, [(string)kAv])!=-1 || llListFindList(g_lAdminTag, [sTag])!=-1){ if(g_kLeasedTo!=NULL)lAppend += ["PermaLease"]; iAdmin=1; lAppend += ["Import", "Export", "MemStick"]; } if(llListFindList(g_lManagerTag, [sTag])!=-1)iAdmin=1; if(g_kLeasedTo == NULL){ lAppend += ["Lease"]; }else if(g_kLeasedTo == kAv || iAdmin || g_kOwner == kAv){ lAppend += ["End Lease", sSetor((g_iFlags&4)," ", "Renew"), "Set Picture", "Set Owner", sSetor ((g_iFlags & 2),"TransferLease", " "), "Set Name", Checkbox(bool(g_iMask & MASK_WHITEFRAME), "White Frame"), Checkbox(bool(g_iMask & MASK_LOGO), "Logo"), Checkbox(bool(g_iMask & MASK_CUSTOM_TEXT_COLOR), "CustomTxt"), "SetTxtC", "*RESET*"]; sAppend += "\n* CustomTxt, and SetTxtC relate to custom text colors."; } if(g_kLeasedTo != NULL){ lAppend += ["TimeRemain", "WhoLeased"]; } if(g_kOwner!=NULL)sAppend+="\nOwner is : secondlife:///app/agent/"+(string)g_kOwner+"/about"; Menu(g_kAuthorized, MAIN_MENU_TEXT+sAppend, MAIN_MENU_BUTTONS+lAppend, "menu~main"); } Menu(key kAv, string sText, list lButtons, string sIdent) { llMessageLinked(LINK_THIS, LINK_MENU_DISPLAY, llDumpList2String([sIdent, "TRUE", sText, llDumpList2String(lButtons, "~")], "|"), kAv); } GetArbitraryData(key kAv, string sText, string sIdent){ llMessageLinked(LINK_THIS, LINK_MENU_DISPLAY, llDumpList2String([sIdent, "FALSE", sText, ""], "|"), kAv); } string StripResident(string a) { list lParam = llParseString2List(a,[" ", "."],[]); if(llGetListLength(lParam)==0 || llGetListLength(lParam)==1)return a; if(llToLower(llList2String(lParam,1)) == "resident"){ lParam = llDeleteSubList(lParam,1,1); }else return a; return llDumpList2String(lParam, " "); } Text(){ string sColor = GetColorStr(bool(g_iMask & MASK_WHITEFRAME)); g_sName = StripResident(g_sName); if(g_sPreferredName == ""){ if(g_sDisplayName != g_sName) llMessageLinked(LINK_SET, 0,""+ llGetSubString(g_sDisplayName+" ("+g_sName+")",0,23), "fw_data"); else llMessageLinked(LINK_SET,0,""+llGetSubString(g_sName,0,23),"fw_data"); } else llMessageLinked(LINK_SET,0,""+g_sPreferredName, "fw_data"); } CleanInventory() { list lDefaults = ["Board [AC]", "Board Menu [AC]", "Dialog Module [AC]", "Text", "Stall Board Flash Drive [AC]", "Board Notifier [AC]"]; integer i=0; integer end = llGetInventoryNumber(INVENTORY_ALL); for(i=0;i