speed: add api methods and preliminary csm
parent
093913be33
commit
a1ea16f10f
|
@ -31,3 +31,5 @@ load_mod_autodupe = true
|
|||
load_mod_randomscreenshot = true
|
||||
load_mod_util = true
|
||||
load_mod_sapscaffold = true
|
||||
load_mod_adupe = false
|
||||
load_mod_speedlimit = true
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
minetest.register_globalstep(function()
|
||||
if minetest.settings:get_bool("movement_ignore_server_speed") then
|
||||
minetest.localplayer:set_override_speed()
|
||||
end
|
||||
end)
|
||||
|
||||
minetest.register_cheat("IgnoreServerSpeed", "Movement", "movement_ignore_server_speed")
|
|
@ -504,7 +504,6 @@ int LuaLocalPlayer::l_get_object(lua_State *L)
|
|||
return 1;
|
||||
}
|
||||
|
||||
|
||||
LuaLocalPlayer *LuaLocalPlayer::checkobject(lua_State *L, int narg)
|
||||
{
|
||||
luaL_checktype(L, narg, LUA_TUSERDATA);
|
||||
|
@ -530,6 +529,14 @@ LocalPlayer *LuaLocalPlayer::getobject(lua_State *L, int narg)
|
|||
return player;
|
||||
}
|
||||
|
||||
int LuaLocalPlayer::l_set_override_speed(lua_State *L)
|
||||
{
|
||||
LocalPlayer *player = getobject(L, 1);
|
||||
g_settings->setBool("movement_ignore_server_speed",true);
|
||||
player->movement_speed_walk = g_settings->getFloat("movement_speed_walk") * BS;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int LuaLocalPlayer::gc_object(lua_State *L)
|
||||
{
|
||||
LuaLocalPlayer *o = *(LuaLocalPlayer **)(lua_touserdata(L, 1));
|
||||
|
@ -604,6 +611,7 @@ const luaL_Reg LuaLocalPlayer::methods[] = {
|
|||
|
||||
luamethod(LuaLocalPlayer, get_nearby_objects),
|
||||
luamethod(LuaLocalPlayer, get_object),
|
||||
luamethod(LuaLocalPlayer, set_override_speed),
|
||||
|
||||
{0, 0}
|
||||
};
|
||||
|
|
|
@ -123,6 +123,9 @@ private:
|
|||
// get_object(self)
|
||||
static int l_get_object(lua_State *L);
|
||||
|
||||
// set_override_speed
|
||||
static int l_set_override_speed(lua_State *L);
|
||||
|
||||
LocalPlayer *m_localplayer = nullptr;
|
||||
|
||||
public:
|
||||
|
|
Loading…
Reference in New Issue