Browse Source

Fix crash if `/home` is executed with an invalid name (#3000)

Zemtzov7 1 year ago
parent
commit
8eb4437ac8
2 changed files with 8 additions and 0 deletions
  1. 7 0
      mods/sethome/init.lua
  2. 1 0
      mods/sethome/locale/sethome.ru.tr

+ 7 - 0
mods/sethome/init.lua

@@ -52,6 +52,9 @@ end
 
 sethome.get = function(name)
 	local player = minetest.get_player_by_name(name)
+	if not player then
+		return false, S("This command can only be executed in-game!")
+	end
 	local player_meta = player:get_meta()
 	local pos = minetest.string_to_pos(player_meta:get_string("sethome:home"))
 	if pos then
@@ -86,6 +89,10 @@ minetest.register_chatcommand("home", {
 	description = S("Teleport you to your home point"),
 	privs = {home = true},
 	func = function(name)
+		local player = minetest.get_player_by_name(name)
+		if not player then
+			return false, S("This command can only be executed in-game!")
+		end
 		if sethome.go(name) then
 			return true, S("Teleported to home!")
 		end

+ 1 - 0
mods/sethome/locale/sethome.ru.tr

@@ -6,3 +6,4 @@ Set a home using /sethome=Установите домашнюю точку, ис
 Set your home point=Установите вашу домашнюю точку
 Home set!=Домашняя точка установлена!
 Player not found!=Игрок не обнаружен!
+This command can only be executed in-game!=Эта команда может быть использована только в игре!