--[[ --walk along side walls self.turn = false if self.direction ~= nil then --correct the sideways walk when hits a node if minetest.env:get_node({x=self.object:getpos().x+(self.direction.x*1.5),y=self.object:getpos().y,z=self.object:getpos().z}).name ~= "air" then turn_x = true end if minetest.env:get_node({x=self.object:getpos().x,y=self.object:getpos().y,z=self.object:getpos().z+(self.direction.z*1.5)}).name ~= "air" then turn_z = true end if turn_x == true or turn_z == true then if self.yaw >= 0 and self.yaw < 45 then self.yaw = self.yaw + 0.1 elseif self.yaw >= 45 and self.yaw < 90 then self.yaw = self.yaw + 0.1 elseif self.yaw >= 90 and self.yaw < 135 then self.yaw = self.yaw + 0.1 elseif self.yaw >= 135 and self.yaw < 180 then self.yaw = self.yaw + 0.1 elseif self.yaw >= 180 and self.yaw < 225 then self.yaw = self.yaw + 0.1 elseif self.yaw >= 225 and self.yaw < 270 then self.yaw = self.yaw + 0.1 elseif self.yaw >= 270 and self.yaw < 315 then self.yaw = self.yaw + 0.1 elseif self.yaw >= 315 and self.yaw <= 360 then self.yaw = self.yaw + 0.1 if self.yaw > 360 then self.yaw = 0 end end self.object:setyaw(self.yaw) self.direction = {x = math.sin(self.yaw)*-1, y = 0, z = math.cos(self.yaw)} self.object:setvelocity({x=self.direction.x,y=self.object:getvelocity().y,z=self.direction.z}) self.object:setacceleration({x=self.direction.x,y=-10,z=self.direction.z}) self.jump_timer = 0 turn_x = false turn_z = false self.turn = true end end ]]--