| Anonymous | Login | Signup for a new account | 2013-06-19 22:37 UTC | ![]() |
| Main | My View | View Issues | Change Log | Roadmap | Summary | My Account |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||
| 0006228 | opensim | [REGION] Script Functions | public | 2012-08-19 16:53 | 2012-08-19 21:18 | ||||
| Reporter | Frank Northmead | ||||||||
| Assigned To | melanie | ||||||||
| Priority | normal | Severity | major | Reproducibility | always | ||||
| Status | resolved | Resolution | fixed | ||||||
| Platform | ALL | OS | Linux | OS Version | Centos 6.2 | ||||
| Product Version | master (dev code) | ||||||||
| Target Version | Fixed in Version | ||||||||
| Summary | 0006228: llDialog chat is originating in the wrong location | ||||||||
| Description | According to the wiki: "Even though the chat will originate with the user's name and key, the chat position will be centered at the object calling llDialog. This ensures the object will be always within listening range of the answer." However, the chat is originating at the AV with the ID specified in the llDialog call. Which means that when the object is out of llSay range from the object, the dialog fails. | ||||||||
| Steps To Reproduce | 1. Create one prim with script that creates a dialog (llDialog). 2. Create a secong prim with script that listens on the channel used in the first dialog and reports when it hears anything. 3. Move the first dialog out of llSay range from the second dialog. 4. Make sure the second dialog is within llSay range of your AV. 5. Click on the first prim to activate the dialog and select an option on the dialog. 6. The second prim will report the dialog chat and the llDialog will fail. | ||||||||
| Tags | No tags attached. | ||||||||
| Git Revision or version number | |||||||||
| Run Mode | Grid (1 Region per Sim) | ||||||||
| Physics Engine | ODE | ||||||||
| Environment | Mono / Linux64 | ||||||||
| Mono Version | 2.10 | ||||||||
| Viewer | |||||||||
| Attached Files | |||||||||
Notes |
|
|
(0022383) Frank Northmead (reporter) 2012-08-19 17:38 |
I have repeated the test in SL and the dialog works as described in the wiki, ie. the location of the dialog chat output is the prim containing the llDialog script. |
|
(0022384) Frank Northmead (reporter) 2012-08-19 20:33 |
A hack which "fixes" this is changing the ChatTypeEnum.Shout below to ChatTypeEnum.Region. private bool HandlerScriptDialogReply(IClientAPI sender, Packet Pack) { ScriptDialogReplyPacket rdialog = (ScriptDialogReplyPacket)Pack; //m_log.DebugFormat("[CLIENT]: Received ScriptDialogReply from {0}", rdialog.Data.ObjectID); #region Packet Session and User Check if (m_checkPackets) { if (rdialog.AgentData.SessionID != SessionId || rdialog.AgentData.AgentID != AgentId) return true; } #endregion int ch = rdialog.Data.ChatChannel; byte[] msg = rdialog.Data.ButtonLabel; if (OnChatFromClient != null) { OSChatMessage args = new OSChatMessage(); args.Channel = ch; args.From = String.Empty; args.Message = Utils.BytesToString(msg); args.Type = ChatTypeEnum.Shout; args.Position = new Vector3(); args.Scene = Scene; args.Sender = this; ChatMessage handlerChatFromClient2 = OnChatFromClient; if (handlerChatFromClient2 != null) handlerChatFromClient2(this, args); } return true; } avination works correctly, and so there is aready a fix for this there which melanie is looking at porting to OS. |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2012-08-19 16:53 | Frank Northmead | New Issue | |
| 2012-08-19 17:38 | Frank Northmead | Note Added: 0022383 | |
| 2012-08-19 20:33 | Frank Northmead | Note Added: 0022384 | |
| 2012-08-19 21:18 | melanie | Status | new => resolved |
| 2012-08-19 21:18 | melanie | Resolution | open => fixed |
| 2012-08-19 21:18 | melanie | Assigned To | => melanie |
| Copyright © 2000 - 2012 MantisBT Group |