Você não é registrado, por favor registre-se para ter acesso ao conteúdo completo.
Caso seja registrado, efetue login.
Esqueceu sua senha? Clique aqui
Recomendamos o uso do Mozilla Firefox para uma melhor visualização.    


Início Postados Hoje Marcar Fóruns Como Lidos Álbums Banidos SE Team Medalhas
Voltar   Secret Experience > Área L2J > [L2J] Downloads > [Lineage] Java Mods
Registrar Loteria VIPStaff SERegras do fórum Membros Arcade Pesquisar Postados Hoje Marcar Fóruns Como Lidos Experience
   

Secret Experience.NET   Secret Experience Corporation - Welcome To The Real World
     Anúncios SE

Resposta
 
LinkBack Ferramentas do Tópico Modos de Exibição
Antigo 12-09-2009, 03:28 PM   #1 (permalink)
Banido
 
Avatar de BioHazard
 
Registrado em: May 2009
Posts: 5
Agradeceu: 35
Agradecido 17 Vezes em 3 Posts
Achei Ruim:
Acharam ruim Vezes em Posts

Inventório de BioHazard

Padrão Trocar de Classe Sem Ir Ao Gato

Com isso, será como se você vai para o classmaster.
Em cada nível de mudança de classe (20, 40, 76) uma janela irá aparecer pedindo para você escolher a sua classe. No gato desova necessário. Você pode até deixar ALLOW_CLASS_MASTERS= false, se quiser.
Core:
Código: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
Index: /java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java
===================================================================
--- /java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java	(revision 2797)
+++ /java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java	(working copy)
@@ -27,6 +27,7 @@
 import net.sf.l2j.gameserver.model.L2CharPosition;
 import net.sf.l2j.gameserver.model.L2Object;
 import net.sf.l2j.gameserver.model.L2World;
+import net.sf.l2j.gameserver.model.actor.instance.L2ClassMasterInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
 import net.sf.l2j.gameserver.model.entity.L2Event;
@@ -116,7 +117,7 @@
 					L2Object object = L2World.getInstance().findObject(Integer.parseInt(id));
 
 					if (_command.substring(endOfId+1).startsWith("event_participate")) L2Event.inscribePlayer(activeChar);
-					else if (object instanceof L2NpcInstance && endOfId > 0 && activeChar.isInsideRadius(object, L2NpcInstance.INTERACTION_DISTANCE, false, false))
+					else if ((Config.ALLOW_CLASS_MASTERS && object instanceof L2ClassMasterInstance) || (object instanceof L2NpcInstance && endOfId > 0 && activeChar.isInsideRadius(object, L2NpcInstance.INTERACTION_DISTANCE, false, false)))
 					{
 						((L2NpcInstance)object).onBypassFeedback(activeChar, _command.substring(endOfId+1));
 					}
Index: /java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java
===================================================================
--- /java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java	(revision 2797)
+++ /java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java	(working copy)
@@ -46,7 +46,10 @@
 import net.sf.l2j.gameserver.model.L2Clan;
 import net.sf.l2j.gameserver.model.L2Effect;
 import net.sf.l2j.gameserver.model.L2World;
+import net.sf.l2j.gameserver.model.actor.instance.L2ClassMasterInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.model.base.ClassLevel;
+import net.sf.l2j.gameserver.model.base.PlayerClass;
 import net.sf.l2j.gameserver.model.entity.ClanHall;
 import net.sf.l2j.gameserver.model.entity.Couple;
 import net.sf.l2j.gameserver.model.entity.Fort;
@@ -340,6 +343,23 @@
         activeChar.onPlayerEnter();
         
         sendPacket(new SkillCoolTime(activeChar));
+        
+                if(Config.ALLOW_CLASS_MASTERS)
+        	        {
+        	        	ClassLevel lvlnow = PlayerClass.values()[activeChar.getClassId().getId()].getLevel();
+        		        if(activeChar.getLevel() >= 20 && lvlnow == ClassLevel.First)
+        		        {
+        		        	L2ClassMasterInstance.ClassMaster.onAction(activeChar);
+        		        }
+        		        else if(activeChar.getLevel() >= 40 && lvlnow == ClassLevel.Second)
+        		        {
+        		        	L2ClassMasterInstance.ClassMaster.onAction(activeChar);
+        		        }
+        		        else if(activeChar.getLevel() >= 76 && lvlnow == ClassLevel.Third)
+        		        {
+        		        	L2ClassMasterInstance.ClassMaster.onAction(activeChar);
+        		        }
+        	        }
 
         if (Olympiad.getInstance().playerInStadia(activeChar))
         {
Index: /java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java
===================================================================
--- /java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java	(revision 2797)
+++ /java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java	(working copy)
@@ -16,18 +16,17 @@
 
 import javolution.text.TextBuilder;
 import net.sf.l2j.Config;
-import net.sf.l2j.gameserver.ai.CtrlIntention;
 import net.sf.l2j.gameserver.datatables.CharTemplateTable;
+import net.sf.l2j.gameserver.datatables.NpcTable;
+import net.sf.l2j.gameserver.model.L2World;
 import net.sf.l2j.gameserver.model.base.ClassId;
 import net.sf.l2j.gameserver.model.base.ClassLevel;
 import net.sf.l2j.gameserver.model.base.PlayerClass;
 import net.sf.l2j.gameserver.model.quest.Quest;
 import net.sf.l2j.gameserver.network.SystemMessageId;
 import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
-import net.sf.l2j.gameserver.network.serverpackets.MyTargetSelected;
 import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
 import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
-import net.sf.l2j.gameserver.network.serverpackets.ValidateLocation;
 import net.sf.l2j.gameserver.templates.chars.L2NpcTemplate;
 
 /**
@@ -40,6 +39,12 @@
 	//private static Logger _log = Logger.getLogger(L2ClassMasterInstance.class.getName());
 	private static final int[] SECONDN_CLASS_IDS = {2,3,5,6,9,8,12,13,14,16,17,20,21,23,24,27,
 													28,30,33,34,36,37,40,41,43,46,48,51,52,55,57};
+	
+		public static L2ClassMasterInstance ClassMaster = new L2ClassMasterInstance(31228, NpcTable.getInstance().getTemplate(31228));
+		static
+		{
+			L2World.getInstance().storeObject(ClassMaster);
+		}
 
 	/**
 	 * @param template
@@ -52,109 +57,90 @@
 	@Override
 	public void onAction(L2PcInstance player)
 	{
-		if (!canTarget(player)) return;
+		if (Config.DEBUG)
+		_log.fine("ClassMaster activated");
 
-		// Check if the L2PcInstance already target the L2NpcInstance
-		if (getObjectId() != player.getTargetId())
-		{
-			// Set the target of the L2PcInstance player
-			player.setTarget(this);
+		ClassId classId = player.getClassId();
 
-			// Send a Server->Client packet MyTargetSelected to the L2PcInstance player
-			player.sendPacket(new MyTargetSelected(getObjectId(), 0));
-
-			// Send a Server->Client packet ValidateLocation to correct the L2NpcInstance position and heading on the client
-			player.sendPacket(new ValidateLocation(this));
+				int jobLevel = 0;
+				int level = player.getLevel();
+				ClassLevel lvl = PlayerClass.values()[classId.getId()].getLevel();
+				switch (lvl)
+				{
+					case First:
+						jobLevel = 1;
+						break;
+					case Second:
+						jobLevel = 2;
+						break;
+					case Third:
+						jobLevel = 3;
+						break;
+					default:
+						jobLevel = 4;
 		}
-		else
+							
+						if (!Config.ALLOW_CLASS_MASTERS)
+							jobLevel = 3;
+				
+						if(player.isGM())
 		{
-			if (!canInteract(player))
+										showChatWindowChooseClass(player);
+									}
+									else if (((level >= 20 && jobLevel == 1 ) ||
+										(level >= 40 && jobLevel == 2 )) && Config.ALLOW_CLASS_MASTERS)
+									{
+										showChatWindow(player, classId.getId());
+									}
+									else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && classId.getId() < 88)
+									{
+										for (int i = 0; i < SECONDN_CLASS_IDS.length; i++)
 			{
-				player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);
-				return;
+															if (classId.getId() == SECONDN_CLASS_IDS[i])
+															{
+																NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
+											                    TextBuilder sb = new TextBuilder();
+											                    sb.append("<html><title>Class Change</title><body><center><img src=L2Font-e.replay_logo-e width=258 height=60><br><br><br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><br><font color=AAAAAA>Please choose from the list of classes below...</font><br><br>");
+											                    sb.append("<a action=\"bypass -h npc_"+getObjectId()+"_change_class "+(88+i)+"\">Advance to "+CharTemplateTable.getInstance().getClassNameById(88+i)+"</a><br>");
+											                    sb.append("<br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><font color=808080>kthxbai</font></center></body></html>");
+											                    html.setHtml(sb.toString());
+											                    player.sendPacket(html);
+											                    break;
+															}
 			}
 
-			if (Config.DEBUG)
-				_log.fine("ClassMaster activated");
-
-			ClassId classId = player.getClassId();
-
-			int jobLevel = 0;
-			int level = player.getLevel();
-			ClassLevel lvl = PlayerClass.values()[classId.getId()].getLevel();
-			switch (lvl)
+												}
+									        else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && ((classId.getId() >= 123 && classId.getId() < 131 ) || classId.getId() == 135)) // this is for Kamael Race 3rd Transfer
+									        {
+									        	showChatWindow(player, classId.getId());
+									        }
+									        else
+											{
+												NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
+											TextBuilder sb = new TextBuilder();
+												sb.append("<html><title>Class Change</title><body><center><img src=L2Font-e.replay_logo-e width=258 height=60><br><br><br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><br>");
+												switch (jobLevel)
 			{
-				case First:
-					jobLevel = 1;
+				case 1:
+				    sb.append("Come back here when you reach level 20 to change your class.<br>");
 					break;
-				case Second:
-					jobLevel = 2;
+				case 2:
+					sb.append("Come back here when you reach level 40 to change your class.<br>");
 					break;
-				default:
-					jobLevel = 3;
+				case 3:
+					sb.append("Come back here when you reach level 76 to change your class.<br>");
+					break;
+				case 4:
+					sb.append("There are no more class changes for you.<br>");
+					break;
 			}
 
-			if (!Config.ALLOW_CLASS_MASTERS)
-				jobLevel = 3;
+			for (Quest q : Quest.findAllEvents())
+				sb.append("Event: <a action=\"bypass -h Quest "+q.getName()+"\">"+q.getDescr()+"</a><br>");
 
-			if(player.isGM())
-			{
-				showChatWindowChooseClass(player);
-			}
-			else if (((level >= 20 && jobLevel == 1 ) ||
-				(level >= 40 && jobLevel == 2 )) && Config.ALLOW_CLASS_MASTERS)
-			{
-				showChatWindow(player, classId.getId());
-			}
-			else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && classId.getId() < 88)
-			{
-				for (int i = 0; i < SECONDN_CLASS_IDS.length; i++)
-				{
-					if (classId.getId() == SECONDN_CLASS_IDS[i])
-					{
-                        NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
-                        TextBuilder sb = new TextBuilder();
-                        sb.append("<html><body<table width=200>");
-                        sb.append("<tr><td><center>"+CharTemplateTable.getInstance().getClassNameById(player.getClassId().getId())+" Class Master:</center></td></tr>");
-                        sb.append("<tr><td><br></td></tr>");
-                        sb.append("<tr><td><a action=\"bypass -h npc_"+getObjectId()+"_change_class "+(88+i)+"\">Advance to "+CharTemplateTable.getInstance().getClassNameById(88+i)+"</a></td></tr>");
-                        sb.append("<tr><td><br></td></tr>");
-                        sb.append("</table></body></html>");
-                        html.setHtml(sb.toString());
-                        player.sendPacket(html);
-                        break;
-					}
-				}
-			}
-            else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && ((classId.getId() >= 123 && classId.getId() < 131 ) || classId.getId() == 135)) // this is for Kamael Race 3rd Transfer
-            {
-                showChatWindow(player, classId.getId());
-            }
-			else
-			{
-				NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
-				TextBuilder sb = new TextBuilder();
-				sb.append("<html><body>");
-				switch (jobLevel)
-				{
-					case 1:
-						sb.append("Come back here when you reach level 20 to change your class.<br>");
-						break;
-					case 2:
-						sb.append("Come back here when you reach level 40 to change your class.<br>");
-						break;
-					case 3:
-						sb.append("There are no more class changes for you.<br>");
-						break;
-				}
-
-				for (Quest q : Quest.findAllEvents())
-					sb.append("Event: <a action=\"bypass -h Quest "+q.getName()+"\">"+q.getDescr()+"</a><br>");
-
-				sb.append("</body></html>");
-				html.setHtml(sb.toString());
-				player.sendPacket(html);
-			}
+						sb.append("<br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><font color=808080>kthxbai</font></center></body></html>");
+						html.setHtml(sb.toString());
+						player.sendPacket(html);
 		}
 		player.sendPacket(ActionFailed.STATIC_PACKET);
 	}
@@ -219,9 +205,9 @@
 
                 NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
                 TextBuilder sb = new TextBuilder();
-                sb.append("<html><body>");
+                sb.append("<html><title>Class Change</title><body><center><img src=L2Font-e.replay_logo-e width=258 height=60><br><br><br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><br>");
                 sb.append("You have now become a <font color=\"LEVEL\">" + CharTemplateTable.getInstance().getClassNameById(player.getClassId().getId()) + "</font>.");
-                sb.append("</body></html>");
+                sb.append("<br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><font color=808080>kthxbai</font></center></body></html>");
 
                 html.setHtml(sb.toString());
                 player.sendPacket(html);
@@ -280,9 +266,9 @@
 
             NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
             TextBuilder sb = new TextBuilder();
-            sb.append("<html><body>");
+            sb.append("<html><title>Class Change</title><body><center><img src=L2Font-e.replay_logo-e width=258 height=60><br><br><br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><br>");
             sb.append("You have now become a <font color=\"LEVEL\">" + CharTemplateTable.getInstance().getClassNameById(player.getClassId().getId()) + "</font>.");
-            sb.append("</body></html>");
+            sb.append("<br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><font color=808080>kthxbai</font></center></body></html>");
 
             html.setHtml(sb.toString());
             player.sendPacket(html);
Index: /java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java
===================================================================
--- /java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java	(revision 2797)
+++ /java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java	(working copy)
@@ -16,9 +16,12 @@
 
 import net.sf.l2j.Config;
 import net.sf.l2j.gameserver.model.L2Character;
+import net.sf.l2j.gameserver.model.actor.instance.L2ClassMasterInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2PetInstance;
+import net.sf.l2j.gameserver.model.base.ClassLevel;
 import net.sf.l2j.gameserver.model.base.Experience;
+import net.sf.l2j.gameserver.model.base.PlayerClass;
 import net.sf.l2j.gameserver.model.quest.QuestState;
 import net.sf.l2j.gameserver.network.SystemMessageId;
 import net.sf.l2j.gameserver.network.serverpackets.PledgeShowMemberListUpdate;
@@ -152,6 +155,24 @@
 		if (getLevel() + value > Experience.MAX_LEVEL - 1) return false;
 
         boolean levelIncreased = super.addLevel(value);
+        
+               
+                if(Config.ALLOW_CLASS_MASTERS)
+                {
+                	ClassLevel lvlnow = PlayerClass.values()[getActiveChar().getClassId().getId()].getLevel();
+        	        if(getLevel() >= 20 && lvlnow == ClassLevel.First)
+        	        {
+        	        	L2ClassMasterInstance.ClassMaster.onAction(getActiveChar());
+        	        }
+        	        else if(getLevel() >= 40 && lvlnow == ClassLevel.Second)
+        	        {
+        	        	L2ClassMasterInstance.ClassMaster.onAction(getActiveChar());
+        	        }
+        	        else if(getLevel() >= 76 && lvlnow == ClassLevel.Third)
+        	        {
+        	        	L2ClassMasterInstance.ClassMaster.onAction(getActiveChar());
+        	        }
+                }
         if (levelIncreased)
         {
DP:
[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]

Screenshot:
[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]

Creditos:poltomb(l2jserver)

BioHazard está offline  
Links Patrocinados
Antigo 12-09-2009, 04:10 PM   #2 (permalink)
Membro - Capitão
 
Avatar de nois
 
Registrado em: Jun 2009
Posts: 119
Agradeceu: 93
Agradecido 12 Vezes em 8 Posts
Achei Ruim:
Acharam ruim Vezes em Posts

Inventório de nois

Padrão

gostei mais nao sei mexe com coplacao nao sei nem se e isso q faz pra coloca no serve se alguem pude fazer esse favor pra mim agradesso desde ja
uso o pack do sound
para todos os moderadores do sit: se puder me ajuda agradesso pq aqui muita gente ja me ajudo e so muito grato a tantas pessoas bacanas q esta aqui no secret aqui tudo de bom
e estao todos de parabens

nois está offline   Responder com Citação
Antigo 12-09-2009, 05:48 PM   #3 (permalink)
Membro - Aspirante
 
Avatar de Loki
 
Registrado em: Nov 2008
Posts: 69
Agradeceu: 52
Agradecido 41 Vezes em 25 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Pontos: 4,356, Nível: 42
Pontos: 4,356, Nível: 42 Pontos: 4,356, Nível: 42 Pontos: 4,356, Nível: 42
Atividade: 16%
Atividade: 16% Atividade: 16% Atividade: 16%

Inventório de Loki

Padrão

mano se tem ele para l2emu pois coloquei ele em l2jserver
e
uma mao na roda so que em l2emu que e a rev que eu uso nao funfa
e sim gracia final

Loki está offline   Responder com Citação
Antigo 14-09-2009, 07:00 PM   #4 (permalink)
Membro - General
 
Avatar de Dandilo
 
Registrado em: Mar 2009
Posts: 246
Agradeceu: 115
Agradecido 114 Vezes em 62 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Meu Estado:
Enviar mensagem via Windows Live Messenger para Dandilo
Pontos: 4,949, Nível: 44
Pontos: 4,949, Nível: 44 Pontos: 4,949, Nível: 44 Pontos: 4,949, Nível: 44
Atividade: 99%
Atividade: 99% Atividade: 99% Atividade: 99%

Nome Real: Dândilo Richard.

Inventório de Dandilo

Padrão

Tem como colocar o core pra baixar não?

Dandilo está offline   Responder com Citação
Antigo 15-09-2009, 03:08 AM   #5 (permalink)
 
Avatar de CavaleiroNegro
 
Registrado em: May 2009
Localização: Minas Gerais-Pouso Alegre
Posts: 2,249
Agradeceu: 754
Agradecido 2,075 Vezes em 922 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Meu Estado:
Enviar mensagem via Windows Live Messenger para CavaleiroNegro
Pontos: 11,212, Nível: 69
Pontos: 11,212, Nível: 69 Pontos: 11,212, Nível: 69 Pontos: 11,212, Nível: 69
Atividade: 16%
Atividade: 16% Atividade: 16% Atividade: 16%

Nome Real: Júlio César R.de Morães

Inventório de CavaleiroNegro

Padrão

@nois :

Não da para mexer no JAVA do pack de alguém ja copilado amigo....

@Loki :

Amigo,pq vc não busca os caminhos de referencias e adpta para sua rev eu mesmo não utilizo rev JFREE e vo add esse código com as alterações que precisar para minha rev.(Dependeno é só seguir os arquivo .java e adicionar as linhas)

__________________
Olá voce é novo na SecretExperience ?

Hum então voce ja deve ter lido as regras ? Não ? Então leia nossas regras evite ser alertado :
[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
Ainda tem dúvida de algo ? Então leia nosso FAQ : [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
CavaleiroNegro está offline   Responder com Citação
O seguinte membro ao lado disse Obrigado(a) a : CavaleiroNegro por gostar deste Post :
BioHazard (21-09-2009)
Antigo 15-09-2009, 09:55 PM   #6 (permalink)
Membro - Aspirante
 
Avatar de Aquilis
 
Registrado em: Aug 2009
Localização: Curitiba
Posts: 73
Agradeceu: 47
Agradecido 15 Vezes em 14 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Nome Real: Felipe

Inventório de Aquilis

Padrão

Aqui rodo perfeitamente para l2emu. Amanhã eu posto para você.

Aquilis está offline   Responder com Citação
Antigo 16-09-2009, 11:39 PM   #7 (permalink)
Membro - Aspirante
 
Avatar de Loki
 
Registrado em: Nov 2008
Posts: 69
Agradeceu: 52
Agradecido 41 Vezes em 25 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Pontos: 4,356, Nível: 42
Pontos: 4,356, Nível: 42 Pontos: 4,356, Nível: 42 Pontos: 4,356, Nível: 42
Atividade: 16%
Atividade: 16% Atividade: 16% Atividade: 16%

Inventório de Loki

Padrão

cavaleiro pow mano vlw mesmo ae eu fiz tudo isso so que ta dando erro na hora de compila e alias nem cheguei a compilar pois o arquivo la nao e compativel e as linhas que usei de reerencia nao funfa elas nao batem com a do script diff

aquilis cara por favor master posta ae seu arquivo ae eu vejo o seu e faço na boa para o meu e se vc tiver um sistema vio ficaria mais gratoa ainda se me arrumasse
um que diferencie o nick dos chars vips que eu coloque os dias e tal e num dia acabe o vip dele
sabe ajuda ae brigado a todos

Loki está offline   Responder com Citação
Antigo 17-09-2009, 12:17 PM   #8 (permalink)
Membro - Aspirante
 
Avatar de Aquilis
 
Registrado em: Aug 2009
Localização: Curitiba
Posts: 73
Agradeceu: 47
Agradecido 15 Vezes em 14 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Nome Real: Felipe

Inventório de Aquilis

Padrão

O L2 Emu é o melhor pack que vi até agora. Você está usando l2jserver?

Aquilis está offline   Responder com Citação
O seguinte membro ao lado disse Obrigado(a) a : Aquilis por gostar deste Post :
Loki (17-09-2009)
Antigo 17-09-2009, 05:51 PM   #9 (permalink)
Membro - Aspirante
 
Avatar de Loki
 
Registrado em: Nov 2008
Posts: 69
Agradeceu: 52
Agradecido 41 Vezes em 25 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Pontos: 4,356, Nível: 42
Pontos: 4,356, Nível: 42 Pontos: 4,356, Nível: 42 Pontos: 4,356, Nível: 42
Atividade: 16%
Atividade: 16% Atividade: 16% Atividade: 16%

Inventório de Loki

Padrão

mano eu to usando l2emu versao 1438 e a melhor ate agora eu to ela e so tenho novidades add varias coisas e resolvi alguns bugs safadinhos nela mais e a melhor as outras encontrei varios bugs ae to querendo apenas isso para completar meu server
essa parada ae de mudar a classe pop - up e um sistema de vip donate tipo que mude a cor do nick dos donates esero que se vc puder postar ae mano a diff do seu classe por janela e um sistema de mudar a cor eu add aqui no meu obrigado

Loki está offline   Responder com Citação
Antigo 18-09-2009, 02:56 PM   #10 (permalink)
Membro - Aspirante
 
Avatar de Aquilis
 
Registrado em: Aug 2009
Localização: Curitiba
Posts: 73
Agradeceu: 47
Agradecido 15 Vezes em 14 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Nome Real: Felipe

Inventório de Aquilis

Padrão

Pronto, a DP continua a mesma. Se não der para aplicar pelo path aplique manualmente.

Core:
Código: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
Index: /java/com/l2emu/gameserver/network/clientpackets/RequestBypassToServer.java
===================================================================
--- /java/com/l2emu/gameserver/network/clientpackets/RequestBypassToServer.java	(revision 2797)
+++ /java/com/l2emu/gameserver/network/clientpackets/RequestBypassToServer.java	(working copy)
@@ -27,6 +27,7 @@
 import com.l2emu.gameserver.model.L2CharPosition;
 import com.l2emu.gameserver.model.L2Object;
 import com.l2emu.gameserver.model.L2World;
+import com.l2emu.gameserver.model.actor.instance.L2ClassMasterInstance;
 import com.l2emu.gameserver.model.actor.instance.L2NpcInstance;
 import com.l2emu.gameserver.model.actor.instance.L2PcInstance;
 import com.l2emu.gameserver.model.entity.L2Event;
@@ -116,7 +117,7 @@
 					L2Object object = L2World.getInstance().findObject(Integer.parseInt(id));
 
 					if (_command.substring(endOfId+1).startsWith("event_participate")) L2Event.inscribePlayer(activeChar);
-					else if (object instanceof L2NpcInstance && endOfId > 0 && activeChar.isInsideRadius(object, L2NpcInstance.INTERACTION_DISTANCE, false, false))
+					else if ((Config.ALLOW_CLASS_MASTERS && object instanceof L2ClassMasterInstance) || (object instanceof L2NpcInstance && endOfId > 0 && activeChar.isInsideRadius(object, L2NpcInstance.INTERACTION_DISTANCE, false, false)))
 					{
 						((L2NpcInstance)object).onBypassFeedback(activeChar, _command.substring(endOfId+1));
 					}
Index: /java/com/l2emu/gameserver/network/clientpackets/EnterWorld.java
===================================================================
--- /java/com/l2emu/gameserver/network/clientpackets/EnterWorld.java	(revision 2797)
+++ /java/com/l2emu/gameserver/network/clientpackets/EnterWorld.java	(working copy)
@@ -46,7 +46,10 @@
 import com.l2emu.gameserver.model.L2Clan;
 import com.l2emu.gameserver.model.L2Effect;
 import com.l2emu.gameserver.model.L2World;
+import com.l2emu.gameserver.model.actor.instance.L2ClassMasterInstance;
 import com.l2emu.gameserver.model.actor.instance.L2PcInstance;
+import com.l2emu.gameserver.model.base.ClassLevel;
+import com.l2emu.gameserver.model.base.PlayerClass;
 import com.l2emu.gameserver.model.entity.ClanHall;
 import com.l2emu.gameserver.model.entity.Couple;
 import com.l2emu.gameserver.model.entity.Fort;
@@ -340,6 +343,23 @@
         activeChar.onPlayerEnter();
         
         sendPacket(new SkillCoolTime(activeChar));
+        
+                if(Config.ALLOW_CLASS_MASTERS)
+        	        {
+        	        	ClassLevel lvlnow = PlayerClass.values()[activeChar.getClassId().getId()].getLevel();
+        		        if(activeChar.getLevel() >= 20 && lvlnow == ClassLevel.First)
+        		        {
+        		        	L2ClassMasterInstance.ClassMaster.onAction(activeChar);
+        		        }
+        		        else if(activeChar.getLevel() >= 40 && lvlnow == ClassLevel.Second)
+        		        {
+        		        	L2ClassMasterInstance.ClassMaster.onAction(activeChar);
+        		        }
+        		        else if(activeChar.getLevel() >= 76 && lvlnow == ClassLevel.Third)
+        		        {
+        		        	L2ClassMasterInstance.ClassMaster.onAction(activeChar);
+        		        }
+        	        }
 
         if (Olympiad.getInstance().playerInStadia(activeChar))
         {
Index: /java/com/l2emu/gameserver/model/actor/instance/L2ClassMasterInstance.java
===================================================================
--- /java/com/l2emu/gameserver/model/actor/instance/L2ClassMasterInstance.java	(revision 2797)
+++ /java/com/l2emu/gameserver/model/actor/instance/L2ClassMasterInstance.java	(working copy)
@@ -16,18 +16,17 @@
 
 import javolution.text.TextBuilder;
 import com.l2emu.Config;
-import com.l2emu.gameserver.ai.CtrlIntention;
 import com.l2emu.gameserver.datatables.CharTemplateTable;
+import com.l2emu.gameserver.datatables.NpcTable;
+import com.l2emu.gameserver.model.L2World;
 import com.l2emu.gameserver.model.base.ClassId;
 import com.l2emu.gameserver.model.base.ClassLevel;
 import com.l2emu.gameserver.model.base.PlayerClass;
 import com.l2emu.gameserver.model.quest.Quest;
 import com.l2emu.gameserver.network.SystemMessageId;
 import com.l2emu.gameserver.network.serverpackets.ActionFailed;
-import com.l2emu.gameserver.network.serverpackets.MyTargetSelected;
 import com.l2emu.gameserver.network.serverpackets.NpcHtmlMessage;
 import com.l2emu.gameserver.network.serverpackets.SystemMessage;
-import com.l2emu.gameserver.network.serverpackets.ValidateLocation;
 import com.l2emu.gameserver.templates.chars.L2NpcTemplate;
 
 /**
@@ -40,6 +39,12 @@
 	//private static Logger _log = Logger.getLogger(L2ClassMasterInstance.class.getName());
 	private static final int[] SECONDN_CLASS_IDS = {2,3,5,6,9,8,12,13,14,16,17,20,21,23,24,27,
 													28,30,33,34,36,37,40,41,43,46,48,51,52,55,57};
+	
+		public static L2ClassMasterInstance ClassMaster = new L2ClassMasterInstance(31228, NpcTable.getInstance().getTemplate(31228));
+		static
+		{
+			L2World.getInstance().storeObject(ClassMaster);
+		}
 
 	/**
 	 * @param template
@@ -52,109 +57,90 @@
 	@Override
 	public void onAction(L2PcInstance player)
 	{
-		if (!canTarget(player)) return;
+		if (Config.DEBUG)
+		_log.fine("ClassMaster activated");
 
-		// Check if the L2PcInstance already target the L2NpcInstance
-		if (getObjectId() != player.getTargetId())
-		{
-			// Set the target of the L2PcInstance player
-			player.setTarget(this);
+		ClassId classId = player.getClassId();
 
-			// Send a Server->Client packet MyTargetSelected to the L2PcInstance player
-			player.sendPacket(new MyTargetSelected(getObjectId(), 0));
-
-			// Send a Server->Client packet ValidateLocation to correct the L2NpcInstance position and heading on the client
-			player.sendPacket(new ValidateLocation(this));
+				int jobLevel = 0;
+				int level = player.getLevel();
+				ClassLevel lvl = PlayerClass.values()[classId.getId()].getLevel();
+				switch (lvl)
+				{
+					case First:
+						jobLevel = 1;
+						break;
+					case Second:
+						jobLevel = 2;
+						break;
+					case Third:
+						jobLevel = 3;
+						break;
+					default:
+						jobLevel = 4;
 		}
-		else
+							
+						if (!Config.ALLOW_CLASS_MASTERS)
+							jobLevel = 3;
+				
+						if(player.isGM())
 		{
-			if (!canInteract(player))
+										showChatWindowChooseClass(player);
+									}
+									else if (((level >= 20 && jobLevel == 1 ) ||
+										(level >= 40 && jobLevel == 2 )) && Config.ALLOW_CLASS_MASTERS)
+									{
+										showChatWindow(player, classId.getId());
+									}
+									else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && classId.getId() < 88)
+									{
+										for (int i = 0; i < SECONDN_CLASS_IDS.length; i++)
 			{
-				player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);
-				return;
+															if (classId.getId() == SECONDN_CLASS_IDS[i])
+															{
+																NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
+											                    TextBuilder sb = new TextBuilder();
+											                    sb.append("<html><title>Class Change</title><body><center><img src=L2Font-e.replay_logo-e width=258 height=60><br><br><br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><br><font color=AAAAAA>Please choose from the list of classes below...</font><br><br>");
+											                    sb.append("<a action=\"bypass -h npc_"+getObjectId()+"_change_class "+(88+i)+"\">Advance to "+CharTemplateTable.getInstance().getClassNameById(88+i)+"</a><br>");
+											                    sb.append("<br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><font color=808080>kthxbai</font></center></body></html>");
+											                    html.setHtml(sb.toString());
+											                    player.sendPacket(html);
+											                    break;
+															}
 			}
 
-			if (Config.DEBUG)
-				_log.fine("ClassMaster activated");
-
-			ClassId classId = player.getClassId();
-
-			int jobLevel = 0;
-			int level = player.getLevel();
-			ClassLevel lvl = PlayerClass.values()[classId.getId()].getLevel();
-			switch (lvl)
+												}
+									        else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && ((classId.getId() >= 123 && classId.getId() < 131 ) || classId.getId() == 135)) // this is for Kamael Race 3rd Transfer
+									        {
+									        	showChatWindow(player, classId.getId());
+									        }
+									        else
+											{
+												NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
+											TextBuilder sb = new TextBuilder();
+												sb.append("<html><title>Class Change</title><body><center><img src=L2Font-e.replay_logo-e width=258 height=60><br><br><br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><br>");
+												switch (jobLevel)
 			{
-				case First:
-					jobLevel = 1;
+				case 1:
+				    sb.append("Come back here when you reach level 20 to change your class.<br>");
 					break;
-				case Second:
-					jobLevel = 2;
+				case 2:
+					sb.append("Come back here when you reach level 40 to change your class.<br>");
 					break;
-				default:
-					jobLevel = 3;
+				case 3:
+					sb.append("Come back here when you reach level 76 to change your class.<br>");
+					break;
+				case 4:
+					sb.append("There are no more class changes for you.<br>");
+					break;
 			}
 
-			if (!Config.ALLOW_CLASS_MASTERS)
-				jobLevel = 3;
+			for (Quest q : Quest.findAllEvents())
+				sb.append("Event: <a action=\"bypass -h Quest "+q.getName()+"\">"+q.getDescr()+"</a><br>");
 
-			if(player.isGM())
-			{
-				showChatWindowChooseClass(player);
-			}
-			else if (((level >= 20 && jobLevel == 1 ) ||
-				(level >= 40 && jobLevel == 2 )) && Config.ALLOW_CLASS_MASTERS)
-			{
-				showChatWindow(player, classId.getId());
-			}
-			else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && classId.getId() < 88)
-			{
-				for (int i = 0; i < SECONDN_CLASS_IDS.length; i++)
-				{
-					if (classId.getId() == SECONDN_CLASS_IDS[i])
-					{
-                        NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
-                        TextBuilder sb = new TextBuilder();
-                        sb.append("<html><body<table width=200>");
-                        sb.append("<tr><td><center>"+CharTemplateTable.getInstance().getClassNameById(player.getClassId().getId())+" Class Master:</center></td></tr>");
-                        sb.append("<tr><td><br></td></tr>");
-                        sb.append("<tr><td><a action=\"bypass -h npc_"+getObjectId()+"_change_class "+(88+i)+"\">Advance to "+CharTemplateTable.getInstance().getClassNameById(88+i)+"</a></td></tr>");
-                        sb.append("<tr><td><br></td></tr>");
-                        sb.append("</table></body></html>");
-                        html.setHtml(sb.toString());
-                        player.sendPacket(html);
-                        break;
-					}
-				}
-			}
-            else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && ((classId.getId() >= 123 && classId.getId() < 131 ) || classId.getId() == 135)) // this is for Kamael Race 3rd Transfer
-            {
-                showChatWindow(player, classId.getId());
-            }
-			else
-			{
-				NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
-				TextBuilder sb = new TextBuilder();
-				sb.append("<html><body>");
-				switch (jobLevel)
-				{
-					case 1:
-						sb.append("Come back here when you reach level 20 to change your class.<br>");
-						break;
-					case 2:
-						sb.append("Come back here when you reach level 40 to change your class.<br>");
-						break;
-					case 3:
-						sb.append("There are no more class changes for you.<br>");
-						break;
-				}
-
-				for (Quest q : Quest.findAllEvents())
-					sb.append("Event: <a action=\"bypass -h Quest "+q.getName()+"\">"+q.getDescr()+"</a><br>");
-
-				sb.append("</body></html>");
-				html.setHtml(sb.toString());
-				player.sendPacket(html);
-			}
+						sb.append("<br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><font color=808080>kthxbai</font></center></body></html>");
+						html.setHtml(sb.toString());
+						player.sendPacket(html);
 		}
 		player.sendPacket(ActionFailed.STATIC_PACKET);
 	}
@@ -219,9 +205,9 @@
 
                 NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
                 TextBuilder sb = new TextBuilder();
-                sb.append("<html><body>");
+                sb.append("<html><title>Class Change</title><body><center><img src=L2Font-e.replay_logo-e width=258 height=60><br><br><br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><br>");
                 sb.append("You have now become a <font color=\"LEVEL\">" + CharTemplateTable.getInstance().getClassNameById(player.getClassId().getId()) + "</font>.");
-                sb.append("</body></html>");
+                sb.append("<br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><font color=808080>kthxbai</font></center></body></html>");
 
                 html.setHtml(sb.toString());
                 player.sendPacket(html);
@@ -280,9 +266,9 @@
 
             NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
             TextBuilder sb = new TextBuilder();
-            sb.append("<html><body>");
+            sb.append("<html><title>Class Change</title><body><center><img src=L2Font-e.replay_logo-e width=258 height=60><br><br><br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><br>");
             sb.append("You have now become a <font color=\"LEVEL\">" + CharTemplateTable.getInstance().getClassNameById(player.getClassId().getId()) + "</font>.");
-            sb.append("</body></html>");
+            sb.append("<br><img src=L2UI_CH3.herotower_deco width=256 height=32><br><font color=808080>kthxbai</font></center></body></html>");
 
             html.setHtml(sb.toString());
             player.sendPacket(html);
Index: /java/com/l2emu/gameserver/model/actor/stat/PcStat.java
===================================================================
--- /java/com/l2emu/gameserver/model/actor/stat/PcStat.java	(revision 2797)
+++ /java/com/l2emu/gameserver/model/actor/stat/PcStat.java	(working copy)
@@ -16,9 +16,12 @@
 
 import com.l2emu.Config;
 import com.l2emu.gameserver.model.L2Character;
+import com.l2emu.gameserver.model.actor.instance.L2ClassMasterInstance;
 import com.l2emu.gameserver.model.actor.instance.L2PcInstance;
 import com.l2emu.gameserver.model.actor.instance.L2PetInstance;
+import com.l2emu.gameserver.model.base.ClassLevel;
 import com.l2emu.gameserver.model.base.Experience;
+import com.l2emu.gameserver.model.base.PlayerClass;
 import com.l2emu.gameserver.model.quest.QuestState;
 import com.l2emu.gameserver.network.SystemMessageId;
 import com.l2emu.gameserver.network.serverpackets.PledgeShowMemberListUpdate;
@@ -152,6 +155,24 @@
 		if (getLevel() + value > Experience.MAX_LEVEL - 1) return false;
 
         boolean levelIncreased = super.addLevel(value);
+        
+               
+                if(Config.ALLOW_CLASS_MASTERS)
+                {
+                	ClassLevel lvlnow = PlayerClass.values()[getActiveChar().getClassId().getId()].getLevel();
+        	        if(getLevel() >= 20 && lvlnow == ClassLevel.First)
+        	        {
+        	        	L2ClassMasterInstance.ClassMaster.onAction(getActiveChar());
+        	        }
+        	        else if(getLevel() >= 40 && lvlnow == ClassLevel.Second)
+        	        {
+        	        	L2ClassMasterInstance.ClassMaster.onAction(getActiveChar());
+        	        }
+        	        else if(getLevel() >= 76 && lvlnow == ClassLevel.Third)
+        	        {
+        	        	L2ClassMasterInstance.ClassMaster.onAction(getActiveChar());
+        	        }
+                }
         if (levelIncreased)
         {

Aquilis está offline   Responder com Citação
Os Seguintes 2 Usuários disseram Obrigado(a) para Aquilis por gostarem deste post :
Loki (19-09-2009), ShadowBR (28-09-2009)
Resposta

Ferramentas do Tópico
Modos de Exibição

Regras para Posts
Você não pode postar novos tópicos
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar seus posts

Código [IMG] Sim
Código HTML Não
Trackbacks are Sim
Pingbacks are Sim
Refbacks are Sim



Horários baseados na GMT -3. Agora são 03:57 AM.
 



Search Engine Optimization by vBSEO 3.3.0