Delay fifteen milliseconds before making administrators invisible on EnterWorld.

This commit is contained in:
MobiusDevelopment
2019-07-31 11:10:42 +00:00
parent c704d4687a
commit 914f3aee14
14 changed files with 480 additions and 437 deletions

View File

@@ -178,42 +178,45 @@ public class EnterWorld implements IClientIncomingPacket
// Apply special GM properties to the GM when entering // Apply special GM properties to the GM when entering
if (player.isGM()) if (player.isGM())
{ {
gmStartupProcess: ThreadPool.schedule(() -> // Needs a small delay.
{ {
if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel())) gmStartupProcess:
{ {
BuilderUtil.setHiding(player, true); if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
{
BuilderUtil.setHiding(player, true);
BuilderUtil.sendSysMessage(player, "hide is default for builder.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage.
break gmStartupProcess;
}
BuilderUtil.sendSysMessage(player, "hide is default for builder."); if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder."); {
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder."); player.setIsInvul(true);
}
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage. if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
break gmStartupProcess; {
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
} }
}, 15);
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
player.setIsInvul(true);
}
if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
{
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
}
if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel())) if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
{ {

View File

@@ -183,42 +183,45 @@ public class EnterWorld implements IClientIncomingPacket
// Apply special GM properties to the GM when entering // Apply special GM properties to the GM when entering
if (player.isGM()) if (player.isGM())
{ {
gmStartupProcess: ThreadPool.schedule(() -> // Needs a small delay.
{ {
if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel())) gmStartupProcess:
{ {
BuilderUtil.setHiding(player, true); if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
{
BuilderUtil.setHiding(player, true);
BuilderUtil.sendSysMessage(player, "hide is default for builder.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage.
break gmStartupProcess;
}
BuilderUtil.sendSysMessage(player, "hide is default for builder."); if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder."); {
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder."); player.setIsInvul(true);
}
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage. if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
break gmStartupProcess; {
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
} }
}, 15);
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
player.setIsInvul(true);
}
if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
{
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
}
if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel())) if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
{ {

View File

@@ -183,42 +183,45 @@ public class EnterWorld implements IClientIncomingPacket
// Apply special GM properties to the GM when entering // Apply special GM properties to the GM when entering
if (player.isGM()) if (player.isGM())
{ {
gmStartupProcess: ThreadPool.schedule(() -> // Needs a small delay.
{ {
if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel())) gmStartupProcess:
{ {
BuilderUtil.setHiding(player, true); if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
{
BuilderUtil.setHiding(player, true);
BuilderUtil.sendSysMessage(player, "hide is default for builder.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage.
break gmStartupProcess;
}
BuilderUtil.sendSysMessage(player, "hide is default for builder."); if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder."); {
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder."); player.setIsInvul(true);
}
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage. if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
break gmStartupProcess; {
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
} }
}, 15);
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
player.setIsInvul(true);
}
if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
{
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
}
if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel())) if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
{ {

View File

@@ -183,42 +183,45 @@ public class EnterWorld implements IClientIncomingPacket
// Apply special GM properties to the GM when entering // Apply special GM properties to the GM when entering
if (player.isGM()) if (player.isGM())
{ {
gmStartupProcess: ThreadPool.schedule(() -> // Needs a small delay.
{ {
if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel())) gmStartupProcess:
{ {
BuilderUtil.setHiding(player, true); if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
{
BuilderUtil.setHiding(player, true);
BuilderUtil.sendSysMessage(player, "hide is default for builder.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage.
break gmStartupProcess;
}
BuilderUtil.sendSysMessage(player, "hide is default for builder."); if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder."); {
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder."); player.setIsInvul(true);
}
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage. if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
break gmStartupProcess; {
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
} }
}, 15);
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
player.setIsInvul(true);
}
if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
{
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
}
if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel())) if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
{ {

View File

@@ -181,42 +181,45 @@ public class EnterWorld implements IClientIncomingPacket
// Apply special GM properties to the GM when entering // Apply special GM properties to the GM when entering
if (player.isGM()) if (player.isGM())
{ {
gmStartupProcess: ThreadPool.schedule(() -> // Needs a small delay.
{ {
if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel())) gmStartupProcess:
{ {
BuilderUtil.setHiding(player, true); if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
{
BuilderUtil.setHiding(player, true);
BuilderUtil.sendSysMessage(player, "hide is default for builder.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage.
break gmStartupProcess;
}
BuilderUtil.sendSysMessage(player, "hide is default for builder."); if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder."); {
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder."); player.setIsInvul(true);
}
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage. if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
break gmStartupProcess; {
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
} }
}, 15);
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
player.setIsInvul(true);
}
if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
{
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
}
if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel())) if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
{ {

View File

@@ -181,42 +181,45 @@ public class EnterWorld implements IClientIncomingPacket
// Apply special GM properties to the GM when entering // Apply special GM properties to the GM when entering
if (player.isGM()) if (player.isGM())
{ {
gmStartupProcess: ThreadPool.schedule(() -> // Needs a small delay.
{ {
if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel())) gmStartupProcess:
{ {
BuilderUtil.setHiding(player, true); if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
{
BuilderUtil.setHiding(player, true);
BuilderUtil.sendSysMessage(player, "hide is default for builder.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage.
break gmStartupProcess;
}
BuilderUtil.sendSysMessage(player, "hide is default for builder."); if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder."); {
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder."); player.setIsInvul(true);
}
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage. if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
break gmStartupProcess; {
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
} }
}, 15);
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
player.setIsInvul(true);
}
if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
{
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
}
if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel())) if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
{ {

View File

@@ -181,42 +181,45 @@ public class EnterWorld implements IClientIncomingPacket
// Apply special GM properties to the GM when entering // Apply special GM properties to the GM when entering
if (player.isGM()) if (player.isGM())
{ {
gmStartupProcess: ThreadPool.schedule(() -> // Needs a small delay.
{ {
if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel())) gmStartupProcess:
{ {
BuilderUtil.setHiding(player, true); if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
{
BuilderUtil.setHiding(player, true);
BuilderUtil.sendSysMessage(player, "hide is default for builder.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage.
break gmStartupProcess;
}
BuilderUtil.sendSysMessage(player, "hide is default for builder."); if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder."); {
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder."); player.setIsInvul(true);
}
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage. if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
break gmStartupProcess; {
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
} }
}, 15);
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
player.setIsInvul(true);
}
if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
{
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
}
if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel())) if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
{ {

View File

@@ -586,46 +586,49 @@ public class EnterWorld extends GameClientPacket
{ {
if (player.isGM()) if (player.isGM())
{ {
gmStartupProcess: ThreadPool.schedule(() -> // Needs a small delay.
{ {
if (Config.GM_STARTUP_BUILDER_HIDE && AdminCommandAccessRights.getInstance().hasAccess("admin_hide", player.getAccessLevel())) gmStartupProcess:
{ {
player.setInRefusalMode(true); if (Config.GM_STARTUP_BUILDER_HIDE && AdminCommandAccessRights.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
player.setIsInvul(true); {
player.getAppearance().setInvisible(); player.setInRefusalMode(true);
player.setIsInvul(true);
player.getAppearance().setInvisible();
BuilderUtil.sendSysMessage(player, "hide is default for builder.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage.
break gmStartupProcess;
}
BuilderUtil.sendSysMessage(player, "hide is default for builder."); if (Config.GM_STARTUP_INVULNERABLE && AdminCommandAccessRights.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder."); {
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder."); player.setIsInvul(true);
}
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage. if (Config.GM_STARTUP_INVISIBLE && AdminCommandAccessRights.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
break gmStartupProcess; {
player.getAppearance().setInvisible();
}
if (Config.GM_STARTUP_SILENCE && AdminCommandAccessRights.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setInRefusalMode(true);
}
if (Config.GM_STARTUP_AUTO_LIST && AdminCommandAccessRights.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
{
GmListTable.getInstance().addGm(player, false);
}
else
{
GmListTable.getInstance().addGm(player, true);
}
} }
}, 15);
if (Config.GM_STARTUP_INVULNERABLE && AdminCommandAccessRights.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
player.setIsInvul(true);
}
if (Config.GM_STARTUP_INVISIBLE && AdminCommandAccessRights.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
{
player.getAppearance().setInvisible();
}
if (Config.GM_STARTUP_SILENCE && AdminCommandAccessRights.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setInRefusalMode(true);
}
if (Config.GM_STARTUP_AUTO_LIST && AdminCommandAccessRights.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
{
GmListTable.getInstance().addGm(player, false);
}
else
{
GmListTable.getInstance().addGm(player, true);
}
}
if (Config.GM_SPECIAL_EFFECT) if (Config.GM_SPECIAL_EFFECT)
{ {

View File

@@ -17,6 +17,7 @@
package org.l2jmobius.gameserver.network.clientpackets; package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.Config; import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.LoginServerThread; import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.SevenSigns; import org.l2jmobius.gameserver.SevenSigns;
@@ -172,41 +173,44 @@ public class EnterWorld implements IClientIncomingPacket
// Apply special GM properties to the GM when entering // Apply special GM properties to the GM when entering
if (player.isGM()) if (player.isGM())
{ {
gmStartupProcess: ThreadPool.schedule(() -> // Needs a small delay.
{ {
if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel())) gmStartupProcess:
{ {
BuilderUtil.setHiding(player, true); if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
{
BuilderUtil.setHiding(player, true);
BuilderUtil.sendSysMessage(player, "hide is default for builder.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage.
break gmStartupProcess;
}
BuilderUtil.sendSysMessage(player, "hide is default for builder."); if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder."); {
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder."); player.setIsInvul(true);
}
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage. if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
break gmStartupProcess; {
player.setInvisible(true);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded();
}
} }
}, 15);
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
player.setIsInvul(true);
}
if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
{
player.setInvisible(true);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded();
}
}
if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel())) if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
{ {

View File

@@ -180,42 +180,45 @@ public class EnterWorld implements IClientIncomingPacket
// Apply special GM properties to the GM when entering // Apply special GM properties to the GM when entering
if (player.isGM()) if (player.isGM())
{ {
gmStartupProcess: ThreadPool.schedule(() -> // Needs a small delay.
{ {
if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel())) gmStartupProcess:
{ {
BuilderUtil.setHiding(player, true); if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
{
BuilderUtil.setHiding(player, true);
BuilderUtil.sendSysMessage(player, "hide is default for builder.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage.
break gmStartupProcess;
}
BuilderUtil.sendSysMessage(player, "hide is default for builder."); if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder."); {
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder."); player.setIsInvul(true);
}
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage. if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
break gmStartupProcess; {
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
} }
}, 15);
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
player.setIsInvul(true);
}
if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
{
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
}
if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel())) if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
{ {

View File

@@ -180,42 +180,45 @@ public class EnterWorld implements IClientIncomingPacket
// Apply special GM properties to the GM when entering // Apply special GM properties to the GM when entering
if (player.isGM()) if (player.isGM())
{ {
gmStartupProcess: ThreadPool.schedule(() -> // Needs a small delay.
{ {
if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel())) gmStartupProcess:
{ {
BuilderUtil.setHiding(player, true); if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
{
BuilderUtil.setHiding(player, true);
BuilderUtil.sendSysMessage(player, "hide is default for builder.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage.
break gmStartupProcess;
}
BuilderUtil.sendSysMessage(player, "hide is default for builder."); if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder."); {
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder."); player.setIsInvul(true);
}
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage. if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
break gmStartupProcess; {
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
} }
}, 15);
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
player.setIsInvul(true);
}
if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
{
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
}
if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel())) if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
{ {

View File

@@ -180,42 +180,45 @@ public class EnterWorld implements IClientIncomingPacket
// Apply special GM properties to the GM when entering // Apply special GM properties to the GM when entering
if (player.isGM()) if (player.isGM())
{ {
gmStartupProcess: ThreadPool.schedule(() -> // Needs a small delay.
{ {
if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel())) gmStartupProcess:
{ {
BuilderUtil.setHiding(player, true); if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
{
BuilderUtil.setHiding(player, true);
BuilderUtil.sendSysMessage(player, "hide is default for builder.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage.
break gmStartupProcess;
}
BuilderUtil.sendSysMessage(player, "hide is default for builder."); if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder."); {
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder."); player.setIsInvul(true);
}
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage. if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
break gmStartupProcess; {
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
} }
}, 15);
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
player.setIsInvul(true);
}
if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
{
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
}
if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel())) if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
{ {

View File

@@ -180,42 +180,45 @@ public class EnterWorld implements IClientIncomingPacket
// Apply special GM properties to the GM when entering // Apply special GM properties to the GM when entering
if (player.isGM()) if (player.isGM())
{ {
gmStartupProcess: ThreadPool.schedule(() -> // Needs a small delay.
{ {
if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel())) gmStartupProcess:
{ {
BuilderUtil.setHiding(player, true); if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
{
BuilderUtil.setHiding(player, true);
BuilderUtil.sendSysMessage(player, "hide is default for builder.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage.
break gmStartupProcess;
}
BuilderUtil.sendSysMessage(player, "hide is default for builder."); if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder."); {
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder."); player.setIsInvul(true);
}
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage. if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
break gmStartupProcess; {
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
} }
}, 15);
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
player.setIsInvul(true);
}
if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
{
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
}
if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel())) if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
{ {

View File

@@ -180,42 +180,45 @@ public class EnterWorld implements IClientIncomingPacket
// Apply special GM properties to the GM when entering // Apply special GM properties to the GM when entering
if (player.isGM()) if (player.isGM())
{ {
gmStartupProcess: ThreadPool.schedule(() -> // Needs a small delay.
{ {
if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel())) gmStartupProcess:
{ {
BuilderUtil.setHiding(player, true); if (Config.GM_STARTUP_BUILDER_HIDE && AdminData.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
{
BuilderUtil.setHiding(player, true);
BuilderUtil.sendSysMessage(player, "hide is default for builder.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage.
break gmStartupProcess;
}
BuilderUtil.sendSysMessage(player, "hide is default for builder."); if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder."); {
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder."); player.setIsInvul(true);
}
// It isn't recommend to use the below custom L2J GMStartup functions together with retail-like GMStartupBuilderHide, so breaking the process at that stage. if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
break gmStartupProcess; {
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
} }
}, 15);
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
player.setIsInvul(true);
}
if (Config.GM_STARTUP_INVISIBLE && AdminData.getInstance().hasAccess("admin_invisible", player.getAccessLevel()))
{
player.setInvisible(true);
player.getEffectList().startAbnormalVisualEffect(AbnormalVisualEffect.STEALTH);
}
if (Config.GM_STARTUP_SILENCE && AdminData.getInstance().hasAccess("admin_silence", player.getAccessLevel()))
{
player.setSilenceMode(true);
}
if (Config.GM_STARTUP_DIET_MODE && AdminData.getInstance().hasAccess("admin_diet", player.getAccessLevel()))
{
player.setDietMode(true);
player.refreshOverloaded(true);
}
}
if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel())) if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
{ {