fixed a crash with markers beeing placed in one line

This commit is contained in:
Sokomine 2015-03-03 05:47:30 +01:00
parent 2c9fe6cb86
commit fa1efe2a29
2 changed files with 8 additions and 2 deletions

View File

@ -336,6 +336,9 @@ markers.get_marker_formspec = function(player, pos, error_msg)
if(not( ((n-i) == opposite )
or not(markers.positions[ name ][ n-i ] )
or not( coords ) or not( coords[1]) or not( coords[2])
or not(markers.positions[ name ] )
or not(markers.positions[ name ][ n-i ] )
or ( markers.positions[ name ][ n-i ].x == coords[ 1 ].x
and markers.positions[ name ][ n-i ].z == coords[ 2 ].z )
or ( markers.positions[ name ][ n-i ].x == coords[ 2 ].x
@ -349,6 +352,9 @@ markers.get_marker_formspec = function(player, pos, error_msg)
-- save data
meta:set_string( 'coords', minetest.serialize( coords ) );
end
if( not( coords ) or #coords < 2 or not( coords[1] ) or not( coords[2] )) then
return formspec_info.."Error: The last 4 markers\nyou placed do not form\na rectangle.]";
end
-- the coordinates are set; we may present an input form now

View File

@ -29,7 +29,7 @@ minetest.register_tool( "markers:land_title_register",
local name = placer:get_player_name();
-- the position is what we're actually looking for
local pos = minetest.get_pointed_thing_position( pointed_thing, 0 ); --under );
local pos = minetest.get_pointed_thing_position( pointed_thing, false ); -- not above
if( not( pos ) or not( pos.x )) then
minetest.chat_send_player( name, "Position not found.");
@ -50,7 +50,7 @@ minetest.register_tool( "markers:land_title_register",
end
local name = placer:get_player_name();
local pos = minetest.get_pointed_thing_position( pointed_thing, under );
local pos = minetest.get_pointed_thing_position( pointed_thing, false ); -- not above
if( not( pos ) or not( pos.x )) then
minetest.chat_send_player( name, "Position not found.");