Working profile names in-game, basic settings save/load system, flag drops on player death

This commit is contained in:
Squinty 2024-04-16 21:39:08 +00:00
parent 98cc079b38
commit 6dde93ea00
12 changed files with 122 additions and 67 deletions

View file

@ -23,7 +23,7 @@ signal connection_failed
func load_map(scene : PackedScene):
map.add_child(scene.instantiate())
func start_server(port):
func start_server(port, nickname):
var peer = ENetMultiplayerPeer.new()
peer.create_server(port, MAX_CLIENTS)
@ -34,23 +34,21 @@ func start_server(port):
multiplayer.peer_connected.connect(add_player)
multiplayer.peer_disconnected.connect(remove_player)
for id in multiplayer.get_peers():
add_player(id)
if DisplayServer.get_name() != \"headless\":
add_player(1)
add_player(1, nickname)
add_flag()
func join_server(host, port):
func join_server(host, port, nickname):
var peer = ENetMultiplayerPeer.new()
peer.create_client(host, port)
multiplayer.connected_to_server.connect(_on_connected_to_server)
multiplayer.connected_to_server.connect(_on_connected_to_server.bind(nickname))
multiplayer.connection_failed.connect(_on_connection_failed)
multiplayer.multiplayer_peer = peer
func _on_connected_to_server():
func _on_connected_to_server(nickname):
connected_to_server.emit()
_join_match.rpc(nickname)
func _on_connection_failed():
connection_failed.emit()
@ -58,10 +56,11 @@ func _on_connection_failed():
func respawn_player(player):
player.respawn(Vector3(0.0, 150.0, 0.0))
func add_player(peer_id : int):
func add_player(peer_id : int, nickname : String):
var player : Player = PLAYER.instantiate()
player.name = str(peer_id)
player.player_id = peer_id
player.nickname = nickname
player.position = Vector3(0.0, 150.0, 0.0)
players.add_child(player)
player.died.connect(respawn_player)
@ -73,6 +72,12 @@ func remove_player(peer_id : int):
players.get_node(node_name).queue_free()
print(\"Peer `%s` disconnected\" % node_name)
@rpc(\"any_peer\")
func _join_match(nickname):
if multiplayer.is_server():
add_player(multiplayer.get_remote_sender_id(), nickname)
func add_flag():
var flag : Flag = FLAG.instantiate()
flag.position = Vector3(5.0, 100.0, 0.0)