diff --git a/zone/client_packet.cpp b/zone/client_packet.cpp index cd28da8d3..c0760ca25 100644 --- a/zone/client_packet.cpp +++ b/zone/client_packet.cpp @@ -819,8 +819,9 @@ void Client::CompleteConnect() if (parse->PlayerHasQuestSub(EVENT_CONNECT)) { const std::string& export_string = fmt::format( - "{} {}", - GetPP().lastlogin, + "{} {} {}", + e.last_login, + time(nullptr) - e.last_login, is_first_login ? 1 : 0 ); parse->EventPlayer(EVENT_CONNECT, this, export_string, 0); diff --git a/zone/embparser.cpp b/zone/embparser.cpp index 9d3e2f156..16a662482 100644 --- a/zone/embparser.cpp +++ b/zone/embparser.cpp @@ -2546,7 +2546,8 @@ void PerlembParser::ExportEventVariables( case EVENT_CONNECT: { Seperator sep(data); ExportVar(package_name.c_str(), "last_login", sep.arg[0]); - ExportVar(package_name.c_str(), "is_first_login", sep.arg[1]); + ExportVar(package_name.c_str(), "seconds_since_last_login", sep.arg[1]); + ExportVar(package_name.c_str(), "is_first_login", sep.arg[2]); break; } diff --git a/zone/lua_parser_events.cpp b/zone/lua_parser_events.cpp index 7cdd8cbe3..8d2517fe3 100644 --- a/zone/lua_parser_events.cpp +++ b/zone/lua_parser_events.cpp @@ -1822,7 +1822,10 @@ void handle_player_connect( lua_pushinteger(L, Strings::ToUnsignedInt(sep.arg[0])); lua_setfield(L, -2, "last_login"); - lua_pushboolean(L, Strings::ToBool(sep.arg[1])); + lua_pushinteger(L, Strings::ToUnsignedInt(sep.arg[1])); + lua_setfield(L, -2, "seconds_since_last_login"); + + lua_pushboolean(L, Strings::ToBool(sep.arg[2])); lua_setfield(L, -2, "is_first_login"); }