Block & report player self-interaction (#11137)
parent
f4118a4fde
commit
88d1fcfe23
|
@ -4662,6 +4662,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`
|
||||||
|
|
|
@ -1051,6 +1051,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);
|
||||||
|
|
Loading…
Reference in New Issue