mirror of
https://github.com/minetest/minetest.git
synced 2024-08-18 20:44:16 +02:00
Define control(bits) as "unset" for entities (#11995)
This commit is contained in:
parent
48e508052a
commit
fe0b2d02bf
@ -6716,18 +6716,21 @@ object you are working with still exists.
|
||||
`aux1`, `sneak`, `dig`, `place`, `LMB`, `RMB`, and `zoom`.
|
||||
* The fields `LMB` and `RMB` are equal to `dig` and `place` respectively,
|
||||
and exist only to preserve backwards compatibility.
|
||||
* Returns an empty table `{}` if the object is not a player.
|
||||
* `get_player_control_bits()`: returns integer with bit packed player pressed
|
||||
keys. Bits:
|
||||
* 0 - up
|
||||
* 1 - down
|
||||
* 2 - left
|
||||
* 3 - right
|
||||
* 4 - jump
|
||||
* 5 - aux1
|
||||
* 6 - sneak
|
||||
* 7 - dig
|
||||
* 8 - place
|
||||
* 9 - zoom
|
||||
keys.
|
||||
* Bits:
|
||||
* 0 - up
|
||||
* 1 - down
|
||||
* 2 - left
|
||||
* 3 - right
|
||||
* 4 - jump
|
||||
* 5 - aux1
|
||||
* 6 - sneak
|
||||
* 7 - dig
|
||||
* 8 - place
|
||||
* 9 - zoom
|
||||
* Returns `0` (no bits set) if the object is not a player.
|
||||
* `set_physics_override(override_table)`
|
||||
* `override_table` is a table with the following fields:
|
||||
* `speed`: multiplier to default walking speed value (default: `1`)
|
||||
|
@ -1367,11 +1367,12 @@ int ObjectRef::l_get_player_control(lua_State *L)
|
||||
NO_MAP_LOCK_REQUIRED;
|
||||
ObjectRef *ref = checkobject(L, 1);
|
||||
RemotePlayer *player = getplayer(ref);
|
||||
if (player == nullptr)
|
||||
return 0;
|
||||
|
||||
const PlayerControl &control = player->getPlayerControl();
|
||||
lua_newtable(L);
|
||||
if (player == nullptr)
|
||||
return 1;
|
||||
|
||||
const PlayerControl &control = player->getPlayerControl();
|
||||
lua_pushboolean(L, control.direction_keys & (1 << 0));
|
||||
lua_setfield(L, -2, "up");
|
||||
lua_pushboolean(L, control.direction_keys & (1 << 1));
|
||||
@ -1406,8 +1407,10 @@ int ObjectRef::l_get_player_control_bits(lua_State *L)
|
||||
NO_MAP_LOCK_REQUIRED;
|
||||
ObjectRef *ref = checkobject(L, 1);
|
||||
RemotePlayer *player = getplayer(ref);
|
||||
if (player == nullptr)
|
||||
return 0;
|
||||
if (player == nullptr) {
|
||||
lua_pushinteger(L, 0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
const auto &c = player->getPlayerControl();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user