Hi all. I made a script which could relay chat typed in the presence of an object back to its owner if he/she/it was not around. I use llTextbox for the owner to type back as if the object was engaging in the conversation. 1) I was wondering if there was a better way than using the Textbox to act like the object was talking 2) Is it possible to use name and message in the no_sensor event so it can use llOwnerSay(name + ": " + message) instead of declaring: nam = name; msg = message; which shows it to Owner by llOwnerSay(nam + ": " + msg) Thanks in advance! //Script start integer listener; integer Channel = 23; string nam; string msg; textbox() { llListenRemove(listener); listener = llListen(Channel,"","",""); llTextBox(llGetOwner(),"\n\nType as object below: ",Channel); } default { state_entry() { } touch_start(integer total_number) { textbox(); llListen(0,"","",""); } listen(integer channel,string name,key id,string message) { if(llGetOwnerKey(id) == llGetOwner() & (channel == Channel) ) { llSay(0,message); } else if(llGetOwnerKey(id) != llGetOwner() & (channel == 0) ) { nam = name; msg = message; textbox(); llSensor("",llGetOwner(),AGENT,20,PI); } // To be contacted wherever you are on the grid eg. remote listener, uncomment the following line // llInstantMessage(llGetOwner(),name + ": " + message + " | Channel: "+ (string)channel); } sensor (integer numberDetected) { } no_sensor() { llOwnerSay(nam + ": " + msg); } } //End