mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-10-31 07:25:22 +01:00 
			
		
		
		
	Block & report player self-interaction (#11137)
This commit is contained in:
		| @@ -4654,6 +4654,7 @@ Call these functions only at load time! | |||||||
|     * `cheat`: `{type=<cheat_type>}`, where `<cheat_type>` is one of: |     * `cheat`: `{type=<cheat_type>}`, where `<cheat_type>` is one of: | ||||||
|         * `moved_too_fast` |         * `moved_too_fast` | ||||||
|         * `interacted_too_far` |         * `interacted_too_far` | ||||||
|  |         * `interacted_with_self` | ||||||
|         * `interacted_while_dead` |         * `interacted_while_dead` | ||||||
|         * `finished_unknown_dig` |         * `finished_unknown_dig` | ||||||
|         * `dug_unbreakable` |         * `dug_unbreakable` | ||||||
|   | |||||||
| @@ -1041,6 +1041,12 @@ void Server::handleCommand_Interact(NetworkPacket *pkt) | |||||||
| 		if (pointed.type == POINTEDTHING_NODE) { | 		if (pointed.type == POINTEDTHING_NODE) { | ||||||
| 			target_pos = intToFloat(pointed.node_undersurface, BS); | 			target_pos = intToFloat(pointed.node_undersurface, BS); | ||||||
| 		} else if (pointed.type == POINTEDTHING_OBJECT) { | 		} else if (pointed.type == POINTEDTHING_OBJECT) { | ||||||
|  | 			if (playersao->getId() == pointed_object->getId()) { | ||||||
|  | 				actionstream << "Server: " << player->getName() | ||||||
|  | 					<< " attempted to interact with themselves" << std::endl; | ||||||
|  | 				m_script->on_cheat(playersao, "interacted_with_self"); | ||||||
|  | 				return; | ||||||
|  | 			} | ||||||
| 			target_pos = pointed_object->getBasePosition(); | 			target_pos = pointed_object->getBasePosition(); | ||||||
| 		} | 		} | ||||||
| 		float d = playersao->getEyePosition().getDistanceFrom(target_pos); | 		float d = playersao->getEyePosition().getDistanceFrom(target_pos); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user