Error msg if trying to teleport attached player (#9824)
authorWuzzy <wuzzy2@mail.ru>
Sat, 16 May 2020 19:41:41 +0000 (21:41 +0200)
committerGitHub <noreply@github.com>
Sat, 16 May 2020 19:41:41 +0000 (21:41 +0200)
builtin/game/chat.lua

index c8fa4175d9ccb33049190d535b636d62b49f74ad..b9f84e522a27445b89db5556c97b5a5b413f51ec 100644 (file)
@@ -443,6 +443,9 @@ core.register_chatcommand("teleport", {
                        end
                        local teleportee = core.get_player_by_name(name)
                        if teleportee then
+                               if teleportee:get_attach() then
+                                       return false, "Can't teleport, you're attached to an object!"
+                               end
                                teleportee:set_pos(p)
                                return true, "Teleporting to "..core.pos_to_string(p)
                        end
@@ -460,6 +463,9 @@ core.register_chatcommand("teleport", {
                end
 
                if teleportee and p then
+                       if teleportee:get_attach() then
+                               return false, "Can't teleport, you're attached to an object!"
+                       end
                        p = find_free_position_near(p)
                        teleportee:set_pos(p)
                        return true, "Teleporting to " .. target_name
@@ -480,6 +486,9 @@ core.register_chatcommand("teleport", {
                        teleportee = core.get_player_by_name(teleportee_name)
                end
                if teleportee and p.x and p.y and p.z then
+                       if teleportee:get_attach() then
+                               return false, "Can't teleport, player is attached to an object!"
+                       end
                        teleportee:set_pos(p)
                        return true, "Teleporting " .. teleportee_name
                                        .. " to " .. core.pos_to_string(p)
@@ -498,6 +507,9 @@ core.register_chatcommand("teleport", {
                        end
                end
                if teleportee and p then
+                       if teleportee:get_attach() then
+                               return false, "Can't teleport, player is attached to an object!"
+                       end
                        p = find_free_position_near(p)
                        teleportee:set_pos(p)
                        return true, "Teleporting " .. teleportee_name