I put this code:
list heightList = [9.0,20.20,30.00,39.00,49.20,59.00,68.50,78.00,87.00,97.00,107.00];// altura para cada piso
list menuList = ["1-P","2-P","3-P","4-P","5-P","6-P","7-P","8-P","9-P","10-P","11-P","Siguiente"]; // opciones q se mostraran en el menu al tocar el ascensor
list heightList2 = [117.00,137.00,158.00,165.00];
list menuList2 = ["12-P","13-P","14-P","Azotea"];
//// some code
touch_start(integer change)
{
key av = llDetectedKey(0);
AVsize = llGetAgentSize(av);
llSitTarget(<0, 0, (AVsize.z / 2)>, ZERO_ROTATION);
integer CHANNEL = llRound(llFrand(1000000) - 10000000);
HANDLE = llListen(CHANNEL, "", "", ""

;
llDialog(av, "A que piso desea ir?", menuList, CHANNEL);
}
listen(integer channel, string name, key id, string message)
{
{height = llList2Float(heightList , llListFindList(menuList + menuList2 , [message])!= -1) ;}//
if (message == "Siguiente"

//next
llDialog(id, "A que piso desea ir?", menuList2, CHANNEL);
{height = llList2Float( heightList , llListFindList(menuList + menuList2 , [message])) ;} //
llListenRemove(HANDLE); // Is this a manner?
FloorSelection = TRUE;
}
}
----
but some times the elevator take the 12F or 14F and some times not
