mirror of
https://github.com/opensim/opensim.git
synced 2026-08-01 22:26:09 +08:00
fix line ending mixing. Probably should put some
wiki descriptions up on line endings so we don't keep ending up in this place.
This commit is contained in:
@@ -41,18 +41,18 @@ using OpenSim.Region.Environment.Scenes;
|
||||
namespace OpenSim.Region.Environment.Modules
|
||||
{
|
||||
public class ChatModule : IRegionModule, ISimChat
|
||||
{
|
||||
private List<Scene> m_scenes = new List<Scene>();
|
||||
{
|
||||
private List<Scene> m_scenes = new List<Scene>();
|
||||
private LogBase m_log;
|
||||
|
||||
private string m_server = null;
|
||||
private int m_port = 6668;
|
||||
private string m_user = "USER OpenSimBot 8 * :I'm a OpenSim to irc bot";
|
||||
private string m_nick = null;
|
||||
private string m_channel = null;
|
||||
|
||||
private int m_whisperdistance = 10;
|
||||
private int m_saydistance = 30;
|
||||
private string m_channel = null;
|
||||
|
||||
private int m_whisperdistance = 10;
|
||||
private int m_saydistance = 30;
|
||||
private int m_shoutdistance = 100;
|
||||
|
||||
private NetworkStream m_stream;
|
||||
@@ -71,8 +71,8 @@ namespace OpenSim.Region.Environment.Modules
|
||||
m_nick = "OSimBot" + Util.RandomClass.Next(1, 99);
|
||||
m_irc = null;
|
||||
m_ircWriter = null;
|
||||
m_ircReader = null;
|
||||
|
||||
m_ircReader = null;
|
||||
|
||||
m_log = OpenSim.Framework.Console.MainLog.Instance;
|
||||
}
|
||||
|
||||
@@ -89,17 +89,17 @@ namespace OpenSim.Region.Environment.Modules
|
||||
}
|
||||
} catch (Exception e) {
|
||||
Console.WriteLine("No IRC config information, skipping IRC bridge configuration");
|
||||
}
|
||||
|
||||
m_whisperdistance = config.Configs["Chat"].GetInt("whisper_distance");
|
||||
m_saydistance = config.Configs["Chat"].GetInt("say_distance");
|
||||
m_shoutdistance = config.Configs["Chat"].GetInt("shout_distance");
|
||||
|
||||
if (!m_scenes.Contains(scene))
|
||||
{
|
||||
m_scenes.Add(scene);
|
||||
scene.EventManager.OnNewClient += NewClient;
|
||||
scene.RegisterModuleInterface<ISimChat>(this);
|
||||
}
|
||||
|
||||
m_whisperdistance = config.Configs["Chat"].GetInt("whisper_distance");
|
||||
m_saydistance = config.Configs["Chat"].GetInt("say_distance");
|
||||
m_shoutdistance = config.Configs["Chat"].GetInt("shout_distance");
|
||||
|
||||
if (!m_scenes.Contains(scene))
|
||||
{
|
||||
m_scenes.Add(scene);
|
||||
scene.EventManager.OnNewClient += NewClient;
|
||||
scene.RegisterModuleInterface<ISimChat>(this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -177,18 +177,18 @@ namespace OpenSim.Region.Environment.Modules
|
||||
Console.WriteLine(inputLine);
|
||||
if (inputLine.Contains(m_channel))
|
||||
{
|
||||
string mess = inputLine.Substring(inputLine.IndexOf(m_channel));
|
||||
foreach (Scene m_scene in m_scenes)
|
||||
{
|
||||
m_scene.Broadcast(delegate(IClientAPI client)
|
||||
{
|
||||
client.SendChatMessage(
|
||||
Helpers.StringToField(mess), 255, pos, "IRC:",
|
||||
LLUUID.Zero);
|
||||
});
|
||||
string mess = inputLine.Substring(inputLine.IndexOf(m_channel));
|
||||
foreach (Scene m_scene in m_scenes)
|
||||
{
|
||||
m_scene.Broadcast(delegate(IClientAPI client)
|
||||
{
|
||||
client.SendChatMessage(
|
||||
Helpers.StringToField(mess), 255, pos, "IRC:",
|
||||
LLUUID.Zero);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Thread.Sleep(50);
|
||||
}
|
||||
}
|
||||
@@ -205,7 +205,7 @@ namespace OpenSim.Region.Environment.Modules
|
||||
scene = m_scenes[0];
|
||||
|
||||
// Filled in since it's easier than rewriting right now.
|
||||
LLVector3 fromPos = e.Position;
|
||||
LLVector3 fromPos = e.Position;
|
||||
LLVector3 fromRegionPos = e.Position + new LLVector3(e.Scene.RegionInfo.RegionLocX * 256, e.Scene.RegionInfo.RegionLocY * 256, 0);
|
||||
string fromName = e.From;
|
||||
string message = e.Message;
|
||||
@@ -217,108 +217,108 @@ namespace OpenSim.Region.Environment.Modules
|
||||
|
||||
if (avatar != null)
|
||||
{
|
||||
fromPos = avatar.AbsolutePosition;
|
||||
fromPos = avatar.AbsolutePosition;
|
||||
fromRegionPos = fromPos + new LLVector3(e.Scene.RegionInfo.RegionLocX * 256, e.Scene.RegionInfo.RegionLocY * 256, 0);
|
||||
fromName = avatar.Firstname + " " + avatar.Lastname;
|
||||
fromAgentID = e.Sender.AgentId;
|
||||
avatar = null;
|
||||
}
|
||||
|
||||
string typeName;
|
||||
switch (e.Type)
|
||||
{
|
||||
case ChatTypeEnum.Broadcast:
|
||||
typeName = "broadcasts";
|
||||
break;
|
||||
case ChatTypeEnum.Say:
|
||||
typeName = "says";
|
||||
break;
|
||||
case ChatTypeEnum.Shout:
|
||||
typeName = "shouts";
|
||||
break;
|
||||
case ChatTypeEnum.Whisper:
|
||||
typeName = "whispers";
|
||||
break;
|
||||
default:
|
||||
typeName = "unknown";
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
string typeName;
|
||||
switch (e.Type)
|
||||
{
|
||||
case ChatTypeEnum.Broadcast:
|
||||
typeName = "broadcasts";
|
||||
break;
|
||||
case ChatTypeEnum.Say:
|
||||
typeName = "says";
|
||||
break;
|
||||
case ChatTypeEnum.Shout:
|
||||
typeName = "shouts";
|
||||
break;
|
||||
case ChatTypeEnum.Whisper:
|
||||
typeName = "whispers";
|
||||
break;
|
||||
default:
|
||||
typeName = "unknown";
|
||||
break;
|
||||
}
|
||||
|
||||
m_log.Verbose("CHAT", fromName + " (" + e.Channel + " @ " + scene.RegionInfo.RegionName + ") " + typeName + ": " + e.Message);
|
||||
|
||||
if (connected)
|
||||
{
|
||||
try
|
||||
{
|
||||
m_ircWriter.WriteLine("PRIVMSG " + m_channel + " :" + "<" + fromName + " in " + scene.RegionInfo.RegionName + ">: " +
|
||||
e.Message);
|
||||
m_ircWriter.Flush();
|
||||
}
|
||||
catch (IOException)
|
||||
{
|
||||
m_log.Error("IRC","Disconnected from IRC server.");
|
||||
listener.Abort();
|
||||
pingSender.Abort();
|
||||
connected = false;
|
||||
{
|
||||
try
|
||||
{
|
||||
m_ircWriter.WriteLine("PRIVMSG " + m_channel + " :" + "<" + fromName + " in " + scene.RegionInfo.RegionName + ">: " +
|
||||
e.Message);
|
||||
m_ircWriter.Flush();
|
||||
}
|
||||
catch (IOException)
|
||||
{
|
||||
m_log.Error("IRC","Disconnected from IRC server.");
|
||||
listener.Abort();
|
||||
pingSender.Abort();
|
||||
connected = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (e.Channel == 0)
|
||||
{
|
||||
foreach (Scene m_scene in m_scenes)
|
||||
{
|
||||
m_scene.ForEachScenePresence(delegate(ScenePresence presence)
|
||||
{
|
||||
int dis = -100000;
|
||||
|
||||
LLVector3 avatarRegionPos = presence.AbsolutePosition + new LLVector3(scene.RegionInfo.RegionLocX * 256, scene.RegionInfo.RegionLocY * 256, 0);
|
||||
dis = Math.Abs((int)avatarRegionPos.GetDistanceTo(fromRegionPos));
|
||||
|
||||
switch (e.Type)
|
||||
{
|
||||
case ChatTypeEnum.Whisper:
|
||||
if (dis < m_whisperdistance)
|
||||
{
|
||||
//should change so the message is sent through the avatar rather than direct to the ClientView
|
||||
presence.ControllingClient.SendChatMessage(message,
|
||||
type,
|
||||
fromPos,
|
||||
fromName,
|
||||
fromAgentID);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
case ChatTypeEnum.Say:
|
||||
if (dis < m_saydistance)
|
||||
{
|
||||
//Console.WriteLine("sending chat");
|
||||
presence.ControllingClient.SendChatMessage(message,
|
||||
type,
|
||||
fromPos,
|
||||
fromName,
|
||||
fromAgentID);
|
||||
}
|
||||
break;
|
||||
case ChatTypeEnum.Shout:
|
||||
if (dis < m_shoutdistance)
|
||||
{
|
||||
presence.ControllingClient.SendChatMessage(message,
|
||||
type,
|
||||
fromPos,
|
||||
fromName,
|
||||
fromAgentID);
|
||||
}
|
||||
break;
|
||||
|
||||
case ChatTypeEnum.Broadcast:
|
||||
presence.ControllingClient.SendChatMessage(message, type,
|
||||
fromPos,
|
||||
fromName,
|
||||
fromAgentID);
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (e.Channel == 0)
|
||||
{
|
||||
foreach (Scene m_scene in m_scenes)
|
||||
{
|
||||
m_scene.ForEachScenePresence(delegate(ScenePresence presence)
|
||||
{
|
||||
int dis = -100000;
|
||||
|
||||
LLVector3 avatarRegionPos = presence.AbsolutePosition + new LLVector3(scene.RegionInfo.RegionLocX * 256, scene.RegionInfo.RegionLocY * 256, 0);
|
||||
dis = Math.Abs((int)avatarRegionPos.GetDistanceTo(fromRegionPos));
|
||||
|
||||
switch (e.Type)
|
||||
{
|
||||
case ChatTypeEnum.Whisper:
|
||||
if (dis < m_whisperdistance)
|
||||
{
|
||||
//should change so the message is sent through the avatar rather than direct to the ClientView
|
||||
presence.ControllingClient.SendChatMessage(message,
|
||||
type,
|
||||
fromPos,
|
||||
fromName,
|
||||
fromAgentID);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
case ChatTypeEnum.Say:
|
||||
if (dis < m_saydistance)
|
||||
{
|
||||
//Console.WriteLine("sending chat");
|
||||
presence.ControllingClient.SendChatMessage(message,
|
||||
type,
|
||||
fromPos,
|
||||
fromName,
|
||||
fromAgentID);
|
||||
}
|
||||
break;
|
||||
case ChatTypeEnum.Shout:
|
||||
if (dis < m_shoutdistance)
|
||||
{
|
||||
presence.ControllingClient.SendChatMessage(message,
|
||||
type,
|
||||
fromPos,
|
||||
fromName,
|
||||
fromAgentID);
|
||||
}
|
||||
break;
|
||||
|
||||
case ChatTypeEnum.Broadcast:
|
||||
presence.ControllingClient.SendChatMessage(message, type,
|
||||
fromPos,
|
||||
fromName,
|
||||
fromAgentID);
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user