tempknife

This commit is contained in:
Rendo 2025-11-30 02:16:24 +05:00
commit f5a7a84c84
4 changed files with 55 additions and 8 deletions

View file

@ -226,21 +226,21 @@ func despawn_internal(path: NodePath) -> void:
get_node(path).queue_free()
func shoot(damage: int) -> void:
func shoot(damage: int,distance: float = 100) -> void:
if multiplayer.get_unique_id() == 1:
shoot_internal(1,damage)
shoot_internal(1,damage,distance)
else:
shoot_internal.rpc_id(1,multiplayer.get_unique_id(),damage)
shoot_internal.rpc_id(1,multiplayer.get_unique_id(),damage,distance)
@rpc("any_peer","call_local","reliable")
func shoot_internal(id:int , damage: int) -> void:
func shoot_internal(id:int , damage: int, distance: float) -> void:
if multiplayer.is_server() == false:
return
var player: Player = player_nodes[id]
var player_camera: Camera3D = player.get_node("Camera3D")
var space: PhysicsDirectSpaceState3D = player.get_world_3d().direct_space_state
var endpoint: Vector3 = player_camera.global_position - player_camera.global_basis.z * 100
var endpoint: Vector3 = player_camera.global_position - player_camera.global_basis.z * distance
var ray = PhysicsRayQueryParameters3D.create(player_camera.global_position,endpoint,1)
ray.exclude = [player.get_rid()]