* Unraveled the DEBUG_CHANNEL mystery.
* Moved script errors to the debug channel. * Typing '/2147483647 OK' results in a debug_channel message. * Expanded the available parameters that are send-able through IClientAPI0.6.0-stable
parent
1130c3067c
commit
ce19234dc8
|
@ -53,6 +53,7 @@ namespace OpenSim.Framework
|
||||||
// 3 is an obsolete version of Say
|
// 3 is an obsolete version of Say
|
||||||
StartTyping = 4,
|
StartTyping = 4,
|
||||||
StopTyping = 5,
|
StopTyping = 5,
|
||||||
|
DebugChannel = 6,
|
||||||
Broadcast = 0xFF
|
Broadcast = 0xFF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,6 +83,7 @@ namespace OpenSim.Framework
|
||||||
protected IScene m_scene;
|
protected IScene m_scene;
|
||||||
protected IClientAPI m_sender;
|
protected IClientAPI m_sender;
|
||||||
protected ChatTypeEnum m_type;
|
protected ChatTypeEnum m_type;
|
||||||
|
protected LLUUID m_fromID;
|
||||||
|
|
||||||
public ChatFromViewerArgs()
|
public ChatFromViewerArgs()
|
||||||
{
|
{
|
||||||
|
@ -144,6 +146,12 @@ namespace OpenSim.Framework
|
||||||
set { m_sender = value; }
|
set { m_sender = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LLUUID SenderUUID
|
||||||
|
{
|
||||||
|
get { return m_fromID; }
|
||||||
|
set { m_fromID = value; }
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -653,8 +661,8 @@ namespace OpenSim.Framework
|
||||||
void SendKillObject(ulong regionHandle, uint localID);
|
void SendKillObject(ulong regionHandle, uint localID);
|
||||||
void SendAnimations(LLUUID[] animID, int[] seqs, LLUUID sourceAgentId);
|
void SendAnimations(LLUUID[] animID, int[] seqs, LLUUID sourceAgentId);
|
||||||
void SendRegionHandshake(RegionInfo regionInfo);
|
void SendRegionHandshake(RegionInfo regionInfo);
|
||||||
void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID);
|
void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID, byte source, byte audible);
|
||||||
void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID);
|
void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID, byte source, byte audible);
|
||||||
|
|
||||||
void SendInstantMessage(LLUUID fromAgent, LLUUID fromAgentSession, string message, LLUUID toAgent,
|
void SendInstantMessage(LLUUID fromAgent, LLUUID fromAgentSession, string message, LLUUID toAgent,
|
||||||
LLUUID imSessionID, string fromName, byte dialog, uint timeStamp);
|
LLUUID imSessionID, string fromName, byte dialog, uint timeStamp);
|
||||||
|
|
|
@ -898,18 +898,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
/// <param name="fromPos"></param>
|
/// <param name="fromPos"></param>
|
||||||
/// <param name="fromName"></param>
|
/// <param name="fromName"></param>
|
||||||
/// <param name="fromAgentID"></param>
|
/// <param name="fromAgentID"></param>
|
||||||
public void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID)
|
public void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID, byte source, byte audible)
|
||||||
{
|
{
|
||||||
SendChatMessage(Helpers.StringToField(message), type, fromPos, fromName, fromAgentID);
|
SendChatMessage(Helpers.StringToField(message), type, fromPos, fromName, fromAgentID, source, audible);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID)
|
public void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID, byte source, byte audible)
|
||||||
{
|
{
|
||||||
ChatFromSimulatorPacket reply = (ChatFromSimulatorPacket)PacketPool.Instance.GetPacket(PacketType.ChatFromSimulator);
|
ChatFromSimulatorPacket reply = (ChatFromSimulatorPacket)PacketPool.Instance.GetPacket(PacketType.ChatFromSimulator);
|
||||||
reply.ChatData.Audible = 1;
|
reply.ChatData.Audible = audible;
|
||||||
reply.ChatData.Message = message;
|
reply.ChatData.Message = message;
|
||||||
reply.ChatData.ChatType = type;
|
reply.ChatData.ChatType = type;
|
||||||
reply.ChatData.SourceType = 1;
|
reply.ChatData.SourceType = source;
|
||||||
reply.ChatData.Position = fromPos;
|
reply.ChatData.Position = fromPos;
|
||||||
reply.ChatData.FromName = Helpers.StringToField(fromName);
|
reply.ChatData.FromName = Helpers.StringToField(fromName);
|
||||||
reply.ChatData.OwnerID = fromAgentID;
|
reply.ChatData.OwnerID = fromAgentID;
|
||||||
|
|
|
@ -168,7 +168,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Chat
|
||||||
|
|
||||||
string fromName = e.From;
|
string fromName = e.From;
|
||||||
string message = e.Message;
|
string message = e.Message;
|
||||||
LLUUID fromAgentID = LLUUID.Zero;
|
LLUUID fromAgentID = e.SenderUUID;
|
||||||
|
|
||||||
if (e.Sender != null)
|
if (e.Sender != null)
|
||||||
{
|
{
|
||||||
|
@ -208,10 +208,13 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Chat
|
||||||
|
|
||||||
|
|
||||||
// We only want to relay stuff on channel 0
|
// We only want to relay stuff on channel 0
|
||||||
if (e.Channel == 0)
|
if (e.Channel == 0 || e.Channel == 2147483647)
|
||||||
{
|
{
|
||||||
|
if (e.Channel == 2147483647)
|
||||||
|
e.Type = ChatTypeEnum.DebugChannel;
|
||||||
|
|
||||||
// IRC stuff
|
// IRC stuff
|
||||||
if (e.Message.Length > 0)
|
if (e.Message.Length > 0 && e.Channel == 0)
|
||||||
{
|
{
|
||||||
if (m_irc.Connected && (avatar != null)) // this is to keep objects from talking to IRC
|
if (m_irc.Connected && (avatar != null)) // this is to keep objects from talking to IRC
|
||||||
{
|
{
|
||||||
|
@ -222,9 +225,18 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Chat
|
||||||
foreach (Scene s in m_scenes)
|
foreach (Scene s in m_scenes)
|
||||||
{
|
{
|
||||||
s.ForEachScenePresence(delegate(ScenePresence presence)
|
s.ForEachScenePresence(delegate(ScenePresence presence)
|
||||||
|
{
|
||||||
|
if (e.Channel == 2147483647)
|
||||||
{
|
{
|
||||||
TrySendChatMessage(presence, fromPos, regionPos,
|
TrySendChatMessage(presence, fromPos, regionPos,
|
||||||
fromAgentID, fromName, e.Type, message);
|
fromAgentID, fromName, e.Type, message, ChatSourceType.Object);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TrySendChatMessage(presence, fromPos, regionPos,
|
||||||
|
fromAgentID, fromName, e.Type, message, ChatSourceType.Agent);
|
||||||
|
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -290,7 +302,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Chat
|
||||||
}
|
}
|
||||||
|
|
||||||
private void TrySendChatMessage(ScenePresence presence, LLVector3 fromPos, LLVector3 regionPos,
|
private void TrySendChatMessage(ScenePresence presence, LLVector3 fromPos, LLVector3 regionPos,
|
||||||
LLUUID fromAgentID, string fromName, ChatTypeEnum type, string message)
|
LLUUID fromAgentID, string fromName, ChatTypeEnum type, string message, ChatSourceType src)
|
||||||
{
|
{
|
||||||
if (!presence.IsChildAgent)
|
if (!presence.IsChildAgent)
|
||||||
{
|
{
|
||||||
|
@ -306,7 +318,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Chat
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: should change so the message is sent through the avatar rather than direct to the ClientView
|
// TODO: should change so the message is sent through the avatar rather than direct to the ClientView
|
||||||
presence.ControllingClient.SendChatMessage(message, (byte) type, fromPos, fromName, fromAgentID);
|
presence.ControllingClient.SendChatMessage(message, (byte) type, fromPos, fromName, fromAgentID,(byte)src,(byte)ChatAudibleLevel.Fully);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -633,7 +645,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Chat
|
||||||
avatar.ControllingClient.SendChatMessage(
|
avatar.ControllingClient.SendChatMessage(
|
||||||
Helpers.StringToField(data["msg"]), 255,
|
Helpers.StringToField(data["msg"]), 255,
|
||||||
pos, data["nick"],
|
pos, data["nick"],
|
||||||
LLUUID.Zero);
|
LLUUID.Zero,(byte)ChatSourceType.Agent,(byte)ChatAudibleLevel.Fully);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -678,7 +690,7 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Chat
|
||||||
avatar.ControllingClient.SendChatMessage(
|
avatar.ControllingClient.SendChatMessage(
|
||||||
Helpers.StringToField(message), 255,
|
Helpers.StringToField(message), 255,
|
||||||
pos, sender,
|
pos, sender,
|
||||||
LLUUID.Zero);
|
LLUUID.Zero,(byte)ChatSourceType.Object,(byte)ChatAudibleLevel.Fully);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,6 +53,8 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
args.Channel = channel;
|
args.Channel = channel;
|
||||||
args.Type = type;
|
args.Type = type;
|
||||||
args.Position = fromPos;
|
args.Position = fromPos;
|
||||||
|
args.SenderUUID = fromAgentID;
|
||||||
|
|
||||||
|
|
||||||
ScenePresence user = GetScenePresence(fromAgentID);
|
ScenePresence user = GetScenePresence(fromAgentID);
|
||||||
if (user != null)
|
if (user != null)
|
||||||
|
@ -61,6 +63,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
args.Sender = null;
|
args.Sender = null;
|
||||||
|
|
||||||
args.From = fromName;
|
args.From = fromName;
|
||||||
|
//args.
|
||||||
|
|
||||||
m_simChatModule.SimChat(this, args);
|
m_simChatModule.SimChat(this, args);
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,7 +118,7 @@ namespace OpenSim.Region.Examples.SimpleModule
|
||||||
|
|
||||||
remoteClient.SendKillObject(m_regionHandle, part.LocalId);
|
remoteClient.SendKillObject(m_regionHandle, part.LocalId);
|
||||||
remoteClient.AddMoney(1);
|
remoteClient.AddMoney(1);
|
||||||
remoteClient.SendChatMessage("Poof!", 1, AbsolutePosition, "Party Party", LLUUID.Zero);
|
remoteClient.SendChatMessage("Poof!", 1, AbsolutePosition, "Party Party", LLUUID.Zero, (byte)ChatSourceType.Object, (byte)ChatAudibleLevel.Fully);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnGrabGroup(LLVector3 offsetPos, IClientAPI remoteClient)
|
public override void OnGrabGroup(LLVector3 offsetPos, IClientAPI remoteClient)
|
||||||
|
@ -129,7 +129,7 @@ namespace OpenSim.Region.Examples.SimpleModule
|
||||||
m_scene.RemoveEntity(this);
|
m_scene.RemoveEntity(this);
|
||||||
remoteClient.SendKillObject(m_regionHandle, m_rootPart.LocalId);
|
remoteClient.SendKillObject(m_regionHandle, m_rootPart.LocalId);
|
||||||
remoteClient.AddMoney(50);
|
remoteClient.AddMoney(50);
|
||||||
remoteClient.SendChatMessage("KABLAM!!!", 1, AbsolutePosition, "Groupie Groupie", LLUUID.Zero);
|
remoteClient.SendChatMessage("KABLAM!!!", 1, AbsolutePosition, "Groupie Groupie", LLUUID.Zero, (byte)ChatSourceType.Object, (byte)ChatAudibleLevel.Fully);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -296,12 +296,12 @@ namespace OpenSim.Region.Examples.SimpleModule
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName,
|
public virtual void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName,
|
||||||
LLUUID fromAgentID)
|
LLUUID fromAgentID, byte source, byte audible)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName,
|
public virtual void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName,
|
||||||
LLUUID fromAgentID)
|
LLUUID fromAgentID, byte source, byte audible)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -326,8 +326,8 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
|
||||||
m_ScriptEngine.World.GetSceneObjectPart(QIS.localID);
|
m_ScriptEngine.World.GetSceneObjectPart(QIS.localID);
|
||||||
//if (m_host != null)
|
//if (m_host != null)
|
||||||
//{
|
//{
|
||||||
m_ScriptEngine.World.SimChat(Helpers.StringToField(text),
|
m_ScriptEngine.World.SimChat(Helpers.StringToField(text.Substring(0,999)),
|
||||||
ChatTypeEnum.Say, 0,
|
ChatTypeEnum.DebugChannel, 2147483647,
|
||||||
m_host.AbsolutePosition,
|
m_host.AbsolutePosition,
|
||||||
m_host.Name, m_host.UUID);
|
m_host.Name, m_host.UUID);
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,7 +114,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
string text = "Error compiling script:\r\n" + e.Message.ToString();
|
string text = "Error compiling script:\r\n" + e.Message.ToString();
|
||||||
if (text.Length > 1500)
|
if (text.Length > 1500)
|
||||||
text = text.Substring(0, 1500);
|
text = text.Substring(0, 1500);
|
||||||
World.SimChat(Helpers.StringToField(text), ChatTypeEnum.Say, 0, m_host.AbsolutePosition,
|
World.SimChat(Helpers.StringToField(text), ChatTypeEnum.DebugChannel, 2147483647, m_host.AbsolutePosition,
|
||||||
m_host.Name, m_host.UUID);
|
m_host.Name, m_host.UUID);
|
||||||
}
|
}
|
||||||
catch (Exception e2) // LEGIT: User Scripting
|
catch (Exception e2) // LEGIT: User Scripting
|
||||||
|
|
Loading…
Reference in New Issue