diff options
author | Perttu Ahola <celeron55@gmail.com> | 2012-04-01 13:08:52 +0300 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2012-04-01 13:08:52 +0300 |
commit | 8ecfd88d92b0c8bf695f862b76077488127ab33f (patch) | |
tree | 13b1e4ebc8fd1f030f936a4cd8a023978e4b7e4e /src | |
parent | b54178bbbdf7e66ef5107fe3d0fe434b60cd9a68 (diff) | |
download | minetest-8ecfd88d92b0c8bf695f862b76077488127ab33f.tar.gz minetest-8ecfd88d92b0c8bf695f862b76077488127ab33f.tar.bz2 minetest-8ecfd88d92b0c8bf695f862b76077488127ab33f.zip |
Remplement and improve /setting in Lua, now called /set
Diffstat (limited to 'src')
-rw-r--r-- | src/scriptapi.cpp | 10 | ||||
-rw-r--r-- | src/servercommand.cpp | 26 |
2 files changed, 10 insertions, 26 deletions
diff --git a/src/scriptapi.cpp b/src/scriptapi.cpp index ac5142209..f8fca00c7 100644 --- a/src/scriptapi.cpp +++ b/src/scriptapi.cpp @@ -3800,6 +3800,15 @@ static int l_register_craft(lua_State *L) return 0; /* number of results */ } +// setting_set(name, value) +static int l_setting_set(lua_State *L) +{ + const char *name = luaL_checkstring(L, 1); + const char *value = luaL_checkstring(L, 2); + g_settings->set(name, value); + return 0; +} + // setting_get(name) static int l_setting_get(lua_State *L) { @@ -4006,6 +4015,7 @@ static const struct luaL_Reg minetest_f [] = { {"register_item_raw", l_register_item_raw}, {"register_alias_raw", l_register_alias_raw}, {"register_craft", l_register_craft}, + {"setting_set", l_setting_set}, {"setting_get", l_setting_get}, {"setting_getbool", l_setting_getbool}, {"chat_send_all", l_chat_send_all}, diff --git a/src/servercommand.cpp b/src/servercommand.cpp index f6088925e..2c74c81ea 100644 --- a/src/servercommand.cpp +++ b/src/servercommand.cpp @@ -79,30 +79,6 @@ void cmd_shutdown(std::wostringstream &os, ctx->flags |= SEND_TO_OTHERS; } -void cmd_setting(std::wostringstream &os, - ServerCommandContext *ctx) -{ - if(!ctx->server->checkPriv(ctx->player->getName(), "server")) - { - os<<L"-!- You don't have permission to do that"; - return; - } - - /*std::string confline = wide_to_narrow( - ctx->parms[1] + L" = " + ctx->params[2]);*/ - - std::string confline = wide_to_narrow(ctx->paramstring); - - actionstream<<ctx->player->getName() - <<" sets: "<<confline<<std::endl; - - g_settings->parseConfigLine(confline); - - ctx->server->saveConfig(); - - os<< L"-!- Setting changed and configuration saved."; -} - void cmd_banunban(std::wostringstream &os, ServerCommandContext *ctx) { if(!ctx->server->checkPriv(ctx->player->getName(), "ban")) @@ -194,8 +170,6 @@ std::wstring processServerCommand(ServerCommandContext *ctx) cmd_time(os, ctx); else if(ctx->parms[0] == L"shutdown") cmd_shutdown(os, ctx); - else if(ctx->parms[0] == L"setting") - cmd_setting(os, ctx); else if(ctx->parms[0] == L"ban" || ctx->parms[0] == L"unban") cmd_banunban(os, ctx); else if(ctx->parms[0] == L"me") |