From 3d4d0cb5749a68436cccd08b7a135f9bb7527038 Mon Sep 17 00:00:00 2001 From: ShadowNinja Date: Fri, 29 Mar 2013 23:28:13 -0400 Subject: Add option to not prepend "Server -!- " to messages sent with minetest.chat_send_player() --- builtin/chatcommands.lua | 2 +- doc/lua_api.txt | 3 ++- src/scriptapi.cpp | 7 +++++-- src/server.cpp | 7 +++++-- src/server.h | 2 +- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/builtin/chatcommands.lua b/builtin/chatcommands.lua index 9f14749f4..f548fb01d 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 76f687f8e..38e12882d 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 8d472e6b8..3b0c15f8a 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 dda2165c8..62c190036 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 52606b0cb..b668ecae4 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, -- cgit v1.2.3