From 5a51516091d93d5814ee7a1c730e1b95e6ce04c1 Mon Sep 17 00:00:00 2001 From: Revision Date: Sat, 22 Feb 2025 16:54:21 +0100 Subject: [PATCH] Send the player a message on login if the weekend bonus is active --- src/mod_weekendbonus.cpp | 2 +- src/mod_weekendbonus.h | 5 ++++- src/mod_weekendbonus_player.cpp | 11 +++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 src/mod_weekendbonus_player.cpp diff --git a/src/mod_weekendbonus.cpp b/src/mod_weekendbonus.cpp index 44e591e..4ca7caa 100644 --- a/src/mod_weekendbonus.cpp +++ b/src/mod_weekendbonus.cpp @@ -1,6 +1,6 @@ #include "mod_weekendbonus.h" -WeekendBonus::WeekendBonus() : WorldScript("WeekendBonusWorldScript") {} +WeekendBonus::WeekendBonus() : PlayerScript("WeekendBonusPlayerScript"), WorldScript("WeekendBonusWorldScript") {} void Addmod_weekendbonusScripts() { diff --git a/src/mod_weekendbonus.h b/src/mod_weekendbonus.h index b2626a9..cb97a12 100644 --- a/src/mod_weekendbonus.h +++ b/src/mod_weekendbonus.h @@ -14,11 +14,14 @@ enum Day SATURDAY }; -class WeekendBonus : public WorldScript +class WeekendBonus : public PlayerScript, WorldScript { public: WeekendBonus(); + // PlayerScript + void OnPlayerLogin(Player* /*player*/) override; + // WorldScript void OnAfterConfigLoad(bool /*reload*/) override; void OnStartup() override; diff --git a/src/mod_weekendbonus_player.cpp b/src/mod_weekendbonus_player.cpp new file mode 100644 index 0000000..a497419 --- /dev/null +++ b/src/mod_weekendbonus_player.cpp @@ -0,0 +1,11 @@ +#include "Chat.h" + +#include "mod_weekendbonus.h" + +void WeekendBonus::OnPlayerLogin(Player* player) +{ + if ((localtime(&LocalTime)->tm_wday == Day::FRIDAY && localtime(&LocalTime)->tm_hour >= 18) || localtime(&LocalTime)->tm_wday == Day::SATURDAY || localtime(&LocalTime)->tm_wday == Day::SUNDAY) + { + ChatHandler(player->GetSession()).SendSysMessage("The weekend bonus is active, granting you bonuses!"); + } +}