list g_lSelectedDecks= ["OFFICIAL",1]; DecksMenu(key id){ integer i=0; list Buttons = []; string Prompt; integer end = llGetListLength(g_lSelectedDecks); for(i=0;i=15.0 && g_iExpectDeckLoad){ g_iExpectDeckLoad=0; llWhisper(0, "No nearby deck found"); } } listen(integer c,string n,key i,string m){ if(c == g_iDecksChan){ list lPar = llParseString2List(m,["[", "] "], []); integer iNewDeck = 0; if(llList2String(lPar,0)=="X"){ //Disable the deck iNewDeck = 0; } else { iNewDeck = 1; } integer pos = llListFindList(g_lSelectedDecks,[llList2String(lPar,1)]); if(pos==-1){ if(m == "CONFIRM"){ llListenRemove(g_iDecksListen); g_iDecksListen=-1; UpDecks(); llSetTimerEvent(5); } else if(m == "LOAD"){ g_iExpectDeckLoad=1; llResetTime(); llSay(ingredient_channel, "scan"); llSetTimerEvent(1); return; } else llMessageLinked(LINK_SET, 50, "", "7"); } else { g_lSelectedDecks = llListReplaceList(g_lSelectedDecks, [iNewDeck], pos+1,pos+1); } DecksMenu(i); } else if(c==ingredient_channel+1){ if(m == "rezzed Deck" || m == "Deck"){ if(g_iExpectDeckLoad){ g_iExpectDeckLoad = 0; string Deck = llList2String(llGetObjectDetails(i,[OBJECT_DESC]),0); llWhisper(0, "Activating deck..."); llMessageLinked(LINK_SET,-5,Deck,""); llRegionSayTo(i, ingredient_channel, (string)i); llWhisper(0, "Deck activated!"); } } } } }