Index: L2J_GameServer/src/main/java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java =================================================================== --- L2J_GameServer/src/main/java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java (revision *****) +++ L2J_GameServer/src/main/java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java (working copy) @@ -241,7 +241,12 @@ if (_log.isDebugEnabled()) _log.debug("Changing class to ClassId:" + val); player.setClassId(val); - if (player.isSubClassActive()) player.getSubClasses().get(player.getClassIndex()).setClassId( + if (player.isSubClassActive() && (player._inEventCTF || player._inEventDM || player._inEventTvT || player._inEventVIP)){ + player.sendMessage("You can't change subclass while in events."); + return; + } + + else if (player.isSubClassActive()) player.getSubClasses().get(player.getClassIndex()).setClassId( player.getActiveClass()); else player.setBaseClass(player.getActiveClass());