diff --git a/scripts/Networking.gd b/scripts/Networking.gd index dfc20f3..c931a77 100644 --- a/scripts/Networking.gd +++ b/scripts/Networking.gd @@ -1,14 +1,8 @@ -# менюшка с хп -# убавление хп от выстрела -# телепортация от сервера -# смерть посредством телепортации на спавн - - extends Node var player_script := preload("res://scripts/Player.gd") var server_map - + var player_model = preload("res://models/player.tscn") var peer = ENetMultiplayerPeer.new() var settings @@ -107,7 +101,6 @@ func get_character_properties(client_id): @rpc("any_peer", "call_remote", "unreliable") func sync_client(client_id, position, rotation): - #if(settings["enableAntiCheat"]): if(position > 10): return # нормально допилить надо var client = clients[client_id] var internal_id = str(client["internal_id"]) var client_cb3d = find_cb3d_by_internal_id(internal_id) @@ -137,9 +130,6 @@ func set_nickname(client_id, nickname): print("Got nickname from client: " + str(nickname)) clients[client_id]["nickname"] = nickname -#func _physics_process(delta): - - @rpc("any_peer", "call_remote", "reliable") func shot(client_id): var client = clients[client_id] @@ -153,13 +143,14 @@ func shot(client_id): for checking_client_id in clients.keys(): if (clients[checking_client_id]["internal_id"] == target_internal_id): target_client = clients[checking_client_id] - var target_cb3d = server_map.get_node("player" + str(target_internal_id)).get_node("CharacterBody3D") + var target_cb3d = find_cb3d_by_internal_id(internal_id) target_client["HP"] -= 10; if (target_client["HP"] == 0): target_cb3d.teleport.rpc_id(int(clients.find_key(target_client)), Vector3(0, 10, 0)) target_client["HP"] = 100 target_cb3d.set_hp.rpc_id(int(clients.find_key(target_client)), target_client["HP"]) + ##########################################CLIENT####################### var player diff --git a/scripts/Player.gd b/scripts/Player.gd index dd4f11c..025e954 100644 --- a/scripts/Player.gd +++ b/scripts/Player.gd @@ -64,11 +64,8 @@ func _ready(): camera.make_current() var hud = load("res://scenes/hud.tscn").instantiate() add_child(hud) - #$"..".add_child(hud) HUD = $"HUD" healthBar = HUD.get_node("HealthBar") - print(str(HUD)) - print(str(healthBar)) playerCharacterBody.up_direction = Vector3.UP; Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED) @@ -91,12 +88,10 @@ func _physics_process(delta): properties["is_playable"] = false healthBar.value = properties["HP"] - #properties["HP"] = 100 if properties["HP"] < 0 else properties["HP"] - 0.1 # properties["HP"] < 0? 100 : properties["HP"] - 0.1 - if not is_on_floor(): velocity.y -= 4 * gravity * delta - + var input_dir = Input.get_vector("left", "right", "forward", "backward") var direction = (head.transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized() @@ -133,9 +128,7 @@ func sync_puppet(i_id, p, rot): @rpc ("authority", "call_remote", "reliable") func set_hp(hp): if (!properties["is_playable"]): return - print("Got new hp: " + str(hp)) properties["HP"] = hp - print(str(healthBar)) healthBar.value = properties["HP"]