Premium manager rework.
Contributed by yksdtc.
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
package handlers.admincommandhandlers;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.gameserver.cache.HtmCache;
|
||||
@@ -118,15 +119,21 @@ public class AdminPremium implements IAdminCommandHandler
|
||||
}
|
||||
|
||||
// TODO: Add check if account exists XD
|
||||
PremiumManager.getInstance().addPremiumMonths(months, accountName);
|
||||
admin.sendMessage("Account " + accountName + " will now have premium status until " + new SimpleDateFormat("dd.MM.yyyy HH:mm").format(PremiumManager.getInstance().getPremiumEndDate(accountName)) + ".");
|
||||
PremiumManager.getInstance().addPremiumTime(accountName, months * 30, TimeUnit.DAYS);
|
||||
admin.sendMessage("Account " + accountName + " will now have premium status until " + new SimpleDateFormat("dd.MM.yyyy HH:mm").format(PremiumManager.getInstance().getPremiumExpiration(accountName)) + ".");
|
||||
}
|
||||
|
||||
private void viewPremiumInfo(L2PcInstance admin, String accountName)
|
||||
{
|
||||
if (PremiumManager.getInstance().getPremiumEndDate(accountName) > 0)
|
||||
if (!Config.PREMIUM_SYSTEM_ENABLED)
|
||||
{
|
||||
admin.sendMessage("Account " + accountName + " has premium status until " + new SimpleDateFormat("dd.MM.yyyy HH:mm").format(PremiumManager.getInstance().getPremiumEndDate(accountName)) + ".");
|
||||
admin.sendMessage("Premium system is disabled.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (PremiumManager.getInstance().getPremiumExpiration(accountName) > 0)
|
||||
{
|
||||
admin.sendMessage("Account " + accountName + " has premium status until " + new SimpleDateFormat("dd.MM.yyyy HH:mm").format(PremiumManager.getInstance().getPremiumExpiration(accountName)) + ".");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -136,7 +143,13 @@ public class AdminPremium implements IAdminCommandHandler
|
||||
|
||||
private void removePremium(L2PcInstance admin, String accountName)
|
||||
{
|
||||
if (PremiumManager.getInstance().getPremiumEndDate(accountName) > 0)
|
||||
if (!Config.PREMIUM_SYSTEM_ENABLED)
|
||||
{
|
||||
admin.sendMessage("Premium system is disabled.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (PremiumManager.getInstance().getPremiumExpiration(accountName) > 0)
|
||||
{
|
||||
PremiumManager.getInstance().removePremiumStatus(accountName);
|
||||
admin.sendMessage("Account " + accountName + " has no longer premium status.");
|
||||
|
@@ -20,6 +20,7 @@ import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import com.l2jmobius.Config;
|
||||
import com.l2jmobius.commons.database.DatabaseFactory;
|
||||
@@ -242,8 +243,8 @@ public final class HomeBoard implements IParseBoardHandler
|
||||
else
|
||||
{
|
||||
activeChar.destroyItemByItemId("CB_Premium", Config.COMMUNITY_PREMIUM_COIN_ID, Config.COMMUNITY_PREMIUM_PRICE_PER_DAY * premiumDays, activeChar, true);
|
||||
PremiumManager.getInstance().addPremiumDays(premiumDays, activeChar.getAccountName());
|
||||
activeChar.sendMessage("Your account will now have premium status until " + new SimpleDateFormat("dd.MM.yyyy HH:mm").format(PremiumManager.getInstance().getPremiumEndDate(activeChar.getAccountName())) + ".");
|
||||
PremiumManager.getInstance().addPremiumTime(activeChar.getAccountName(), premiumDays, TimeUnit.DAYS);
|
||||
activeChar.sendMessage("Your account will now have premium status until " + new SimpleDateFormat("dd.MM.yyyy HH:mm").format(PremiumManager.getInstance().getPremiumExpiration(activeChar.getAccountName())) + ".");
|
||||
CommunityBoardHandler.separateAndSend(HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/CommunityBoard/Custom/premium/thankyou.html"), activeChar);
|
||||
}
|
||||
}
|
||||
|
@@ -37,7 +37,7 @@ public class Premium implements IVoicedCommandHandler
|
||||
if (command.startsWith("premium") && Config.PREMIUM_SYSTEM_ENABLED)
|
||||
{
|
||||
final SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy HH:mm");
|
||||
final long endDate = PremiumManager.getInstance().getPremiumEndDate(activeChar.getAccountName());
|
||||
final long endDate = PremiumManager.getInstance().getPremiumExpiration(activeChar.getAccountName());
|
||||
final NpcHtmlMessage msg = new NpcHtmlMessage(5);
|
||||
final StringBuilder html = new StringBuilder();
|
||||
if (endDate == 0)
|
||||
|
Reference in New Issue
Block a user