I am trying to get a cloud to damage you when you enter it, I cant just use area entered signal on the player because I need to be able to spawn new clouds at any time.
this is my code for testing, I have a function that makes the player take damage and im calling it in this script when the player enters the area, but the player never takes damage, it prints but i dont take damage, the reason this says multiplayer is because maybe it has something to do with that? idunno help me out here
Your player doesn’t take any damage, because in the cloud script, you are assigning a Player.new() instance to the player variable, which you later use to assign the damage to. You don’t need the player variable at all, just remove that line.
And your _on_area_entered() method should assign the damage to the area argument after checking if this is a Player (assuming your Player class derives from Area3D, otherwise this won’t work)
func _on_area_entered(area):
if area is Player:
area.AOE_damage()
I don’t quite understand this question, could you elaborate?