Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Move on join and on leave messages to lua (#4460)
  • Loading branch information
xunto authored and est31 committed Aug 22, 2016
1 parent cafa400 commit 0b0075e
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 33 deletions.
14 changes: 11 additions & 3 deletions builtin/game/misc.lua
Expand Up @@ -87,11 +87,19 @@ end
local player_list = {}

core.register_on_joinplayer(function(player)
player_list[player:get_player_name()] = player
local player_name = player:get_player_name()
player_list[player_name] = player
core.chat_send_all("*** " .. player_name .. " joined the game.")
end)

core.register_on_leaveplayer(function(player)
player_list[player:get_player_name()] = nil
core.register_on_leaveplayer(function(player, timed_out)
local player_name = player:get_player_name()
player_list[player_name] = nil
local announcement = "*** " .. player_name .. " left the game."
if timed_out then
announcement = announcement .. " (timed out)"
end
core.chat_send_all(announcement)
end)

function core.get_connected_players()
Expand Down
30 changes: 0 additions & 30 deletions src/server.cpp
Expand Up @@ -1118,23 +1118,6 @@ PlayerSAO* Server::StageTwoClientInit(u16 peer_id)
if(!m_simple_singleplayer_mode) {
// Send information about server to player in chat
SendChatMessage(peer_id, getStatusString());

// Send information about joining in chat
{
std::string name = "unknown";
Player *player = m_env->getPlayer(peer_id);
if(player != NULL)
name = player->getName();

std::wstring message;
message += L"*** ";
message += narrow_to_wide(name);
message += L" joined the game.";
SendChatMessage(PEER_ID_INEXISTENT,message);
if (m_admin_chat)
m_admin_chat->outgoing_queue.push_back(
new ChatEventNick(CET_NICK_ADD, name));
}
}
Address addr = getPeerAddress(player->peer_id);
std::string ip_str = addr.serializeString();
Expand Down Expand Up @@ -2660,19 +2643,6 @@ void Server::DeleteClient(u16 peer_id, ClientDeletionReason reason)

Player *player = m_env->getPlayer(peer_id);

// Collect information about leaving in chat
{
if(player != NULL && reason != CDR_DENY)
{
std::wstring name = narrow_to_wide(player->getName());
message += L"*** ";
message += name;
message += L" left the game.";
if(reason == CDR_TIMEOUT)
message += L" (timed out)";
}
}

/* Run scripts and remove from environment */
{
if(player != NULL)
Expand Down

0 comments on commit 0b0075e

Please sign in to comment.