WIP: Not so much progress
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
extends Node3D
|
||||
|
||||
const SPAWN_RANDOM := 5.0
|
||||
var player_side: String
|
||||
@export var player : PackedScene
|
||||
@onready var intro_camera = $Intro/CameraMount/IntroCamera
|
||||
@@ -7,22 +8,56 @@ var player_side: String
|
||||
@onready var spawns = $Spawns
|
||||
@onready var root = $'.'
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
print("level ready")
|
||||
|
||||
if not multiplayer.is_server():
|
||||
return
|
||||
multiplayer.peer_connected.connect(add_player)
|
||||
multiplayer.peer_disconnected.connect(del_player)
|
||||
|
||||
for id in multiplayer.get_peers():
|
||||
add_player(id)
|
||||
if not OS.has_feature("dedicated_server"):
|
||||
add_player(1)
|
||||
|
||||
var char : Node3D = null
|
||||
var red_spawn: Node3D = $Spawns/Blue/SpawnArea
|
||||
var position := red_spawn.global_position
|
||||
for i in ServerManager.Players:
|
||||
print("spawning player")
|
||||
char = ResourceLoader.load("res://scenes/utils/character.tscn").instantiate()
|
||||
var my_random_number = RandomNumberGenerator.new().randf_range(-10.0, 10.0)
|
||||
char.name = str(my_random_number)
|
||||
char.global_position = position
|
||||
char.global_position.x += my_random_number
|
||||
root.add_child(char)
|
||||
for nodes in get_children():
|
||||
print(nodes)
|
||||
|
||||
#for i in ServerManager.Players:
|
||||
#print("spawning player")
|
||||
#char = ResourceLoader.load("res://scenes/utils/character.tscn").instantiate()
|
||||
#var my_random_number = RandomNumberGenerator.new().randf_range(-2.0, 2.0)
|
||||
#char.name = str(my_random_number)
|
||||
#char.global_position = position
|
||||
#char.global_position.x += my_random_number
|
||||
#char.add_to_group("players", true)
|
||||
#root.add_child(char)
|
||||
#for nodes in get_children():
|
||||
#print(nodes)
|
||||
|
||||
func add_player(id: int):
|
||||
print("add player")
|
||||
var character = ResourceLoader.load("res://scenes/utils/character.tscn").instantiate()
|
||||
#character.player = id
|
||||
var pos := Vector2.from_angle(randf() * 2 * PI)
|
||||
character.position = Vector3(pos.x * SPAWN_RANDOM * randf(), 0, pos.y * SPAWN_RANDOM * randf())
|
||||
character.name = str(id)
|
||||
$Players.add_child(character, true)
|
||||
func del_player(id: int):
|
||||
if not $Players.has_node(str(id)):
|
||||
return
|
||||
$Players.get_node(str(id)).queue_free()
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
#print(ServerManager.get_players())
|
||||
pass
|
||||
|
||||
func _exit_tree() -> void:
|
||||
if not multiplayer.is_server():
|
||||
return
|
||||
multiplayer.peer_connected.disconnect(add_player)
|
||||
multiplayer.peer_disconnected.disconnect(del_player)
|
||||
|
@@ -1,8 +1,10 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://c1v6kb00y77ij"]
|
||||
[gd_scene load_steps=4 format=3 uid="uid://c1v6kb00y77ij"]
|
||||
|
||||
[ext_resource type="Script" path="res://scenes/maps/el_test.gd" id="1_d5e7i"]
|
||||
[ext_resource type="PackedScene" uid="uid://clp0pm3nxovxc" path="res://assets/models/maps/el_test.glb" id="2_cnkr5"]
|
||||
|
||||
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_wnbcm"]
|
||||
|
||||
[node name="ElTest" type="Node3D"]
|
||||
script = ExtResource("1_d5e7i")
|
||||
|
||||
@@ -24,3 +26,13 @@ size = Vector3(0.100647, 1, 6.02112)
|
||||
[node name="SpawnArea" type="CSGBox3D" parent="Spawns/Blue"]
|
||||
transform = Transform3D(5.70162, 0, 0, 0, 1, 0, 0, 0, 7.97817, 21.2099, 1.78438, 1.23551)
|
||||
size = Vector3(0.484497, 1, 5.99213)
|
||||
|
||||
[node name="MultiplayerSpawner" type="MultiplayerSpawner" parent="."]
|
||||
_spawnable_scenes = PackedStringArray("res://scenes/utils/character.tscn")
|
||||
spawn_path = NodePath("../Players")
|
||||
spawn_limit = 4
|
||||
|
||||
[node name="Players" type="Node3D" parent="."]
|
||||
|
||||
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
|
||||
replication_config = SubResource("SceneReplicationConfig_wnbcm")
|
||||
|
Reference in New Issue
Block a user