Interaction brought back

This commit is contained in:
Rendo 2025-12-07 14:50:37 +05:00
commit 66e8707940
6 changed files with 23 additions and 11 deletions

View file

@ -244,11 +244,9 @@ func shoot(id:int , damage: int, distance: float) -> void:
collision["collider"].take_damage(damage)
@rpc("any_peer","call_local","reliable")
func interact() -> void:
func interact(id: int) -> void:
if multiplayer.is_server() == false:
return
var id = multiplayer.get_remote_sender_id()
var player: Player = player_nodes[id]
var player_camera: Camera3D = player.get_node("Camera3D")
@ -264,11 +262,9 @@ func interact() -> void:
if collision != {} and collision["collider"] is Interactible:
collision["collider"].interaction_start(id)
@rpc("any_peer","call_local","reliable")
func stop_interact() -> void:
func stop_interact(id: int) -> void:
if multiplayer.is_server() == false:
return
var id = multiplayer.get_remote_sender_id()
player_stopped_interacting.emit(id)
func is_on_site(id: int) -> bool:

View file

@ -0,0 +1,8 @@
extends Node
func on_player_start_interacting():
Session.interact(get_parent().player_id)
func on_player_end_interacting():
Session.stop_interact(get_parent().player_id)

View file

@ -0,0 +1 @@
uid://dsp1sq46c5i3y

View file

@ -40,10 +40,10 @@ func interaction_start(player_id: int):
super(player_id)
defuse_timer.start()
$DefuseAudio.multiplayer_play()
Session.player_nodes[player_id].passive.rpc_id(player_id)
Session.player_nodes[player_id].passive()
func interaction_end():
Session.player_nodes[interacted_id].depassive.rpc_id(interacted_id)
Session.player_nodes[interacted_id].depassive()
super()
defuse_timer.stop()

View file

@ -5,8 +5,9 @@ const active_bomb: StringName = "uid://dtbpyfdawb02b"
func enter():
machine.animation_player.play(machine.animation_prefix+"plant")
machine.animation_player.animation_finished.connect(on_animation_finished)
machine.speed_modifier = 0.0
machine.player.get_node("PlantAudio").multiplayer_play()
if is_multiplayer_authority():
machine.speed_modifier = 0.0
machine.player.get_node("PlantAudio").multiplayer_play()
func exit():
machine.animation_player.animation_finished.disconnect(on_animation_finished)