name setting

This commit is contained in:
Chris Forbes
2009-12-02 18:33:07 +13:00
parent 7ff7574d3d
commit cacdd379e5
2 changed files with 20 additions and 1 deletions

View File

@@ -269,6 +269,18 @@ namespace OpenRA.Server
new ServerOrder(0, "StartGame", "").Serialize());
}
break;
case "Chat":
if (so.Data.StartsWith("/name "))
{
var newName = so.Data.Substring(6);
Console.WriteLine("Player @{0} is now known as {1}",
conn.socket.RemoteEndPoint, newName);
DispatchOrders(null, 0,
new ServerOrder(conn.PlayerIndex, "SetName", newName).Serialize());
}
break;
}
}
@@ -279,7 +291,8 @@ namespace OpenRA.Server
conns.Remove(c);
/* todo: tell everyone else that `c` has dropped */
DispatchOrders(c, 0,
new ServerOrder(c.PlayerIndex, "Chat", "Connection Dropped").Serialize());
}
public static void Write(this Stream s, byte[] data) { s.Write(data, 0, data.Length); }

View File

@@ -108,6 +108,12 @@ namespace OpenRa.Game
Game.chat.AddLine(Pair.New(order.Player.PlayerName, "is now YOU."));
break;
}
case "SetName":
{
Game.chat.AddLine(Pair.New(order.Player.PlayerName, "is now known as " + order.TargetString));
order.Player.PlayerName = order.TargetString;
break;
}
case "StartGame":
{
Game.chat.AddLine(Pair.New("Server:", "The game has started."));