Add option to not prepend "Server -!- " to messages sent with minetest.chat_send_player()

This commit is contained in:
ShadowNinja 2013-03-29 23:28:13 -04:00 committed by Perttu Ahola
parent 9894167bbf
commit 3d4d0cb574
5 changed files with 14 additions and 7 deletions

View File

@ -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")

View File

@ -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

View File

@ -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;
}

View File

@ -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)

View File

@ -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,