Who
Members-
Posts
235 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by Who
-
more the ru's and en's put $$$$$$$$$ on the ass of pyromaker
-
kosglad Server 5000+ on 100% Br Server last l2vendetta.com made from pyromaker ( brazilian ) what for say ?
-
upgrade coming soon at Tuesday 18/05/2010 up the ram to 4048 DDR2
-
L2 Raion Informacoes do server: Verção Rates Enchant Custons Drop Areas ( Dust , Adena Usado para Craftar Itens Custom ) Comandos Debuffs / Buffs e Areas Hardware Site http://www.l2raion.com Staff
-
l2-vendetta.com pyromaker is from brazil .. what u say?
-
@mikrosgiwrgakis.com I'm making a new site with all the major languages of the world l2 =P and change the site style ^^
-
L2 Raion Informacoes do server: Rates Enchant Custons Hardware Site http://www.l2raion.com Staff
-
LEGED , BUGED GM's ARE CORRUPT KID
-
[Question] - Which server pack you think it's better?
Who replied to tweety's question in Request Server Development Help [L2J]
for interlude use l2jteon for kamael + use l2jserver -
1: Custom shop not work Yes Work Only Need Fix on Multisell 2: Lag with 3 player on You Are From Another Coutry of Dedicate Machine (Ping) 3: why only 24 buff slots Class Balance 4: where to xp Exp Area Is Not Completed
-
server have custom area for level up with 500x of xp
-
Features Rates: XP : 75x SP : 75x Adena : 200x Drop : 1x Enchant: Save +3 Max +16(weapons) +16 (armor e Joias) Crystal : 66% Normal : 60% Blessed : 80% Custons: Armor: Tempest Knight (Dark Knight) Supreme Apella (Titanium) Weapons: Tempest Icarus Supreme Epic Accesorios Supreme Cloaks Supreme Epic Accesories Drop Areas: Monatery Of Silence (Dust , Medal) Cave of Trials (Adena) Hardware: AMD Phanom II X4 Black Edition 3,2GHz 4GB RAM DDR3 2xSSD 64GB GeForce GTX295 1GB 10MB Uplink L2 Tempest
-
Adapt (Chance Class Without go te Cat) for l2joff IT
Who replied to Who's question in Request Server Development Help [L2J]
send me the links please -
Adapt (Chance Class Without go te Cat) for l2joff IT
Who replied to Who's question in Request Server Development Help [L2J]
I Using L2JOFF check this on svn =] -
Adapt (Chance Class Without go te Cat) for l2joff IT
Who replied to Who's question in Request Server Development Help [L2J]
Lines doesnt match imports doesnt match files andres doesnt match -
Adapt (Chance Class Without go te Cat) for l2joff IT
Who posted a question in Request Server Development Help [L2J]
this is the code i need help to adapt this for l2joff interlude anyone help me? 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) + { + 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) - { - 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) { -
ok i make a translate...
-
Rates: 75x/90x/150x NPC's: - GM Shop - NPC buffer [até 2ª job] - Merchant Creator [troca materiais por itens] - Tempest Areas [npc que lhe teletransporta] - mais... Subclasse grátis [max 3] 36 buffs [contando com safe] Full Geodata Interlude Full Interlude Monsters Full Interlude Quest Full interlude Skills* All Raid Boss 100% Hero System 100% Clan Skills 100% Zariche e Akamanah 100% Rate de Enchant: Safe enchant: +3 Max Enchant: +16 Weapon / +10 Armor and Jewel Enchant Normal: 40% chance Blessed Enchant: 75% chance Crystal Enchant: 100% chance Hierarquia dos Itens: Supreme Apella Set - Medium S Aghamin Knight Set - High S Tempest Set - Top S Local de Drop: - Tempest Cave [drop de materiais / pvp area] - Tempest Fields [drop de materiais / pvp area] Site : http://l2tempest.rg3.net Server will open at : 17/02/2010 17:00 (GTM+3) after the datacenter maintenance
-
good I recorded following a piece of music so do not know the name so I can download it track ta here the link: http://www.4shared.com/file/182031330/51934ee0/fm_online.html see if you recognize .... if you can pass me the name I thank ...
-
ERRRROOO! xD
-
[Guide]How To Change Glows of Any Weapon
Who replied to Who's topic in Client Development Discussion
double post..... its question for mp mensage '-.-

