i'm trying to achieve an "arrow on the knee" effect (arrow stick to the character/obstacle when they hit something) in a 2D multiplayer game. I created a base class for all projectiles, and gave them the
sticky property. The projectiles are always owned by the server, therefore the below code get called in the server projectile node
stick() freezes the projectile in position, and place it as child of the obstacle, while communicating everything to the clients (using my custom
rpc_list method storee in an autoload).
Spt.rpc_list(self, match_node.match_list.keys(), false,false, "puppet_stick", str(obj.get_path()), pos)
remote func puppet_stick(path, pos):
it wors flowlessly, but everytime the projectile hit something, the error debugger print 2 "red" errors, that says
_clear monitoring: This function cant be used during the in/out signal
areasetshapedisabled: Can't change this state while flushing queries. Use call deferred() or setdeferred() to change monitoring state instead.
and after roughly 50-100 of this message, the server crashes without notices.
I would gladly use call deferred or set deferred, but i have no idea where!