diff --git a/Release/Plugins/RenX.Core.lib b/Release/Plugins/RenX.Core.lib index 7aeaa2e..7815143 100644 Binary files a/Release/Plugins/RenX.Core.lib and b/Release/Plugins/RenX.Core.lib differ diff --git a/RenX.Core/RenX_Plugin.cpp b/RenX.Core/RenX_Plugin.cpp index e6f2274..0f65f32 100644 --- a/RenX.Core/RenX_Plugin.cpp +++ b/RenX.Core/RenX_Plugin.cpp @@ -35,6 +35,16 @@ RenX::Plugin::~Plugin() } } +void RenX::Plugin::RenX_OnPlayerCreate(Server *, const RenX::PlayerInfo *) +{ + return; +} + +void RenX::Plugin::RenX_OnPlayerDelete(Server *, const RenX::PlayerInfo *) +{ + return; +} + void RenX::Plugin::RenX_OnJoin(Server *, const RenX::PlayerInfo *) { return; diff --git a/RenX.Core/RenX_Plugin.h b/RenX.Core/RenX_Plugin.h index de1e174..8fb7ecf 100644 --- a/RenX.Core/RenX_Plugin.h +++ b/RenX.Core/RenX_Plugin.h @@ -37,6 +37,10 @@ namespace RenX class RENX_API Plugin : public Jupiter::Plugin { public: + /** Non-RCON RenX logs */ + virtual void RenX_OnPlayerCreate(Server *server, const PlayerInfo *player); + virtual void RenX_OnPlayerDelete(Server *server, const PlayerInfo *player); + /** Player type logs */ virtual void RenX_OnJoin(Server *server, const PlayerInfo *player); virtual void RenX_OnPart(Server *server, const PlayerInfo *player); diff --git a/RenX.Core/RenX_Server.cpp b/RenX.Core/RenX_Server.cpp index bd0c03a..fd91508 100644 --- a/RenX.Core/RenX_Server.cpp +++ b/RenX.Core/RenX_Server.cpp @@ -254,6 +254,9 @@ bool RenX::Server::removePlayer(int id) if (node->data->id == id) { RenX::PlayerInfo *p = RenX::Server::players.remove(node); + Jupiter::ArrayList &xPlugins = *RenX::getCore()->getPlugins(); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnPlayerDelete(this, p); delete p; return true; } @@ -479,6 +482,9 @@ inline RenX::PlayerInfo *getPlayerOrAdd(RenX::Server *server, const Jupiter::Rea r->isBot = isBot; r->joinTime = time(nullptr); if (id != 0) server->players.add(r); + Jupiter::ArrayList &xPlugins = *RenX::getCore()->getPlugins(); + for (size_t i = 0; i < xPlugins.size(); i++) + xPlugins.get(i)->RenX_OnPlayerCreate(server, r); } else if (r->name.size() == 0) r->name = name; r->team = team;