diff --git a/Assets/Weapons/Weapon.gd b/Assets/Weapons/Weapon.gd index 018bac2..ac54a96 100644 --- a/Assets/Weapons/Weapon.gd +++ b/Assets/Weapons/Weapon.gd @@ -39,6 +39,7 @@ func shoot(): rpc("show_muzzle_flash") rpc("show_tracer") rpc("spawn_casing") + rpc("compute_bullet_flyby") sync func show_muzzle_flash(): @@ -70,3 +71,12 @@ sync func spawn_casing(): casing_instance.linear_velocity = ejector.global_transform.basis[0] * rand_range(3.2, 4.5) - ejector.global_transform.basis[2] * rand_range(2.6, 3.7) get_tree().root.call_deferred("add_child", casing_instance) + +remote func compute_bullet_flyby(): + var player = get_tree().root.get_node("Game").local_player + var transform = find_node("Muzzle").global_transform + + var from = transform.xform(Vector3()) + var to = transform.xform(Vector3(-1000, 0, 0)) + + player.on_bullet_flyby(from, to) diff --git a/Game.gd b/Game.gd index aa1d0f4..d9c3fa9 100644 --- a/Game.gd +++ b/Game.gd @@ -15,6 +15,8 @@ var settingmap = { "mouse_sensitivity": "set_mouse_sensitivity" } +var local_player = null + # Called when the node enters the scene tree for the first time. func _ready(): $MenuContainer/MainMenu/Destination/IPAdress.set_text(SERVER_IP) @@ -24,7 +26,6 @@ func _ready(): if auto_host: initialize_server(false) - print("qwueyhgfiuyqwgaadsf") func load_settings(): var load_settings = File.new() @@ -184,7 +185,7 @@ sync func check_players(player_names): if player_name == str(get_tree().get_network_unique_id()): player.camera.current = true player.set_network_master(get_tree().get_network_unique_id()) - print(get_tree().get_network_unique_id()) + func add_player(id, check=true): var player = player_scene.instance() diff --git a/Player.gd b/Player.gd index a263c5d..5977f5b 100644 --- a/Player.gd +++ b/Player.gd @@ -60,7 +60,12 @@ func get_closest_point(_A: Vector3, _B: Vector3): var diff = B - A var result = A - (A.dot(diff) * diff) / (diff.length_squared()) return result.xform(transform) - + +func on_bullet_flyby(from, to): + var closest_point = get_closest_point(from, to) + + get_tree().root.call_deferred("add_child", preload("res://Audio/BulletFlyBySoundPlayer.tscn")) + remote func walk(direction: Vector2): var walkDirectionNormalized = direction.normalized()