Have done it thanks to https://godotengine.org/qa/user/njamster. There are some people who are more than guiding you. There presence empowers your selfawereness. Thanks https://godotengine.org/qa/user/njamster who has helped us many times and empowers us. Solved by thinking like him:)
export(NodePath) var node1
export (NodePath) var node2
var player_node
func fly_the_kite(player):
holder = player
if flied_the_kite:
# leave_follow_me()
print("nomore")
flied_the_kite = false
# PhysicsServer.joint_create_hinge(get_parent().get_node(str(player)).get_rid(), get_parent().get_node(str(player)).transform, get_node_or_null("Box5").get_rid(), get_node_or_null("Box5").transform)
Global_batch.carried_object_items.erase(self.name)
return
else:
flied_the_kite = true
print("nomore2")
# PhysicsServer.joint_create_hinge(get_parent().get_node(str(player)).get_rid(), get_parent().get_node(str(player)).transform, self.get_rid(), get_parent().get_node(str(player)).transform)
# follow()
var gg = HingeJoint.new()
add_child(gg, true)
node1 = get_node("../Player").get_path()
node2 = self.get_path()
print(get_node("./HingeJoint").get("nodes/node_b"))
get_node("./HingeJoint").set("nodes/node_a", get_node(node1))
get_node("./HingeJoint").set("nodes/node_b", get_node(node2))
What I have done, is setting the properties with "set" : get_node("./HingeJoint").set("nodes/node_a", get_node(node1))
Previous code below was not working because it tries to set a fixed property to constant value
get_node("./HingeJoint").get("nodes/node_b").NodePath = get_node(node1)