Player spawning

pull/50/head
unfa 2021-06-09 19:41:52 +02:00
parent 709b696188
commit 3401343dc4
5 changed files with 50 additions and 13 deletions

View File

@ -23,8 +23,19 @@ extends CharacterBody3D
@onready var climb_check_y = climb_check.position.y
@onready var ground_check_y = ground_check.position.y
class player_info:
var name: String
var team: int
var color: Color
func _init(name: String, team: int, color: Color):
self.name = name
self.team = team
self.color = color
var input_active = false
@remotesync var info = player_info.new("unfa", 0, Color("#CE0000"))
var base_fov = 90
var view_zoom := 1.0 :
set(zoom):
@ -71,7 +82,7 @@ var gravity_vec := Vector3.ZERO
func _ready() -> void:
#Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
view_zoom = 1.0
func aim(event) -> void:
var mouse_motion = event as InputEventMouseMotion

View File

@ -0,0 +1,4 @@
[gd_scene format=2]
[node name="SpawnPoint" type="Position3D"]
script = null

File diff suppressed because one or more lines are too long

View File

@ -3,9 +3,12 @@ extends Node
enum GameFocus {MENU, GAME, CHAT, AWAY}
const NET_PORT = 12597
const NET_SERVER = "liblast.unfa.xyz"
var peer = NetworkedMultiplayerENet.new()
var player_scene = preload("res://Assets/Characters/Player.tscn")
@onready var gui = $GUI
@onready var hud = $HUD
@onready var player = $Level/Player
@ -41,11 +44,17 @@ func _on_Host_pressed():
get_tree().network_peer = peer
func _on_Connect_pressed():
peer.create_client('localhost', NET_PORT)
peer.create_client(NET_SERVER, NET_PORT)
get_tree().network_peer = peer
func _player_connected(id) -> void:
print("player connected, id: ", id)
var new_player = player_scene.instance()
new_player.set_network_master(id)
var spawnpoint = $Map/SpawnPoints.get_children()[randi() % size($Map/SpawnPoints.get_children())]
new_player.name = id
new_player.global_transform = spawnpoint.global_transform
$Players.add_child(new_player)
func _player_disconnected(id) -> void:
print("player disconnected, id: ", id)

View File

@ -12,7 +12,10 @@ script = ExtResource( 3 )
[node name="GUI" parent="." instance=ExtResource( 2 )]
[node name="Level" parent="." instance=ExtResource( 1 )]
[node name="Players" type="Node3D" parent="."]
script = null
[node name="Map" parent="." instance=ExtResource( 1 )]
[node name="NetworkTesting" type="VBoxContainer" parent="."]
anchor_bottom = 1.0