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
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.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
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.
break gmStartupProcess;
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_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);
}
}
}, 15);
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
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.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
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.
break gmStartupProcess;
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_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);
}
}
}, 15);
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
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.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
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.
break gmStartupProcess;
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_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);
}
}
}, 15);
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
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.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
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.
break gmStartupProcess;
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_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);
}
}
}, 15);
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
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.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
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.
break gmStartupProcess;
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_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);
}
}
}, 15);
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
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.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
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.
break gmStartupProcess;
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_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);
}
}
}, 15);
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
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.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
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.
break gmStartupProcess;
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_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);
}
}
}, 15);
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())
{
gmStartupProcess:
ThreadPool.schedule(() -> // Needs a small delay.
{
if (Config.GM_STARTUP_BUILDER_HIDE && AdminCommandAccessRights.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
gmStartupProcess:
{
player.setInRefusalMode(true);
player.setIsInvul(true);
player.getAppearance().setInvisible();
if (Config.GM_STARTUP_BUILDER_HIDE && AdminCommandAccessRights.getInstance().hasAccess("admin_hide", player.getAccessLevel()))
{
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.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
if (Config.GM_STARTUP_INVULNERABLE && AdminCommandAccessRights.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
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.
break gmStartupProcess;
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_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);
}
}
}, 15);
if (Config.GM_SPECIAL_EFFECT)
{

View File

@ -17,6 +17,7 @@
package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.Config;
import org.l2jmobius.commons.concurrent.ThreadPool;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.LoginServerThread;
import org.l2jmobius.gameserver.SevenSigns;
@ -172,41 +173,44 @@ public class EnterWorld implements IClientIncomingPacket
// Apply special GM properties to the GM when entering
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.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
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.
break gmStartupProcess;
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_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();
}
}
}, 15);
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
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.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
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.
break gmStartupProcess;
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_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);
}
}
}, 15);
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
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.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
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.
break gmStartupProcess;
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_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);
}
}
}, 15);
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
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.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
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.
break gmStartupProcess;
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_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);
}
}
}, 15);
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
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.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
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.
break gmStartupProcess;
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_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);
}
}
}, 15);
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
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.");
BuilderUtil.sendSysMessage(player, "FriendAddOff is default for builder.");
BuilderUtil.sendSysMessage(player, "whisperoff is default for builder.");
if (Config.GM_STARTUP_INVULNERABLE && AdminData.getInstance().hasAccess("admin_invul", player.getAccessLevel()))
{
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.
break gmStartupProcess;
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_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);
}
}
}, 15);
if (Config.GM_STARTUP_AUTO_LIST && AdminData.getInstance().hasAccess("admin_gmliston", player.getAccessLevel()))
{