From: ShadowNinja Date: Sat, 30 Mar 2013 03:28:13 +0000 (-0400) Subject: Add option to not prepend "Server -!- " to messages sent with minetest.chat_send_player() X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=3d4d0cb5749a68436cccd08b7a135f9bb7527038;p=zefram%2Fminetest%2Fminetest_engine.git Add option to not prepend "Server -!- " to messages sent with minetest.chat_send_player() --- diff --git a/builtin/chatcommands.lua b/builtin/chatcommands.lua index 9f14749f..f548fb01 100644 --- a/builtin/chatcommands.lua +++ b/builtin/chatcommands.lua @@ -675,7 +675,7 @@ minetest.register_chatcommand("msg", { if found then if minetest.env:get_player_by_name(sendto) then minetest.log("action", "PM from "..name.." to "..sendto..": "..message) - minetest.chat_send_player(sendto, "PM from "..name..": "..message) + minetest.chat_send_player(sendto, "PM from "..name..": "..message, false) minetest.chat_send_player(name, "Message sent") else minetest.chat_send_player(name, "The player "..sendto.." is not online") diff --git a/doc/lua_api.txt b/doc/lua_api.txt index 76f687f8..38e12882 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -1005,7 +1005,8 @@ minetest.check_player_privs(name, {priv1=true,...}) -> bool, missing_privs Chat: minetest.chat_send_all(text) -minetest.chat_send_player(name, text) +minetest.chat_send_player(name, text, prepend) +^ prepend: optional, if it is set to false "Server -!- " will not be prepended to the message Inventory: minetest.get_inventory(location) -> InvRef diff --git a/src/scriptapi.cpp b/src/scriptapi.cpp index 8d472e6b..3b0c15f8 100644 --- a/src/scriptapi.cpp +++ b/src/scriptapi.cpp @@ -754,15 +754,18 @@ static int l_chat_send_all(lua_State *L) return 0; } -// chat_send_player(name, text) +// chat_send_player(name, text, prepend) static int l_chat_send_player(lua_State *L) { const char *name = luaL_checkstring(L, 1); const char *text = luaL_checkstring(L, 2); + bool prepend = true; + if (lua_isboolean(L, 3)) + prepend = lua_toboolean(L, 3); // Get server from registry Server *server = get_server(L); // Send - server->notifyPlayer(name, narrow_to_wide(text)); + server->notifyPlayer(name, narrow_to_wide(text), prepend); return 0; } diff --git a/src/server.cpp b/src/server.cpp index dda2165c..62c19003 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -4606,12 +4606,15 @@ void Server::saveConfig() g_settings->updateConfigFile(m_path_config.c_str()); } -void Server::notifyPlayer(const char *name, const std::wstring msg) +void Server::notifyPlayer(const char *name, const std::wstring msg, const bool prepend = true) { Player *player = m_env->getPlayer(name); if(!player) return; - SendChatMessage(player->peer_id, std::wstring(L"Server: -!- ")+msg); + if (prepend) + SendChatMessage(player->peer_id, std::wstring(L"Server -!- ")+msg); + else + SendChatMessage(player->peer_id, msg); } bool Server::showFormspec(const char *playername, const std::string &formspec, const std::string &formname) diff --git a/src/server.h b/src/server.h index 52606b0c..b668ecae 100644 --- a/src/server.h +++ b/src/server.h @@ -456,7 +456,7 @@ public: } // Envlock and conlock should be locked when calling this - void notifyPlayer(const char *name, const std::wstring msg); + void notifyPlayer(const char *name, const std::wstring msg, const bool prepend); void notifyPlayers(const std::wstring msg); void spawnParticle(const char *playername, v3f pos, v3f velocity, v3f acceleration,