From 914f3aee147a1cc0fd272f4b9dced1edad31e4ef Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Wed, 31 Jul 2019 11:10:42 +0000 Subject: [PATCH] Delay fifteen milliseconds before making administrators invisible on EnterWorld. --- .../network/clientpackets/EnterWorld.java | 65 +++++++++-------- .../network/clientpackets/EnterWorld.java | 65 +++++++++-------- .../network/clientpackets/EnterWorld.java | 65 +++++++++-------- .../network/clientpackets/EnterWorld.java | 65 +++++++++-------- .../network/clientpackets/EnterWorld.java | 65 +++++++++-------- .../network/clientpackets/EnterWorld.java | 65 +++++++++-------- .../network/clientpackets/EnterWorld.java | 65 +++++++++-------- .../network/clientpackets/EnterWorld.java | 73 ++++++++++--------- .../network/clientpackets/EnterWorld.java | 64 ++++++++-------- .../network/clientpackets/EnterWorld.java | 65 +++++++++-------- .../network/clientpackets/EnterWorld.java | 65 +++++++++-------- .../network/clientpackets/EnterWorld.java | 65 +++++++++-------- .../network/clientpackets/EnterWorld.java | 65 +++++++++-------- .../network/clientpackets/EnterWorld.java | 65 +++++++++-------- 14 files changed, 480 insertions(+), 437 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index 5e43c6cf54..f598be2377 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -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())) { diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index 24b02fd245..5db72c696e 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -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())) { diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index 24b02fd245..5db72c696e 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -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())) { diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index 6b631942e1..802ae44f41 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -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())) { diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index f73e5d7bf7..c2104d6d94 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -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())) { diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index a58482a67b..6bbb9ea10a 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -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())) { diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index a58482a67b..6bbb9ea10a 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -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())) { diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index 05d6c8fdf3..848f882b4a 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -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) { diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index 7d4cfe03a9..8cdbe0ba85 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -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())) { diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index 0ed15764b2..92aa9c178f 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -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())) { diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index ff537e5831..3b99bd4139 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -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())) { diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index 80d8a461f5..e2ca4d368f 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -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())) { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index 80d8a461f5..e2ca4d368f 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -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())) { diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java index 80d8a461f5..e2ca4d368f 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/network/clientpackets/EnterWorld.java @@ -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())) {