Hello and thank you in advance for any help anyone can provide. I took the basic scan and hug script from one of the tutorials and through some heavy guess work and trial and error i got it working to my needs. However if the scanned name is too long with the added chat command it breaks the process as it goes beyond the 24 character limit. I was wondering if there was... well I know there is a way around this. However, I am by no means a scripter and can barely make heads or tails of my own script let alone be able to fix this issue. any help or direct answers would make my second life. integer dlgHandle = -1; integer dlgChannel = -9999; list avatarList = []; reset() { llSetTimerEvent(0.0); llListenRemove(dlgHandle); dlgHandle = -1; } default { touch_start(integer total_number) { llOwnerSay("Scanning..."); avatarList = []; // Look for any avatars within 50m. llSensor("", NULL_KEY, AGENT, 50.0, PI); } sensor(integer num_detected) { integer i; while((i < num_detected) && (i < 9)) { if (llDetectedKey(i) != llGetOwner()) { avatarList += [llDetectedName(i)]; } ++i; } if (llGetListLength(avatarList) > 0) { state dialog; } } } state dialog { state_entry() { // Set up a listener to detect button clicks. dlgHandle = llListen(dlgChannel, "", llGetOwner(), ""); // Start a new timer. llSetTimerEvent(30.0); // Add a 'Cancel' button. avatarList += ["Cancel"]; // Display the dialog. llDialog(llGetOwner(), "Please select an avatar.", avatarList, dlgChannel); } listen(integer channel, string name, key id, string message) { // The message parameter holds the caption of the // button that was clicked. Search the menu options // list for it. if ((channel == dlgChannel) && (llListFindList(avatarList, [message]) != -1)) { if (message != "Cancel") { llDialog(llGetOwner(),"Confirm", ["steal|"+message] ,9); } reset(); state default; } } timer() { reset(); state default; } }