summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/chatcommands.lua2
-rw-r--r--doc/lua_api.txt3
-rw-r--r--src/scriptapi.cpp7
-rw-r--r--src/server.cpp7
-rw-r--r--src/server.h2
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,