Trying to add multiplayer again

This commit is contained in:
Nikolai Rodionov 2025-01-23 22:31:06 +01:00
parent 2577c032fd
commit c9625327df
No known key found for this signature in database
GPG Key ID: 0639A45505F3BFA6
6 changed files with 36 additions and 14 deletions

@ -1,10 +1,6 @@
extends Node
var players := {}
func add_player(id: int, name: String):
if ! players.has(id):
players[id] = {"name": name}
var test = 1
# Called when the node enters the scene tree for the first time.
func _ready() -> void:

@ -15,6 +15,10 @@ run/main_scene="res://scenes/utils/Menu.tscn"
config/features=PackedStringArray("4.3", "Forward Plus")
config/icon="res://icon.svg"
[autoload]
GameServerManager="*res://scripts/game_server_manager.gd"
[display]
window/size/viewport_width=1920

@ -6,16 +6,21 @@ var player_side: String
@onready var intro_view_port = $Intro/CameraMount/IntroCamera/SubViewportContainer/SubViewport
@onready var spawns = $Spawns
@onready var root = $'.'
@onready var players = $Players
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
var char : Node3D = null
var red_spawn: Node3D = $Spawns/Blue/SpawnArea
var position := red_spawn.global_position
char = ResourceLoader.load("res://scenes/utils/character.tscn").instantiate()
char.name = str(multiplayer.get_unique_id())
char.global_position = position
root.add_child(char)
if multiplayer.is_server():
for i in GameServerManager.players:
char = ResourceLoader.load("res://scenes/utils/character.tscn").instantiate()
char.name = str(GameServerManager.players[i].name)
char.global_position = position
var my_random_number = RandomNumberGenerator.new().randf_range(-2.0, 2.0)
char.global_position = position
char.global_position.x += my_random_number
players.add_child(char)
pass

@ -27,4 +27,7 @@ size = Vector3(0.484497, 1, 5.99213)
[node name="MultiplayerSpawner" type="MultiplayerSpawner" parent="."]
_spawnable_scenes = PackedStringArray("res://scenes/utils/character.tscn")
spawn_path = NodePath("../Spawns/Red/SpawnArea")
spawn_path = NodePath("../Players")
spawn_limit = 4
[node name="Players" type="Node3D" parent="."]

@ -39,8 +39,7 @@ func _on_host_pressed() -> void:
players[1] = player_info
player_connected.emit(1, player_info)
game_server_manager.add_player(1, "host")
GameServerManager.players[1] = {"id": "1", "name": "host"}
func remove_multiplayer_peer():
multiplayer.multiplayer_peer = null
@ -66,8 +65,12 @@ func _on_join_pressed() -> void:
if error:
print(error)
multiplayer.multiplayer_peer = peer
add_player.rpc_id(1, multiplayer.get_unique_id(), "guest")
@rpc("call_remote")
func add_player(id: int, name: String):
if not GameServerManager.players.has(id):
GameServerManager.players[1] = {"id": str(id), "name": name}
func _on_player_connected(id: Variant, player_info: Variant) -> void:
print(player_info)

@ -0,0 +1,11 @@
extends Node
var players = {}
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass