29 lines
		
	
	
		
			633 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			633 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
function onSay(player, words, param)
 | 
						|
	if not player:getGroup():getAccess() then
 | 
						|
		return true
 | 
						|
	end
 | 
						|
 | 
						|
	local steps = tonumber(param)
 | 
						|
	if not steps then
 | 
						|
		return false
 | 
						|
	end
 | 
						|
 | 
						|
	local position = player:getPosition()
 | 
						|
	position:getNextPosition(player:getDirection(), steps)
 | 
						|
	
 | 
						|
	position = player:getClosestFreePosition(position, false)
 | 
						|
	if position.x == 0 then
 | 
						|
		player:sendCancelMessage("You cannot teleport there.")
 | 
						|
		return false
 | 
						|
	end
 | 
						|
	
 | 
						|
	local tile = Tile(position)
 | 
						|
	if tile == nil or tile:getGround() == nil then
 | 
						|
		player:sendCancelMessage("You cannot teleport there.")
 | 
						|
		return false
 | 
						|
	end
 | 
						|
 | 
						|
	player:teleportTo(position)
 | 
						|
	return false
 | 
						|
end
 |