Player spawning
parent
709b696188
commit
3401343dc4
|
@ -23,8 +23,19 @@ extends CharacterBody3D
|
||||||
@onready var climb_check_y = climb_check.position.y
|
@onready var climb_check_y = climb_check.position.y
|
||||||
@onready var ground_check_y = ground_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
|
var input_active = false
|
||||||
|
|
||||||
|
@remotesync var info = player_info.new("unfa", 0, Color("#CE0000"))
|
||||||
var base_fov = 90
|
var base_fov = 90
|
||||||
var view_zoom := 1.0 :
|
var view_zoom := 1.0 :
|
||||||
set(zoom):
|
set(zoom):
|
||||||
|
@ -71,7 +82,7 @@ var gravity_vec := Vector3.ZERO
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
#Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
#Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
||||||
view_zoom = 1.0
|
view_zoom = 1.0
|
||||||
|
|
||||||
func aim(event) -> void:
|
func aim(event) -> void:
|
||||||
var mouse_motion = event as InputEventMouseMotion
|
var mouse_motion = event as InputEventMouseMotion
|
||||||
|
|
||||||
|
|
|
@ -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
11
Game/Main.gd
11
Game/Main.gd
|
@ -3,9 +3,12 @@ extends Node
|
||||||
enum GameFocus {MENU, GAME, CHAT, AWAY}
|
enum GameFocus {MENU, GAME, CHAT, AWAY}
|
||||||
|
|
||||||
const NET_PORT = 12597
|
const NET_PORT = 12597
|
||||||
|
const NET_SERVER = "liblast.unfa.xyz"
|
||||||
|
|
||||||
var peer = NetworkedMultiplayerENet.new()
|
var peer = NetworkedMultiplayerENet.new()
|
||||||
|
|
||||||
|
var player_scene = preload("res://Assets/Characters/Player.tscn")
|
||||||
|
|
||||||
@onready var gui = $GUI
|
@onready var gui = $GUI
|
||||||
@onready var hud = $HUD
|
@onready var hud = $HUD
|
||||||
@onready var player = $Level/Player
|
@onready var player = $Level/Player
|
||||||
|
@ -41,11 +44,17 @@ func _on_Host_pressed():
|
||||||
get_tree().network_peer = peer
|
get_tree().network_peer = peer
|
||||||
|
|
||||||
func _on_Connect_pressed():
|
func _on_Connect_pressed():
|
||||||
peer.create_client('localhost', NET_PORT)
|
peer.create_client(NET_SERVER, NET_PORT)
|
||||||
get_tree().network_peer = peer
|
get_tree().network_peer = peer
|
||||||
|
|
||||||
func _player_connected(id) -> void:
|
func _player_connected(id) -> void:
|
||||||
print("player connected, id: ", id)
|
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:
|
func _player_disconnected(id) -> void:
|
||||||
print("player disconnected, id: ", id)
|
print("player disconnected, id: ", id)
|
||||||
|
|
|
@ -12,7 +12,10 @@ script = ExtResource( 3 )
|
||||||
|
|
||||||
[node name="GUI" parent="." instance=ExtResource( 2 )]
|
[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="."]
|
[node name="NetworkTesting" type="VBoxContainer" parent="."]
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
|
|
Reference in New Issue