also send messages for players connecting/disconnecting

This commit is contained in:
troido 2019-01-20 19:58:21 +01:00
parent 1f0834986c
commit f38f00e496
2 changed files with 12 additions and 4 deletions

View File

@ -56,7 +56,9 @@
"chat": [15,0],
"attack": [12,0],
"damage": [9,0],
"heal": [10,0]
"heal": [10,0],
"connect": [3,0],
"server": [11,0]
},
"alphabet": "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
}

View File

@ -71,6 +71,7 @@ class GameServer:
self.players[name] = n
self.messages.put(("join", name))
print("new player: "+name)
self.broadcast("{} has connected".format(name), "connect")
return
elif msgType == "input":
if n in self.connections:
@ -80,11 +81,10 @@ class GameServer:
name = self.connections[n]
message = name + ": " + msg[1]
print(message)
databytes = bytes(json.dumps(["message", message, "chat"]), "utf-8")
for connection in self.connections:
self.serv.send(connection, databytes)
self.broadcast(message, "chat")
except Exception as e:
print(e)
self.error(n, "invalidmessage", repr(e))
@ -98,6 +98,12 @@ class GameServer:
del self.players[name]
self.messages.put(("leave", name))
print("player "+name+" left")
self.broadcast("{} has disconnected".format(name), "connect")
def broadcast(self, message, type="server"):
databytes = bytes(json.dumps(["message", message, type]), "utf-8")
for connection in self.connections:
self.serv.send(connection, databytes)
def readMessages(self):