Addition of CustomDonatorEnd player variable.

This commit is contained in:
MobiusDevelopment
2020-07-19 11:34:43 +00:00
parent 6ca27c096f
commit 7e12777b77
4 changed files with 30 additions and 6 deletions

View File

@@ -24,6 +24,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction; import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.util.BuilderUtil; import org.l2jmobius.gameserver.util.BuilderUtil;
import org.l2jmobius.gameserver.util.Util;
public class AdminDonator implements IAdminCommandHandler public class AdminDonator implements IAdminCommandHandler
{ {
@@ -48,8 +49,7 @@ public class AdminDonator implements IAdminCommandHandler
if (target instanceof PlayerInstance) if (target instanceof PlayerInstance)
{ {
final PlayerInstance targetPlayer = (PlayerInstance) target; final PlayerInstance targetPlayer = (PlayerInstance) target;
final boolean newDonator = !targetPlayer.isDonator(); if (!targetPlayer.isDonator())
if (newDonator)
{ {
targetPlayer.setDonator(true); targetPlayer.setDonator(true);
targetPlayer.updateNameTitleColor(); targetPlayer.updateNameTitleColor();
@@ -59,6 +59,14 @@ public class AdminDonator implements IAdminCommandHandler
AdminData.broadcastMessageToGMs("Warn: " + activeChar.getName() + " has set " + targetPlayer.getName() + " as donator !"); AdminData.broadcastMessageToGMs("Warn: " + activeChar.getName() + " has set " + targetPlayer.getName() + " as donator !");
targetPlayer.broadcastPacket(new SocialAction(targetPlayer.getObjectId(), 16)); targetPlayer.broadcastPacket(new SocialAction(targetPlayer.getObjectId(), 16));
targetPlayer.broadcastUserInfo(); targetPlayer.broadcastUserInfo();
// Optional duration in days parameter.
final String value = command.replace("admin_setdonator ", "");
if (Util.isDigit(value))
{
final long donatorTime = Long.valueOf(value) * 24 * 60 * 60 * 1000;
targetPlayer.getVariables().set("CustomDonatorEnd", donatorTime == 0 ? 0 : System.currentTimeMillis() + donatorTime);
}
} }
else else
{ {
@@ -69,6 +77,9 @@ public class AdminDonator implements IAdminCommandHandler
activeChar.sendMessage("You have revoked donator status from " + targetPlayer.getName()); activeChar.sendMessage("You have revoked donator status from " + targetPlayer.getName());
AdminData.broadcastMessageToGMs("Warn: " + activeChar.getName() + " has removed donator status from player" + targetPlayer.getName()); AdminData.broadcastMessageToGMs("Warn: " + activeChar.getName() + " has removed donator status from player" + targetPlayer.getName());
targetPlayer.broadcastUserInfo(); targetPlayer.broadcastUserInfo();
// Optional duration in days parameter.
targetPlayer.getVariables().remove("CustomDonatorEnd");
} }
} }
else else

View File

@@ -14547,7 +14547,8 @@ public class PlayerInstance extends Playable
setNoble(true); setNoble(true);
} }
if (getVariables().getBoolean("CustomDonator", false)) final long donatorEnd = getVariables().getLong("CustomDonatorEnd", 0);
if (getVariables().getBoolean("CustomDonator", false) && ((donatorEnd == 0) || (donatorEnd > System.currentTimeMillis())))
{ {
setDonator(true); setDonator(true);
} }

View File

@@ -24,6 +24,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction; import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.util.BuilderUtil; import org.l2jmobius.gameserver.util.BuilderUtil;
import org.l2jmobius.gameserver.util.Util;
public class AdminDonator implements IAdminCommandHandler public class AdminDonator implements IAdminCommandHandler
{ {
@@ -48,8 +49,7 @@ public class AdminDonator implements IAdminCommandHandler
if (target instanceof PlayerInstance) if (target instanceof PlayerInstance)
{ {
final PlayerInstance targetPlayer = (PlayerInstance) target; final PlayerInstance targetPlayer = (PlayerInstance) target;
final boolean newDonator = !targetPlayer.isDonator(); if (!targetPlayer.isDonator())
if (newDonator)
{ {
targetPlayer.setDonator(true); targetPlayer.setDonator(true);
targetPlayer.updateNameTitleColor(); targetPlayer.updateNameTitleColor();
@@ -59,6 +59,14 @@ public class AdminDonator implements IAdminCommandHandler
AdminData.broadcastMessageToGMs("Warn: " + activeChar.getName() + " has set " + targetPlayer.getName() + " as donator !"); AdminData.broadcastMessageToGMs("Warn: " + activeChar.getName() + " has set " + targetPlayer.getName() + " as donator !");
targetPlayer.broadcastPacket(new SocialAction(targetPlayer.getObjectId(), 16)); targetPlayer.broadcastPacket(new SocialAction(targetPlayer.getObjectId(), 16));
targetPlayer.broadcastUserInfo(); targetPlayer.broadcastUserInfo();
// Optional duration in days parameter.
final String value = command.replace("admin_setdonator ", "");
if (Util.isDigit(value))
{
final long donatorTime = Long.valueOf(value) * 24 * 60 * 60 * 1000;
targetPlayer.getVariables().set("CustomDonatorEnd", donatorTime == 0 ? 0 : System.currentTimeMillis() + donatorTime);
}
} }
else else
{ {
@@ -69,6 +77,9 @@ public class AdminDonator implements IAdminCommandHandler
activeChar.sendMessage("You have revoked donator status from " + targetPlayer.getName()); activeChar.sendMessage("You have revoked donator status from " + targetPlayer.getName());
AdminData.broadcastMessageToGMs("Warn: " + activeChar.getName() + " has removed donator status from player" + targetPlayer.getName()); AdminData.broadcastMessageToGMs("Warn: " + activeChar.getName() + " has removed donator status from player" + targetPlayer.getName());
targetPlayer.broadcastUserInfo(); targetPlayer.broadcastUserInfo();
// Optional duration in days parameter.
targetPlayer.getVariables().remove("CustomDonatorEnd");
} }
} }
else else

View File

@@ -14902,7 +14902,8 @@ public class PlayerInstance extends Playable
setNoble(true); setNoble(true);
} }
if (getVariables().getBoolean("CustomDonator", false)) final long donatorEnd = getVariables().getLong("CustomDonatorEnd", 0);
if (getVariables().getBoolean("CustomDonator", false) && ((donatorEnd == 0) || (donatorEnd > System.currentTimeMillis())))
{ {
setDonator(true); setDonator(true);
} }