Fixes broken stuff
want een of andere klapmongool was vergeten alle scripts te committen.
This commit is contained in:
-40
@@ -1,40 +0,0 @@
|
|||||||
[gd_scene load_steps=6 format=3 uid="uid://cxxxguab8btnm"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Player.gd" id="1_va1f4"]
|
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_jywl0"]
|
|
||||||
|
|
||||||
[sub_resource type="CapsuleMesh" id="CapsuleMesh_7voq6"]
|
|
||||||
|
|
||||||
[sub_resource type="PrismMesh" id="PrismMesh_v72wx"]
|
|
||||||
size = Vector3(0.66, 0.5, 0.5)
|
|
||||||
|
|
||||||
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_xlkje"]
|
|
||||||
properties/0/path = NodePath("..:position")
|
|
||||||
properties/0/spawn = true
|
|
||||||
properties/0/replication_mode = 1
|
|
||||||
|
|
||||||
[node name="CharacterBody3D" type="CharacterBody3D"]
|
|
||||||
input_ray_pickable = false
|
|
||||||
script = ExtResource("1_va1f4")
|
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
|
||||||
shape = SubResource("CapsuleShape3D_jywl0")
|
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="CollisionShape3D"]
|
|
||||||
mesh = SubResource("CapsuleMesh_7voq6")
|
|
||||||
|
|
||||||
[node name="MeshInstance3D2" type="MeshInstance3D" parent="CollisionShape3D/MeshInstance3D"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.690861, -0.370152)
|
|
||||||
mesh = SubResource("PrismMesh_v72wx")
|
|
||||||
skeleton = NodePath("../..")
|
|
||||||
|
|
||||||
[node name="Camera3D" type="Camera3D" parent="."]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 0.9682, 0.250177, 0, -0.250177, 0.9682, 0, 1.90604, 2.54868)
|
|
||||||
cull_mask = 1048573
|
|
||||||
|
|
||||||
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
|
|
||||||
root_path = NodePath("../CollisionShape3D")
|
|
||||||
replication_interval = 1.0
|
|
||||||
delta_interval = 1.0
|
|
||||||
replication_config = SubResource("SceneReplicationConfig_xlkje")
|
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
[gd_scene load_steps=4 format=3 uid="uid://bqml7625b3l1q"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://src/Player.gd" id="1_la1lv"]
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_5mrtf"]
|
||||||
|
points = PackedVector3Array(-0.2, -0.9, -0.2, -0.2, -0.9, 0.2, 0, 0.9, -0.2, 0.2, -0.9, -0.2, 0.2, -0.9, 0.2, 0, 0.9, 0.2)
|
||||||
|
|
||||||
|
[sub_resource type="PrismMesh" id="PrismMesh_c7ovg"]
|
||||||
|
size = Vector3(0.4, 1.8, 0.4)
|
||||||
|
|
||||||
|
[node name="Player" type="CharacterBody3D"]
|
||||||
|
script = ExtResource("1_la1lv")
|
||||||
|
|
||||||
|
[node name="Camera3D" type="Camera3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.899966, 0)
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.899966, 0)
|
||||||
|
shape = SubResource("ConvexPolygonShape3D_5mrtf")
|
||||||
|
|
||||||
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="CollisionShape3D"]
|
||||||
|
mesh = SubResource("PrismMesh_c7ovg")
|
||||||
|
skeleton = NodePath("../..")
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
var is_server = false
|
||||||
|
var server_ip = ""
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://ce54x86vpupge"
|
||||||
|
path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://icon.png"
|
||||||
|
dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=12 format=3 uid="uid://dh63aggy3a08x"]
|
[gd_scene load_steps=12 format=3 uid="uid://dh63aggy3a08x"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://GameLogic.gd" id="1_0vmht"]
|
[ext_resource type="Script" path="res://src/GameLogic.gd" id="1_0vmht"]
|
||||||
[ext_resource type="Environment" uid="uid://5s8lkk12bxyx" path="res://assets/default_environment.tres" id="3_8gl6a"]
|
[ext_resource type="Environment" uid="uid://5s8lkk12bxyx" path="res://assets/default_environment.tres" id="3_8gl6a"]
|
||||||
[ext_resource type="Environment" uid="uid://olhmjdg33u2i" path="res://assets/camera_environment.tres" id="3_evlwd"]
|
[ext_resource type="Environment" uid="uid://olhmjdg33u2i" path="res://assets/camera_environment.tres" id="3_evlwd"]
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
const PlayerScene = preload("res://assets/Player.tscn")
|
||||||
|
var rng = RandomNumberGenerator.new()
|
||||||
|
func _ready():
|
||||||
|
$MultiplayerSpawner.add_spawnable_scene("res://assets/Player.tscn")
|
||||||
|
print($MultiplayerSpawner.get_spawnable_scene(0))
|
||||||
|
# Start the server if Godot is passed the "--server" argument,
|
||||||
|
# and start a client otherwise.
|
||||||
|
if Globals.is_server:
|
||||||
|
start_network(true)
|
||||||
|
else:
|
||||||
|
start_network(false)
|
||||||
|
|
||||||
|
|
||||||
|
func start_network(server: bool):
|
||||||
|
var peer = ENetMultiplayerPeer.new()
|
||||||
|
if server:
|
||||||
|
multiplayer.peer_connected.connect(self.create_player)
|
||||||
|
multiplayer.peer_disconnected.connect(self.destroy_player)
|
||||||
|
|
||||||
|
peer.create_server(4242)
|
||||||
|
print('server listening on localhost 4242')
|
||||||
|
else:
|
||||||
|
multiplayer.connected_to_server.connect(self.connected_to_server)
|
||||||
|
peer.create_client(Globals.server_ip, 4242)
|
||||||
|
|
||||||
|
multiplayer.set_multiplayer_peer(peer)
|
||||||
|
|
||||||
|
func create_player(id):
|
||||||
|
#pass
|
||||||
|
# Instantiate a new player for this client.
|
||||||
|
var p = PlayerScene.instantiate()
|
||||||
|
#var p = Node3D.new()
|
||||||
|
|
||||||
|
# Set the name, so players can figure out their local authority
|
||||||
|
p.name = str(1)
|
||||||
|
print(str(id) + ' just connected')
|
||||||
|
|
||||||
|
$NetworkedNodes.add_child(p)
|
||||||
|
|
||||||
|
func destroy_player(id):
|
||||||
|
pass
|
||||||
|
# Delete this peer's node.
|
||||||
|
#$NetworkedNodes.get_node(str(id)).queue_free()
|
||||||
|
|
||||||
|
func connected_to_server():
|
||||||
|
$Pole/Camera3D.queue_free()
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
extends CharacterBody3D
|
||||||
|
|
||||||
|
const SPEED = 5.0
|
||||||
|
const JUMP_VELOCITY = 4.5
|
||||||
|
|
||||||
|
var synced_position := Vector3.ZERO
|
||||||
|
var synced_rotation := Vector3.ZERO
|
||||||
|
|
||||||
|
# Get the gravity from the project settings to be synced with RigidDynamicBody nodes.
|
||||||
|
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")
|
||||||
|
|
||||||
|
var has_control = false
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
has_control = name == str(multiplayer.get_unique_id())
|
||||||
|
print( 'I am ' + str(multiplayer.get_unique_id()))
|
||||||
|
print( 'or ' + str(multiplayer.get_remote_sender_id()))
|
||||||
|
has_control = !Globals.is_server
|
||||||
|
if Globals.is_server == false && has_control:
|
||||||
|
print ( 'Taking control!')
|
||||||
|
get_node("Camera3D").current = true
|
||||||
|
|
||||||
|
func _physics_process(delta):
|
||||||
|
if not has_control:
|
||||||
|
position = synced_position
|
||||||
|
rotation = synced_rotation
|
||||||
|
return
|
||||||
|
# Add the gravity.
|
||||||
|
if not is_on_floor():
|
||||||
|
velocity.y -= gravity * delta
|
||||||
|
|
||||||
|
# Handle Jump.
|
||||||
|
if Input.is_action_just_pressed("ui_accept") and is_on_floor():
|
||||||
|
velocity.y = JUMP_VELOCITY
|
||||||
|
|
||||||
|
# Get the input direction and handle the movement/deceleration.
|
||||||
|
# As good practice, you should replace UI actions with custom gameplay actions.
|
||||||
|
var input_dir = Input.get_vector("strafe_left", "strafe_right", "move_forward", "move_backward")
|
||||||
|
var direction = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
|
||||||
|
if direction:
|
||||||
|
velocity.x = direction.x * SPEED
|
||||||
|
velocity.z = direction.z * SPEED
|
||||||
|
else:
|
||||||
|
velocity.x = move_toward(velocity.x, 0, SPEED)
|
||||||
|
velocity.z = move_toward(velocity.z, 0, SPEED)
|
||||||
|
move_and_slide()
|
||||||
|
|
||||||
|
if Input.is_action_pressed("look_left"):
|
||||||
|
rotation.y += 0.02
|
||||||
|
if Input.is_action_pressed("look_right"):
|
||||||
|
rotation.y -= 0.02
|
||||||
|
rpc_id(1, StringName('update_server'), position, rotation)
|
||||||
|
#update_server(position, rotation).rpc()
|
||||||
|
|
||||||
|
@rpc("any_peer", "call_remote", "unreliable_ordered")
|
||||||
|
func update_server(pos: Vector3, rot: Vector3):
|
||||||
|
if not multiplayer.is_server():
|
||||||
|
return
|
||||||
|
#if name != str(multiplayer.get_remote_sender_id()):
|
||||||
|
##print ("foei?")
|
||||||
|
#return
|
||||||
|
synced_position = pos
|
||||||
|
synced_rotation = rot
|
||||||
Reference in New Issue
Block a user