now headless version is run via --headless. By default, server launches with spectator camera
This commit is contained in:
parent
4dd130ee10
commit
074ea8b463
|
@ -0,0 +1,8 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://bf6uev4mtg2ls"]
|
||||
|
||||
[ext_resource type="Script" path="res://scripts/SpectatorControls.gd" id="1_uqbjn"]
|
||||
|
||||
[node name="head" type="Node3D"]
|
||||
script = ExtResource("1_uqbjn")
|
||||
|
||||
[node name="Camera" type="Camera3D" parent="."]
|
|
@ -59,3 +59,18 @@ shoot={
|
|||
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null)
|
||||
]
|
||||
}
|
||||
crawl={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
MWU={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":4,"canceled":false,"pressed":false,"double_click":false,"script":null)
|
||||
]
|
||||
}
|
||||
MWD={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":5,"canceled":false,"pressed":false,"double_click":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
|
|
@ -42,6 +42,9 @@ func StartServer():
|
|||
peer.connect("peer_connected", _Peer_Connected)
|
||||
peer.connect("peer_disconnected", _Peer_Disconnected)
|
||||
|
||||
var spectator = preload("res://models/spectator.tscn").instantiate()
|
||||
server_map.add_child(spectator)
|
||||
|
||||
func send_everyone_except(client_id, args):
|
||||
if (typeof(args[0]) == 4): #string
|
||||
for current_client_id in clients.keys():
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
extends Node3D
|
||||
|
||||
const SENSETIVITY = 0.009;
|
||||
var walk = 2
|
||||
@onready var head = $"."
|
||||
@onready var camera = $"./Camera"
|
||||
|
||||
func _ready():
|
||||
camera.make_current()
|
||||
|
||||
func _unhandled_input(event):
|
||||
if Input.is_action_pressed("MWU"):
|
||||
walk += walk / 5.
|
||||
print("UP " + str(walk))
|
||||
if Input.is_action_pressed("MWD"):
|
||||
walk -= walk / 5.
|
||||
print("DOWN " + str(walk))
|
||||
walk = clamp(walk, 0.01, 15)
|
||||
if event is InputEventMouseMotion:
|
||||
head.rotate_y(-event.relative.x * SENSETIVITY)
|
||||
camera.rotate_x(-event.relative.y * SENSETIVITY)
|
||||
camera.rotation.x = clamp(camera.rotation.x, deg_to_rad(-90), deg_to_rad(90))
|
||||
|
||||
func _physics_process(delta):
|
||||
var input_dir = Input.get_vector("left", "right", "forward", "backward")
|
||||
#var direction = head.transform.rotation
|
||||
var direction = (head.transform.basis * Vector3(input_dir.x, input_dir.x, input_dir.y)).normalized()
|
||||
#var direction = (head.transform.basis * Vector2(input_dir.x, input_dir.y)).normalized()
|
||||
var velocity = Vector3.ZERO
|
||||
var speed
|
||||
|
||||
|
||||
if Input.is_action_pressed("run"):
|
||||
speed = walk * 2
|
||||
else:
|
||||
speed = walk
|
||||
velocity.y = Input.get_vector("crawl", "jump", "left", "right").x * speed
|
||||
if direction:
|
||||
velocity.x = direction.x * speed
|
||||
velocity.z = direction.z * speed
|
||||
else:
|
||||
velocity.x = lerp(velocity.x, direction.x * speed, delta * 4)
|
||||
velocity.z = lerp(velocity.z, direction.z * speed, delta * 4)
|
||||
head.position += velocity
|
|
@ -8,6 +8,22 @@
|
|||
"run": 24,
|
||||
"gravity": 9.8,
|
||||
"jump": 12
|
||||
},
|
||||
"weapons": {
|
||||
"pistol": {
|
||||
"damage": 10,
|
||||
"reload": 2,
|
||||
"magazine": 10,
|
||||
"fireRate": 0.5,
|
||||
"spreading": 0
|
||||
},
|
||||
"ak-47": {
|
||||
"damage": 5,
|
||||
"reload": 4,
|
||||
"magazine": 30,
|
||||
"fireRate": 0.2,
|
||||
"spreading": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue