mirror of
https://gitlab.com/open-fpsz/open-fpsz.git
synced 2026-07-15 08:24:48 +00:00
✨ Working profile names in-game, basic settings save/load system, flag drops on player death
This commit is contained in:
parent
98cc079b38
commit
6dde93ea00
12 changed files with 122 additions and 67 deletions
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue