Jump to content

te0x

Members
  • Posts

    460
  • Credits

  • Joined

  • Last visited

  • Days Won

    2
  • Feedback

    0%

Everything posted by te0x

  1. model/actor/instance new file package com.l2jfrozen.gameserver.model.actor.instance; import java.sql.Connection; import java.sql.PreparedStatement; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; import javolution.text.TextBuilder; import com.l2jfrozen.Config; import com.l2jfrozen.gameserver.ai.CtrlIntention; import com.l2jfrozen.gameserver.communitybbs.Manager.RegionBBSManager; import com.l2jfrozen.gameserver.datatables.sql.CharNameTable; import com.l2jfrozen.gameserver.datatables.sql.ClanTable; import com.l2jfrozen.gameserver.model.Inventory; import com.l2jfrozen.gameserver.model.L2World; import com.l2jfrozen.gameserver.network.SystemMessageId; import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed; import com.l2jfrozen.gameserver.network.serverpackets.LeaveWorld; import com.l2jfrozen.gameserver.network.serverpackets.MagicSkillUser; import com.l2jfrozen.gameserver.network.serverpackets.MyTargetSelected; import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jfrozen.gameserver.network.serverpackets.PartySmallWindowAll; import com.l2jfrozen.gameserver.network.serverpackets.PartySmallWindowDeleteAll; import com.l2jfrozen.gameserver.network.serverpackets.PledgeShowMemberListAll; import com.l2jfrozen.gameserver.network.serverpackets.PledgeShowMemberListUpdate; import com.l2jfrozen.gameserver.network.serverpackets.SocialAction; import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage; import com.l2jfrozen.gameserver.network.serverpackets.ValidateLocation; import com.l2jfrozen.gameserver.templates.L2NpcTemplate; import com.l2jfrozen.gameserver.util.Util; import com.l2jfrozen.util.CloseUtil; import com.l2jfrozen.util.database.L2DatabaseFactory; public class L2te0xServiceNpcInstance extends L2NpcInstance { private final static int ITEM_ID = 9989; String INSERT_DATA = "REPLACE INTO characters_custom_data (obj_Id, char_name, hero, noble, donator, hero_end_date) VALUES (?,?,?,?,?,?)"; String INSERT_DATAA = "REPLACE INTO characters_custom_data (obj_Id, char_name, hero, noble, donator) VALUES (?,?,?,?,?)"; public L2te0xServiceNpcInstance(int objectId, L2NpcTemplate template) { super(objectId, template); } @Override public void onBypassFeedback(L2PcInstance player, String command) { if (player == null) { return; } else if (command.startsWith("active")) { showActiveWindow(player, 0); } else if (command.startsWith("passive")) { showPassiveWindow(player, 0); } else if (command.startsWith("back")) { showChatWindow(player, 0); } else if (command.startsWith("Refresh")) { addAugment(player, 16287, 3202, 3); } else if (command.startsWith("Ritual")) { addAugment(player, 16183, 3130, 10); } else if (command.startsWith("Heal")) { addAugment(player, 16195, 3123, 10); } else if (command.startsWith("Recharge")) { addAugment(player, 16204, 3127, 10); } else if (command.startsWith("Cheer")) { addAugment(player, 16197, 3131, 10); } else if (command.startsWith("Celestial")) { addAugment(player, 15047, 3158, 1); } else if (command.startsWith("BlessedSoul")) { addAugment(player, 16200, 3128, 10); } else if (command.startsWith("BlessedBody")) { addAugment(player, 16199, 3124, 10); } else if (command.startsWith("Empower")) { addAugment(player, 16281, 3241, 10); } else if (command.startsWith("MagicBarrier")) { addAugment(player, 16282, 3245, 10); } else if (command.startsWith("Might")) { addAugment(player, 16283, 3240, 10); } else if (command.startsWith("Shield")) { addAugment(player, 16284, 3244, 10); } else if (command.startsWith("DuelMight")) { addAugment(player, 16285, 3243, 10); } else if (command.startsWith("Focus")) { addAugment(player, 16333, 3249, 10); } else if (command.startsWith("WildMagic")) { addAugment(player, 16336, 3250, 10); } else if (command.startsWith("Agility")) { addAugment(player, 16332, 3247, 10); } else if (command.startsWith("Guidance")) { addAugment(player, 16335, 3248, 10); } else if (command.startsWith("changeName2")) { showNameWindow(player, 0); } else if (command.startsWith("changeClanName2")) { showClanNameWindow(player, 0); } else if (command.startsWith("changeName")) { String _name = command.substring(11); String errorMsg = null; boolean proceed = true; if (_name.length() < 3) { errorMsg = "Names have to be at least 3 characters"; proceed = false; showNameWindow(player, 0); } if (_name.length() > 16) { errorMsg = "Names cannot be longer than 16 characters"; proceed = false; showNameWindow(player, 0); } if ((!Util.isAlphaNumeric(_name)) || (!isValidName(_name))) { errorMsg = "Invalid name"; proceed = false; showNameWindow(player, 0); } if (CharNameTable.getInstance().doesCharNameExist(_name)) { if ((!player.getName().equalsIgnoreCase(_name)) || (player.getName().equals(_name))) { errorMsg = "Name already exists"; proceed = false; showNameWindow(player, 0); } } if (!proceed) { player.sendMessage(errorMsg); showNameWindow(player, 0); return; } if (player.destroyItemByItemId("Consume", ITEM_ID, 10, player, true)) { try (Connection con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE characters SET char_name=? WHERE obj_Id=?")) { statement.setString(1, _name); statement.setInt(2, player.getObjectId()); statement.execute(); statement.close(); } catch (Exception e) { LOGGER.info("Error updating name for player " + player.getName() + ". Error: " + e); } L2World.getInstance().removeFromAllPlayers(player); player.setName(_name); player.store(); L2World.getInstance().addToAllPlayers(player); player.sendMessage("Your new character name is " + _name); player.broadcastUserInfo(); player.sendMessage("Thank you for helping our server!"); if (player.isInParty()) { // Delete party window for other party members player.getParty().broadcastToPartyMembers(player, new PartySmallWindowDeleteAll()); for (final L2PcInstance member : player.getParty().getPartyMembers()) { // And re-add if (member != player) { member.sendPacket(new PartySmallWindowAll(player, player.getParty())); } } } if (player.getClan() != null) { player.getClan().updateClanMember(player); player.getClan().broadcastToOnlineMembers(new PledgeShowMemberListUpdate(player)); player.sendPacket(new PledgeShowMemberListAll(player.getClan(), player)); } RegionBBSManager.getInstance().changeCommunityBoard(); } } else if (command.startsWith("changeClanName")) { String _name = command.substring(15); String errorMsg = null; boolean proceed = true; if (_name.length() < 2) { errorMsg = "Clan Names have to be at least 2 characters"; proceed = false; showClanNameWindow(player, 0); } if (_name.length() > 16) { errorMsg = "Clan Names cannot be longer than 16 characters"; proceed = false; showClanNameWindow(player, 0); } if ((!Util.isAlphaNumeric(_name)) || (!isValidClanName(_name))) { errorMsg = "Invalid name"; proceed = false; showClanNameWindow(player, 0); } if (ClanTable.getClanByName(_name) != null) { errorMsg = "Name already exists"; proceed = false; showClanNameWindow(player, 0); } if (!proceed) { player.sendMessage(errorMsg); showClanNameWindow(player, 0); return; } if (player.destroyItemByItemId("Consume", ITEM_ID, 10, player, true)) { try (Connection con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE clan_data SET clan_name=? WHERE clan_id=?")) { statement.setString(1, _name); statement.setInt(2, player.getClan().getClanId()); statement.execute(); statement.close(); } catch (Exception e) { LOGGER.info("Error updating clan name for player " + player.getName() + ". Error: " + e); } player.getClan().setName(_name); player.sendMessage("Your new clan name is " + _name); player.sendMessage("Thank you for helping our server!"); player.getClan().broadcastClanStatus(); } } else if (command.startsWith("setNoble")) { if (!player.isNoble()) { if (player.getInventory().getInventoryItemCount(ITEM_ID, -1) >= 10) { player.destroyItemByItemId("Consume", ITEM_ID, 10, player, true); player.getInventory().addItem("Tiara", 7694, 1, player, null); player.setNoble(true); player.setTarget(player); player.broadcastPacket(new MagicSkillUser(player, 5103, 1, 1000, 0)); player.broadcastUserInfo(); player.broadcastPacket(new SocialAction(player.getObjectId(), 16)); player.sendMessage("The greatest soul of the Flame of Splendor Barakiel is now following your spirit by gifting you the Noblesse status. Status that only a few true Semi-Gods can have."); } else { player.sendMessage("You don't have enough items."); } } else { player.sendMessage("The greatest soul of the Flame of Splendor Barakiel is already following your spirit and gifting it with the Noblesse status."); } } else if (command.startsWith("setDonator")) { if (!player.isDonator()) { if (player.getInventory().getInventoryItemCount(ITEM_ID, -1) >= 7) { player.destroyItemByItemId("Consume", ITEM_ID, 1, player, true); player.setDonator(true); player.setTarget(player); updateDatabasex(player, true); player.broadcastPacket(new MagicSkillUser(player, 5103, 1, 1000, 0)); player.broadcastUserInfo(); player.sendMessage("You are gifted with the Donator status. Thank you for being a helpful player on our server!"); } else { player.sendMessage("You don't have enough items."); } } else { player.sendMessage("You already own Donator status."); } } else if (command.startsWith("reducePks2")) { showPksWindow(player, 0); } else if (command.startsWith("reducePks")) { try { String pkReduceString = command.substring(10); int pkReduceCount = Integer.parseInt(pkReduceString); if (player.getPkKills() != 0) { if (pkReduceCount == 0) { player.sendMessage("Please, put a higher value."); showPksWindow(player, 0); } else { if (player.getInventory().getInventoryItemCount(ITEM_ID, -1) >= 1) { player.destroyItemByItemId("Consume", ITEM_ID, 1 * pkReduceCount, player, true); player.setPkKills(player.getPkKills() - pkReduceCount); player.sendMessage("You have successfuly cleaned " + pkReduceCount + " PKs."); player.broadcastUserInfo(); } else { player.sendMessage("Not enough items."); } } } else { player.sendMessage("Not enough PKs."); } } catch (Exception e) { player.sendMessage("Incorrect value. Please try again."); showPksWindow(player, 0); } } else if (command.startsWith("levelUpClan")) { if (!player.isClanLeader()) { player.sendMessage("You must be a clan leader in order to use this service."); } else { if (player.getClan().getLevel() == 8) { player.sendMessage("Your clan is already level 8."); } else { if (((player.getClan().getLevel() <= 1) || (player.getClan().getLevel() == 2) || (player.getClan().getLevel() == 3) || (player.getClan().getLevel() == 4))) { player.getClan().setLevel(player.getClan().getLevel() + 1); player.getClan().broadcastClanStatus(); player.sendMessage("Your clan is now level " + player.getClan().getLevel() + "."); player.setTarget(player); player.broadcastPacket(new MagicSkillUser(player, 5103, 1, 1000, 0)); int newCLanLevel = player.getClan().getLevel() +1; LOGGER.info("Updating clan ID " + player.getClan().getClanId() +" to level " + newCLanLevel + " for player " + player.getName() + "."); try (Connection con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE clan_data SET clan_level=? WHERE clan_id=?")) { statement.setInt(1, player.getClan().getLevel()); statement.setInt(2, player.getClan().getClanId()); statement.execute(); statement.close(); } catch (Exception e) { LOGGER.info("Error updating clan level for player " + player.getName() + ". Error: " + e); } player.sendMessage("Your clan level have been increased successfully."); } else if (player.getClan().getLevel() == 5) { if (player.getInventory().getInventoryItemCount(ITEM_ID, -1) >= 10) { player.destroyItemByItemId("Consume", ITEM_ID, 10, player, true); player.getClan().setLevel(player.getClan().getLevel() + 1); player.getClan().broadcastClanStatus(); player.sendMessage("Your clan is now level " + player.getClan().getLevel() + "."); player.setTarget(player); player.broadcastPacket(new MagicSkillUser(player, 5103, 1, 1000, 0)); int newCLanLevel = player.getClan().getLevel() +1; LOGGER.info("Updating clan ID " + player.getClan().getClanId() +" to level " + newCLanLevel + " for player " + player.getName() + "."); try (Connection con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE clan_data SET clan_level=? WHERE clan_id=?")) { statement.setInt(1, player.getClan().getLevel()); statement.setInt(2, player.getClan().getClanId()); statement.execute(); statement.close(); } catch (Exception e) { LOGGER.info("Error updating clan level for player " + player.getName() + ". Error: " + e); } player.sendMessage("Your clan level have been increased successfully."); } else { player.sendMessage("Not enough items."); } } else if (player.getClan().getLevel() == 6) { if (player.getInventory().getInventoryItemCount(ITEM_ID, -1) >= 10) { player.destroyItemByItemId("Consume", ITEM_ID, 10, player, true); player.getClan().setLevel(player.getClan().getLevel() + 1); player.getClan().broadcastClanStatus(); player.sendMessage("Your clan is now level " + player.getClan().getLevel() + "."); player.setTarget(player); player.broadcastPacket(new MagicSkillUser(player, 5103, 1, 1000, 0)); int newCLanLevel = player.getClan().getLevel() +1; LOGGER.info("Updating clan ID " + player.getClan().getClanId() +" to level " + newCLanLevel + " for player " + player.getName() + "."); try (Connection con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE clan_data SET clan_level=? WHERE clan_id=?")) { statement.setInt(1, player.getClan().getLevel()); statement.setInt(2, player.getClan().getClanId()); statement.execute(); statement.close(); } catch (Exception e) { LOGGER.info("Error updating clan level for player " + player.getName() + ". Error: " + e); } player.sendMessage("Your clan level have been increased successfully."); } else { player.sendMessage("Not enough items."); } } else if (player.getClan().getLevel() == 7) { if (player.getInventory().getInventoryItemCount(ITEM_ID, -1) >= 10) { player.destroyItemByItemId("Consume", ITEM_ID, 10, player, true); player.getClan().setLevel(player.getClan().getLevel() + 1); player.getClan().broadcastClanStatus(); player.sendMessage("Your clan is now level " + player.getClan().getLevel() + "."); player.setTarget(player); player.broadcastPacket(new MagicSkillUser(player, 5103, 1, 1000, 0)); int newCLanLevel = player.getClan().getLevel() +1; LOGGER.info("Updating clan ID " + player.getClan().getClanId() +" to level " + newCLanLevel + " for player " + player.getName() + "."); try (Connection con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE clan_data SET clan_level=? WHERE clan_id=?")) { statement.setInt(1, player.getClan().getLevel()); statement.setInt(2, player.getClan().getClanId()); statement.execute(); statement.close(); } catch (Exception e) { LOGGER.info("Error updating clan level for player " + player.getName() + ". Error: " + e); } player.sendMessage("Your clan level have been increased successfully."); } else { player.sendMessage("Not enough items."); } } player.getClan().broadcastClanStatus(); } } } else if (command.startsWith("changeGender")) { if (player.getInventory().getInventoryItemCount(ITEM_ID, -1) >= 5) { player.getAppearance().setSex(player.getAppearance().getSex() ? false : true); player.setTarget(player); player.broadcastPacket(new MagicSkillUser(player, 5103, 1, 1000, 0)); player.destroyItemByItemId("Consume", ITEM_ID, 10, player, true); L2PcInstance.setSexDB(player, 1); player.sendMessage("You have successfully changed your sex."); player.decayMe(); player.spawnMe(player.getX(), player.getY(), player.getZ()); player.broadcastUserInfo(); } else { player.sendMessage("You don't have enough items."); } } else if (command.startsWith("hero")) { if (!player.isHero()) { if (player.getInventory().getInventoryItemCount(ITEM_ID, -1) >= 10) { player.broadcastPacket(new SocialAction(player.getObjectId(), 16)); player.setHero(true); updateDatabase(player, 1 * 24L * 60L * 60L * 1000L); player.sendMessage("You have been hero for 1 day. Have a nice time!"); player.broadcastUserInfo(); player.destroyItemByItemId("Consume", ITEM_ID, 10, player, true); } else { player.sendMessage("You don't have enough items."); } } else { player.sendMessage("You already are a hero."); } } } @Override public void onAction(L2PcInstance player) { if (this != player.getTarget()) { player.setTarget(this); player.sendPacket(new MyTargetSelected(getObjectId(), 0)); player.sendPacket(new ValidateLocation(this)); } else if (!canInteract(player)) { player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this); } else { showChatWindow(player, 0); } // Send a Server->Client ActionFailed to the L2PcInstance in order to avoid that the client wait another packet player.sendPacket(ActionFailed.STATIC_PACKET); } @Override public void showChatWindow(L2PcInstance player, int val) { TextBuilder tb = new TextBuilder(); tb.append("<html><head><title>Lineage II Addicted - Donate Panel</title></head><body>"); tb.append("<center><img src=\"l2ui_ch3.herotower_deco\" width=256 height=32>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("<table bgcolor=000000 width=300 height=40>"); tb.append("<tr>"); tb.append("<td width=\"300\" align=\"center\"><font color=\"666666\">Welcome " + player.getName() +" in Lineage II</font><font color=\"FF9900\"> -Addicted-</font></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("<br>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("</center>"); tb.append("<center>"); tb.append("<table bgcolor=000000 width=300 height=12>"); tb.append("<tr>"); tb.append("<td width=\"300\" align=\"center\"><font color=\"FF0000\">{Donate Panel}</font></td>"); tb.append("</tr>"); tb.append("<tr>"); tb.append("<td width=\"300\" align=\"center\"><font color=\"666666\">Help us to improve our server by donating!</font></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("<br>"); tb.append("<center>"); tb.append("<table>"); tb.append("<tr><td align=center><font color=\"FF9900\"><a action=\"bypass -h npc_%objectId%_active\">Active Augment (20 Donate coins)</a></font></td></tr>"); tb.append("<tr><td align=center><font color=\"FF9900\"><a action=\"bypass -h npc_%objectId%_passive\">Passive Augment (20 Donate coins)</a></font></td></tr>"); tb.append("<tr><td align=center><font color=\"FF9900\"><a action=\"bypass -h npc_%objectId%_hero\">Become Hero 24h (20 Donate coins)</a></font></td></tr>"); tb.append("<tr><td align=center><font color=\"FF9900\"><a action=\"bypass -h npc_%objectId%_setNoble\">Become Noblesse (10 Donate coins)</a></font></td></tr>"); tb.append("<tr><td align=center><font color=\"FF9900\"><a action=\"bypass -h npc_%objectId%_setDonator\">Become Donator (50 Donate coins)</a></font></td></tr>"); tb.append("<tr><td align=center><font color=\"FF9900\"><a action=\"bypass -h npc_%objectId%_changeName2\">Change Name (10 Donate coins)</a></font></td></tr>"); tb.append("<tr><td align=center><font color=\"FF9900\"><a action=\"bypass -h npc_%objectId%_changeGender\">Change Sex (10 Donate coins)</a></font></td></tr>"); tb.append("<tr><td align=center><font color=\"FF9900\"><a action=\"bypass -h npc_%objectId%_reducePks2\">Remove Pks (1 pk = 1 Donate coin)</a></font></td></tr>"); tb.append("<tr><td align=center><font color=\"FF9900\"><a action=\"bypass -h npc_%objectId%_changeClanName2\">Change Clan Name (10 Donate coins)</a></font></td></tr>"); tb.append("<tr><td align=center><font color=\"FF9900\"><a action=\"bypass -h npc_%objectId%_levelUpClan\">Clan level up (10 Donate coins per lvl)</a></font></td></tr>"); tb.append("</table>"); tb.append("<br>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("<table border=0 bgcolor=000000 width=300 height=20>"); tb.append("<tr>"); tb.append("<td align=\"center\" width=\"300\"><font color=\"666666\">Vote for us :</font><font color=\"FF5555\"> www.l2addicted.eu</font></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("</center>"); tb.append("</body></html>"); NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId()); msg.setHtml(tb.toString()); msg.replace("%objectId%", String.valueOf(this.getObjectId())); player.sendPacket(msg); } public void showActiveWindow(L2PcInstance player, int val) { TextBuilder tb = new TextBuilder(); tb.append("<html><head><title>Lineage II Addicted - Active Augment</title></head><body>"); tb.append("<center><img src=\"l2ui_ch3.herotower_deco\" width=256 height=32>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("</center>"); tb.append("<center>"); tb.append("<table bgcolor=000000 width=300 height=12>"); tb.append("<tr>"); tb.append("<td width=\"300\" align=\"center\"><font color=\"FF0000\">{Remove Pks}</font></td>"); tb.append("</tr>"); tb.append("<tr>"); tb.append("<td width=\"300\" align=\"center\"><font color=\"666666\">Add a passive skill for 10 donate coins.</font></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("<br>"); tb.append("<center>"); tb.append("<button value=\"Celestial\" action=\"bypass -h npc_%objectId%_Celestial\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<button value=\"Refresh\" action=\"bypass -h npc_%objectId%_Refresh\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<button value=\"Ritual\" action=\"bypass -h npc_%objectId%_Ritual\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<button value=\"Heal\" action=\"bypass -h npc_%objectId%_Heal\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<button value=\"Recharge\" action=\"bypass -h npc_%objectId%_Recharge\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<button value=\"Cheer\" action=\"bypass -h npc_%objectId%_Cheer\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<button value=\"Blessed Soul\" action=\"bypass -h npc_%objectId%_BlessedSoul\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<button value=\"Blessed Body\" action=\"bypass -h npc_%objectId%_BlessedBody\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32>"); tb.append("<br>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("<table border=0 bgcolor=000000 width=300 height=20>"); tb.append("<tr>"); tb.append("<td align=\"center\" width=\"300\"><font color=\"666666\">Vote for us :</font><font color=\"FF5555\"> www.l2addicted.eu</font></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("</center>"); tb.append("</body></html>"); NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId()); msg.setHtml(tb.toString()); msg.replace("%objectId%", String.valueOf(this.getObjectId())); player.sendPacket(msg); } public void showPassiveWindow(L2PcInstance player, int val) { TextBuilder tb = new TextBuilder(); tb.append("<html><head><title>Lineage II Addicted - Passive Augment</title></head><body>"); tb.append("<center><img src=\"l2ui_ch3.herotower_deco\" width=256 height=32>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("</center>"); tb.append("<center>"); tb.append("<table bgcolor=000000 width=300 height=12>"); tb.append("<tr>"); tb.append("<td width=\"300\" align=\"center\"><font color=\"FF0000\">{Remove Pks}</font></td>"); tb.append("</tr>"); tb.append("<tr>"); tb.append("<td width=\"300\" align=\"center\"><font color=\"666666\">Add a passive skill for 10 donate coins.</font></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("<br>"); tb.append("<center>"); tb.append("<button value=\"Empower\" action=\"bypass -h npc_%objectId%_Empower\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<button value=\"M.Barrier\" action=\"bypass -h npc_%objectId%_MagicBarrier\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<button value=\"Might\" action=\"bypass -h npc_%objectId%_Might\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<button value=\"Shield\" action=\"bypass -h npc_%objectId%_Shield\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<button value=\"Duel Might\" action=\"bypass -h npc_%objectId%_DuelMight\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<button value=\"Focus\" action=\"bypass -h npc_%objectId%_Focus\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<button value=\"Wild Magic\" action=\"bypass -h npc_%objectId%_WildMagic\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<button value=\"Agility\" action=\"bypass -h npc_%objectId%_Agility\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<button value=\"Guidance\" action=\"bypass -h npc_%objectId%_Guidance\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\">"); tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32>"); tb.append("<br>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("<table border=0 bgcolor=000000 width=300 height=20>"); tb.append("<tr>"); tb.append("<td align=\"center\" width=\"300\"><font color=\"666666\">Vote for us :</font><font color=\"FF5555\"> www.l2addicted.eu</font></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("</center>"); tb.append("</body></html>"); NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId()); msg.setHtml(tb.toString()); msg.replace("%objectId%", String.valueOf(this.getObjectId())); player.sendPacket(msg); } public void showPksWindow(L2PcInstance player, int val) { TextBuilder tb = new TextBuilder(); tb.append("<html><head><title>Lineage II Addicted - Remove PKs</title></head><body>"); tb.append("<center><img src=\"l2ui_ch3.herotower_deco\" width=256 height=32>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("</center>"); tb.append("<center>"); tb.append("<table bgcolor=000000 width=300 height=12>"); tb.append("<tr>"); tb.append("<td width=\"300\" align=\"center\"><font color=\"FF0000\">{Remove Pks}</font></td>"); tb.append("</tr>"); tb.append("<tr>"); tb.append("<td width=\"300\" align=\"center\"><font color=\"666666\">Clean Pks. 1 pk = 1 Donate coin.</font></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("<br>"); tb.append("<center>"); tb.append("<edit var=\"pkReduceCount\" width=80 height=15>"); tb.append("<button value=\"Clean Pks\" action=\"bypass -h npc_%objectId%_reducePks $pkReduceCount\" back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\" width=75 height=21>"); tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32>"); tb.append("<br>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("<table border=0 bgcolor=000000 width=300 height=20>"); tb.append("<tr>"); tb.append("<td align=\"center\" width=\"300\"><font color=\"666666\">Vote for us :</font><font color=\"FF5555\"> www.l2addicted.eu</font></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("</center>"); tb.append("</body></html>"); NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId()); msg.setHtml(tb.toString()); msg.replace("%objectId%", String.valueOf(this.getObjectId())); player.sendPacket(msg); } public void showNameWindow(L2PcInstance player, int val) { TextBuilder tb = new TextBuilder(); tb.append("<html><head><title>Lineage II Addicted - Rename</title></head><body>"); tb.append("<center><img src=\"l2ui_ch3.herotower_deco\" width=256 height=32>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("</center>"); tb.append("<center>"); tb.append("<table bgcolor=000000 width=300 height=12>"); tb.append("<tr>"); tb.append("<td width=\"300\" align=\"center\"><font color=\"FF0000\">{Rename}</font></td>"); tb.append("</tr>"); tb.append("<tr>"); tb.append("<td width=\"300\" align=\"center\"><font color=\"666666\">Change your name for 10 donate coins.</font></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("<br>"); tb.append("<center>"); tb.append("<edit var=\"newName\" width=80 height=15>"); tb.append("<button value=\"Rename\" action=\"bypass -h npc_%objectId%_changeName $newName\" back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\" width=75 height=21>"); tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32>"); tb.append("<br>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("<table border=0 bgcolor=000000 width=300 height=20>"); tb.append("<tr>"); tb.append("<td align=\"center\" width=\"300\"><font color=\"666666\">Vote for us :</font><font color=\"FF5555\"> www.l2addicted.eu</font></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("</center>"); tb.append("</body></html>"); NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId()); msg.setHtml(tb.toString()); msg.replace("%objectId%", String.valueOf(this.getObjectId())); player.sendPacket(msg); } public void showClanNameWindow(L2PcInstance player, int val) { TextBuilder tb = new TextBuilder(); tb.append("<html><head><title>Lineage II Addicted - Rename</title></head><body>"); tb.append("<center><img src=\"l2ui_ch3.herotower_deco\" width=256 height=32>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("</center>"); tb.append("<center>"); tb.append("<table bgcolor=000000 width=300 height=12>"); tb.append("<tr>"); tb.append("<td width=\"300\" align=\"center\"><font color=\"FF0000\">{Rename}</font></td>"); tb.append("</tr>"); tb.append("<tr>"); tb.append("<td width=\"300\" align=\"center\"><font color=\"666666\">Change your clan name for 10 donate coins.</font></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("<br>"); tb.append("<center>"); tb.append("<edit var=\"newClanName\" width=80 height=15>"); tb.append("<button value=\"Rename\" action=\"bypass -h npc_%objectId%_changeClanName $newClanName\" back=\"L2UI_ch3.Btn1_normalDisable\" fore=\"L2UI_ch3.Btn1_normalDisable\" width=75 height=21>"); tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32>"); tb.append("<br>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("<table border=0 bgcolor=000000 width=300 height=20>"); tb.append("<tr>"); tb.append("<td align=\"center\" width=\"300\"><font color=\"666666\">Vote for us :</font><font color=\"FF5555\"> www.l2addicted.eu</font></td>"); tb.append("</tr>"); tb.append("</table>"); tb.append("<img src=\"L2UI.SquareGray\" width=300 height=1>"); tb.append("</center>"); tb.append("</body></html>"); NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId()); msg.setHtml(tb.toString()); msg.replace("%objectId%", String.valueOf(this.getObjectId())); player.sendPacket(msg); } private static void addAugment(L2PcInstance player, int attribute, int skill, int level) { L2ItemInstance item = player.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND); if (item == null) { player.sendMessage("You have to equip a weapon."); return; } if (player.getInventory().getInventoryItemCount(ITEM_ID, -1) < 20) { player.sendMessage("You dont have enough item."); return; } if (item.isAugmented()) { player.sendMessage("Remove the augment first."); return; } Connection con = null; try { player.destroyItemByItemId("Consume", ITEM_ID, 20, player, true); con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("REPLACE INTO augmentations VALUES(?,?,?,?)"); statement.setInt(1, item.getObjectId()); statement.setInt(2, attribute*65536+1); statement.setInt(3, skill); statement.setInt(4, level); statement.executeUpdate(); player.sendPacket(new SystemMessage(SystemMessageId.THE_ITEM_WAS_SUCCESSFULLY_AUGMENTED)); statement.close(); player.sendMessage("You will be disconnected in 3 seconds to enable the security"); try { Thread.sleep(3000L); } catch (Exception e) { } player.deleteMe(); player.sendPacket(new LeaveWorld()); } catch (Exception e) { } finally { L2DatabaseFactory.close(con); } } private void updateDatabasex(L2PcInstance player, boolean newDonator) { Connection con = null; try { if(player == null) return; con = L2DatabaseFactory.getInstance().getConnection(false); PreparedStatement stmt = con.prepareStatement(INSERT_DATAA); stmt.setInt(1, player.getObjectId()); stmt.setString(2, player.getName()); stmt.setInt(3, player.isHero() ? 1 : 0); stmt.setInt(4, player.isNoble() ? 1 : 0); stmt.setInt(5, 1); stmt.execute(); stmt.close(); stmt = null; } catch(Exception e) { if(Config.ENABLE_ALL_EXCEPTIONS) e.printStackTrace(); LOGGER.error("Error: could not update database: ", e); } finally { CloseUtil.close(con); con = null; } } private void updateDatabase(L2PcInstance player, long heroTime) { Connection con = null; try { if(player == null) return; con = L2DatabaseFactory.getInstance().getConnection(false); PreparedStatement stmt = con.prepareStatement(INSERT_DATA); stmt.setInt(1, player.getObjectId()); stmt.setString(2, player.getName()); stmt.setInt(3, 1); stmt.setInt(4, player.isNoble() ? 1 : 0); stmt.setInt(5, player.isDonator() ? 1 : 0); stmt.setLong(6, heroTime == 0 ? 0 : System.currentTimeMillis() + heroTime); stmt.execute(); stmt.close(); stmt = null; } catch(Exception e) { if(Config.ENABLE_ALL_EXCEPTIONS) e.printStackTrace(); LOGGER.error("Error: could not update database: ", e); } finally { CloseUtil.close(con); con = null; } } private boolean isValidName(final String text) { boolean result = true; final String test = text; Pattern pattern; try { pattern = Pattern.compile(Config.CNAME_TEMPLATE); } catch (final PatternSyntaxException e) // case of illegal pattern { if (Config.ENABLE_ALL_EXCEPTIONS) e.printStackTrace(); pattern = Pattern.compile(".*"); } final Matcher regexp = pattern.matcher(test); if (!regexp.matches()) result = false; return result; } private boolean isValidClanName(final String text) { boolean result = true; final String test = text; Pattern pattern; try { pattern = Pattern.compile(Config.CLAN_NAME_TEMPLATE); } catch (final PatternSyntaxException e) // case of illegal pattern { if (Config.ENABLE_ALL_EXCEPTIONS) e.printStackTrace(); pattern = Pattern.compile(".*"); } final Matcher regexp = pattern.matcher(test); if (!regexp.matches()) result = false; return result; } }
  2. pigene db allakse to price sta scrolls valta 1.(dn boris 0 gt meta dn tha ta kanei sell) 729 Scroll: Enchant Weapon (Grade A) false scroll 120 normal none -1 1800000 0 true true true true scrl_of_ench_wp_a scroll kanonika afto an to kaneis sell kanei 1800000. gia na apofigun bugs tipou to agorazo 1 adena kai to poulao 1000 exoun ftiaksi afto to system
  3. i just started to be a h5 user ^^ anyways i did it manual it can be locked
  4. hello, i was trying to change the buff times on hi5 client with the L2 Skill time creator(program) but it doesnt work does this program exists for hi5 client or any different way to change the buffs time not one by one? thanks :D
  5. Thats why i updated. As i said i can provide a test server several hours a day to test it.Thanks dude
  6. I don't have problem to post the price my friend;) i did a quick post late at night so i didn't complete it all. Price is at 30 euros, ye it's on frozen and i can provide a test server for someone.
  7. Hello guyz, I've decided to update the old PSD server that i shared about a year ago. http://www.maxcheaters.com/topic/184816-lineage-psd-interlude-pvp-packsource/ I removed, cleaned, added new codes in order to fix the problems that the old one got. So lets start. #Entering the Game 200kk Adena mp, healing, cp(lvl1 150 cp) pots and SS,BSS A Security Key untradeable, undroppable, undestroyable and unsellable. By using this key you can submit your security code so you can have full access on your player. Summon CP Potion skill can give you up to 100 CP potions lvl 2 (300 cp recover). The reuse time is same for mages and fighters. Entering in Aden(Main Town) level 80. Hero announce system(no matters if you re on sub. The system will announce u will ur base class). Clan leader announce system(All the clan leaders that own a Castle). Raid Bosses announce system(When a raid make his appear it will be announced). Forbidden names system. By entering the name in the config this name will be disabled to use it in game. Showing on re-enter the last date that you were online #Experience Max level is 85 On Subclass add u start 80 level and max for it is 85 too. The experience gaining is getting reduced level by level. By leveling up you gain more cp/hp/mp and debuff restistance. #Buffslots For mages is 24 buffs(not included Summoners and Prophet) max For Daggers is 25 buffs max For the Other classes is 28 buffs max For Summons is 8 buffs max For Pets Like "Strider" is 12 buffs max Only the Buffs that exist on the buffer count as a buff so don't be afraid of losing buffs. #Karma After 5 PKs you will start dropping up to 3 items if you die with high possibility of 40%. Weapons drop is 10%, Equip items 40% and others 50%. After deing you will be teleported out of the town in order to erase it in mobs. #WeddingOnce you get merried you will gain the Wedding Bow with 3 skills. Heart Shot(Recovers 1350hp to ur partner only), Double Heart Shot(Recovers 35% of your partner maximum Hp) and Wedding - Greater Shield(increased for 30 sec your partner's pDef by 200%) #Security System You have a choice to enable it or not once you join the game. If you enable it you can't disable the system again and you can't change the security code. So to enable it you use the command .security Once you enable it you have to submit it in every login whenever you want by pressing on the Security key that you took by entering ous. If you don't want to enter the code your char won't have full access. What do i mean? You will not be able to join into events, trades, changing titles, remove clan members, making damage to players(only mob can take dmg) etc. All the actions will be disabled until you submit the code. The only thing that you can do is to move, wear items from the current inventory and hitting mobs. This is a 4 to 10 numbers code and you must NOT forget it. #Enchant System Max for normal items is +20. Max for custom items is +10. All the normal items are automatic +4. Safe +0 Customs. The enchant rate for normal items starts from 95% and in every enchant loses -5%. The enchant rate for custom items starts from 75% for 3 enchants and in every enchant after 3 loses -10%. With normal enchant scrolls the normal items when it fails will be +4. With normal enchant scrolls the custom items when it fails will be vanished. With crystal enchant scrolls the normal items when it fails will be +10. Also are usable only after +10. With crystal enchant scrolls the custom items when it fails will be +0. With blessed enchant scrolls the normal items when it fails will take a penalty of -2 enchant level. Also are usable only after +15. With blessed enchant scrolls the custom items when it fails will take a penalty of -1 enchant level. Also are usable only after +7. Auto Pvp Enchanting with rate 2% for weapons 4% for the others. Can be enchanted until 18 for normal items and 8 for custom items. Augmentation Chances: Mid 5%, High 10%, Top 15%. Scrolls, Lifestones and Book of Giants are stackable When you are making doubleClick on a Lifestone the Augmention table will appears When you are making on the Gemstones C the Remove Augmetion table will appears Custom effect when you are making skill enchanting #PVP Taking pvps by supporting your party members(Config for the supp classes) is possible with a chance of 15%. You must be inside 1100 range and in combat. By holding a Cursed Weapon (Zariche,Mortis Ressa,Alhazzard,Akamanah) you have 40% chance to take pvps. PVP Skill system. Different skills for mage and fighters. Starting at 250, 500, 1000, 2000, 3000, 4000, 5000, 6500, 7500, 8500, 9500, 12000. PVP color system. Changing title and name color. Starting at 250, 1000, 2000, 3000, 4000, 5000, 6000, 8500, 10000 Taking Experience by the PVPS (Based on your level and taking exp by %.) Killing Spree System Starting at 10, 15, 20 , 25(PVPHeroAura), 30, 35, 40, 45, 50, 75, 100. Killing Spree Stopper Name in announce Special Spree for Hunter Village Starting at 3, 5, 8, 10, 12. Changing the names on this spree Dominating, Rampage, Unstoppable, WickedSick, GodLike. The status will be back to normal if you die or if you leave Hunters. Hunter's Village PVP. You name and title is going to "Random Sh1t" and "Hunter's Magic", party inside is forbidden, cursed weaps are forbidden, Buff keeping after die without noblesse, Limited items inside(Items that costs Blue Eva are disabled), the enchant colors are chaning in every click on the players, Experience gain is increased by 15% if your level is lower than 83. Rune High PVP. Everything is allowed there. The healing gain is decreased /2 if you are inside the town. Reputation points. Earning by pvping up to 30 from wars and losing up to 10 by dieing from a war with 40% chance. Rep points can take clans that are below level 8. If a clan is lvl 8 and kills some1 that his clan is lower level they don't lose Rep.Points. Trade Chat at 25 PVPs with 80 sec reuse chatting [ Region] Global Chat at 2500 PVPs with 50 sec reuse chatting [Global] Hero Chat without beeing a Hero at 10000 PVPs with 30 sec reuse chatting [Global] After deing if you have cubics won't be removed #Farming Alt+Click to see the Status,Drops. The Ancient Adena and the Adena are not included. Gludin as a safe farm for the newbies. Not a lot mobs but their respawn is low. Getting coins and bogs. Ruins of Despair is a normal farming zone without guards and all the mobs, one Raid Boss and a random spawn Mob that spawns almost every 3,5 hours there or in Abandonded Camp. Abandonded Camp is a normal farming zone without guards and all the mobs, one Raid Boss and a random spawn Mob that spawns almost every 3,5 hours there or in Ruins of Despair. A random mob with nice drops appears in Hunters Village or in Rune every 3,5 hours. 9 Raid Bosses in every single region. 1 for every region. They appears in the gatekeeper as "ZoneName(Rare)". Respawning time 6-12 hours 5 Grand Bosses that drops Jewels and items. 12-24 hour respawn. To enter you need event medal that you can earn it only by voting! Custom items. Titanium armor with 5 parts. Dynasty armor. Icarus weapons, dynasty weapons, Relic weapons and Accessories with custom stats. The armors are gaining ++ status by enchating them. Starting at +5, +8 and +10.The Dynasty Rapier works as a dagger and a swords. You can use Blows and every single skill that use sword. Relic weapons got unique aura enchanting. Different in every weapon. Also they can debuff you on critical hits. Like "Trick,Silence,Hex etc". Unique SS Effects on attacks by the Custom weapons. 0 to 3 the first effect 4-6 second effect 7-9 third effect and +10 the last effect. Rly Beautiful* Customs coins. Adena, Golden Apiga, Bloody Pa'agrio, Silver Shilen, Gold Einhasad, Blue Eva, Festival Adena, Event Medal, Glittering Medal. Creating Silver Shilen by 50 Bloody Pa'agrio. Gold Einhasad are with low rates. Blue eva by 25 Gold Einhasad. Festival Adena by RB'S and Voting(after 20 votes the choice will appear). Event and Glittering Medals only by Voting. 3 New items that are used to Seed yourself with the Effect of Seed of Fire, Water and Wind. New potions Battle and War Pots. Increases pvpDamage or pvpDefense. buy with pvp coins. Herbs with different effects. buy with pvp coins. Different Healing Pots. buy with pvp coins. Reputation points #NPC The npcs looks like normal players but with unique color names, items etc. Every single npc got really nice htmls. Simple and beautiful. Voting NPC (topzone, hopzone individual) Achievements NPC (Reaching the Achievements and get the reward. 12 Achievements) Top 10 Ranking by PVPs PKs. Grand Bosses Online status Grand Olympiad Top 10 Ranking with matches played, points Item Store and Luxury Shop Buffer (Include Scheme) Siege Manager Gatekeeper with almost full tele places Donate Services Shop (Services with donate coins) Symbol maker, WH, Auctionner, Priest, Class Manager, Wedding Manager, Pk Guard. #Grand Olympiad Games You need to be at least 85 level and have 250 pvp's to join the games. The games are totally annonymous. Your names will appear only in the end of the game. Crests, Titles, Hero Aura, Weap Colors are made in a way so you cant understand with the player that you are playing. Disabled everything that can show to your Challenger your identify. Oly is only with normal S grade items(not customs). Every 2 weeks the new heroes. 100 points as a reward to exchange em so you can buy items from the olympiad shop(custom edition). 2 Voodoo Doll weapons. 1 for Mage and 1 for Fighter. These weaps are in the Normal Items so they can't break with scrolls and their max enchant level is +20. They gives you buffs for the games. Buffs at +10,13,16,19 and 20. Recharge skills in every game. +1 Hero Skill for Damage. Unique skills from RB'S with nice effects. In every pack of classes the skills are chaning. Assassins, Healers, Warriors etc. Pressure Bomb on Titan, Striking of Thunderbolts on DreadNought, Dragon Thunder on Daggers, Thunderous Shot on Archers, Dragon Breath on Archmage, Meteor Storm on Orc Mages, Wind Force on Supporters, Fossilization on Dwarfs, Darkness Strike on Duelist and BD, Holy Light Burst on MysticMuse, Demonic Circle On StormScreamer, Fallen Magic on Soultaker, Lightning Eruption on Tyrant and Prophet, Death Trap on Tanks and Frozen Ring Storm on SwordMuse and Evas Templar. No hero skills on subs. Fixed reuses to be the same for mages and fighters also the timing and the rate of Heroic Dread and Heroic Grandeur. #Clan Increases ur clan level until 5 is completly free. After +5 you may need items, RP points and clan members. For level 6 you need 30 members and 10k RP points. (Configs) For level 7 you need 45 members and 20k RP points. (Configs) For level 8 you need 60 members and 40k RP points. (Configs) To create guards the cost is 2000 RP and for knights is 5000 RP. Clan war at 10 members and max allies 3 Siege Period Every 1 Week #Skills / Classes The hitting time and the reuse time is made in a way to be a bit balanced. The debuffs times is reduced. 3sec to stuns, buffs, fears, 5sec to para, silence, sleep, root and 7 seconds to the others. There is a debuff protection system. Getting the same debuff every "x" time. Example getting Stun now and the next stun that will work will be after 15seconds. 10sec for tricks, 15sec for fears, sleep, root, para, silence, bluff and stun. 12sec for aggro. This system works only with the players. New skills added in some classes to make a better balance for a pvp server always*. DreadNought: Dash lvl 1, War Cry lvl 2. Shock blast is usable only if you have 250 distance from the enemy. Braveheart restores 30%CP, Battle roar now recovers 35% hp on lvl 6 and increases 10% your maximum HP. Wrath makes 30% damage on ur CP. 70% chance to work. Provoke decreases 10% restistance into pole weapon types. Phoenix Knight: Buffs Iron Will now gives 100mDef doesnt stuck with M.Barrier. Holy blade +10% pAtk to party members. Holy Armor +10%pDef and 10% resist to holy atks to party members. Aegis stance now gives also +200pDef. Ultimate defense is only for 10 secs and you are able to move with it. Vengeance gives you +500 range attack when you use it. Hell Knight: Added 3 Cubics. Phantom, Vampire and Binding Cubic. Shield of Revenge reflect 50% of the dmg back and have 50% chance to avoid blow atks. Archmage: Added Earth Vortex and Stone. Possibility of Half lethal with Stone 7% and 1100 range. Arcane Lord: Added Shadow spark lvl 3(Range 1100) and Frenzied Servitor(Usable when your pet's hp is lower or 30%). Cardinal: Added Holy armor lvl 2, Dark Vortex, Light Vortex. Dark Vortex power is increased and the Absorb part is decreased. Cleanse now removes the debuffs of all the party(bigger reuse), Purify works like cleanse but only in one. Hierophant: Added Fist Fury, Bear Spirit Totem, Puma Spirit Totem, Wolf Spirit Totem, Revival, Zealot lvl 3, Angelic Icon lvl1, Dodge, Burning Fist, Soul Breaker, Shadow Spark lvl3, Shadow Flare(Half Lethal possibility 7%) Evas Templar: Added summon Fang of Eva and Angelic Icon. SwordMuse: Added Sonic focus lvl7, Sonic Blaster, War Cry lvl2, Ultimate Evasion lvl1, Dodge and Armor Crush(New Debuff Effect). Sprint gives +5 runSpd and doesnt stuck with WindWalk buff. Spirit Barrier gives +100 mDef and doesnt stuck with M.Barrier. Song of Life gives +5% maxHp. MysticMuse: Solar Flare has chance of Half Lethal 7% and increased range to 1100. Elemental Master: Frenzied Servitor(Usable when your pet's hp is lower or 30%). Eva Saint: Balance Mana(Balance the party's mana and gives +20% pvpDef for 5seconds), Body of Avatar(Restores 35% mana to all the party members), Salvation, Cleanse, Celestial Shield, Mass Resurrection, Greater Battle Mana(Restores mana to one player), Group Major MP(Restores mana to party members), Ice Vortex and Light Vortex, Life Cubic and Storm Cubic. Arcane widsom now decreases only 100 cast speed. SpectralDancer: Added Rage, Duelist Spirit, Triple Slash, Counterattack, Dash and Ultimate Evasion. Dance of Protection now gives 200mDef and pDef. Dance of Medusa now turn the enemy into Stone but you can deal damage to him. Poison Blade Dance now making the enemy to start Dancing while is in Stun Effect. ShillienSaint: Added Life and Viper Cubics, Darkness Armor(+10%mDef and dark resist to party members), Darkness Blade(+10%mAtk to party members), Balance Combat Points(Balance CP to ur party members and gives for 5 sec pvpDam +20%), Body of Avatar(Restores 35% CP to ur party members), Restore CP(Restores 30% CP to one), Major CP(Recovers CP), Group Major CP(Recovers CP to party members), Cleanse, Salvation, Celestial Shield, Dark Vortex, Wind Vortex and Mass Resurrection. Titan: Frenzy is usable at 60% hp but the pAtk is decreased. DoomCryer: Added Holy Armor, Angelic Icon. Darkness Armor, True Brotherhood(Makes invul for 5sec all ur party members), Chant of Protection(Recovers CP and gives pDef and mDef for 3sec). Chant of Revenge now reflects 100% magical and physical debuffs for 10sec(Party Skill). Maestro: Added Dash, War Cry, Battle Roar, Ultimate Transfer(transfers 100% dmg to ur pet for 10sec), Golem's Recovery(Restores hp and gives 1k pDef,mDef and pAtk for 3sec) Summon Big Boom now is called "Summon Crazy Mechanic Golem". This Golem lives for 25 seconds with insane defense status. Make a combo with Ultimate Transfer and this Golem to be immune to damage for almost 20 seconds. Sweeper now makes root. FortuneSeeker: Added Rage, Dash, Stand Bomb(works like frenzy). Spoil now regen hp over 15 seconds. Spoil Festival recovers hp once by 20% but you need the effect of Spoil in order to use it. Spoil Crush now makes damage direct to hp with 35% Power. The Chance is 70% to work and u sucrifice 1k from ur own hp in order to use the skill. Others: Mana Burn skill is now making damage in percent of ur current Mana. Ultimate Evasion gives 40% chance to avoid Blow atks. Summoners pet buffs stuck with every buff and doesnt count as a buff. Lethals have 4% chance to work to 1hp and 7% to work to "half lethal" only Cp reduce to players and half Hp to mobs. Steal Essense mana is reduced by almost 40. Greating healing potion effect is increased also the chant of Life Effect. Heal gain is now getting reduced by /1.5 if you are flagged. Doesn't stuck with the Rune effect that is /2. All the Summon Pets have increased cast time and reuse. The Fighter classes when they use bow and their class isn't archer they gain accuracy penalty. The same exists with the tanks when they are using Dagger. Mana pots restores 5000 mp with 5 sec reuse time. For healers "Cardinals, Eva Saint and Shillien Saint" the restore is /5 so 1000 mana with 5sec reuse. Every debuff that is used in one player the power to succeed is 80% with 0 resists. For skills that are AIO the chance is 50%. By sitting the Regen on your CP,MP,HP is greatly increased by high%. Disable the heal on Monster and Raid Bosses. Inferno, Blizzard and Demon Wind can knockdown ur enemy. Dominator can use INT Dyes. New Stats: absorbCp, absorbMp, pvpPhysDef, pvpMagicalDef, pvpPhysSkillsDef. #TVT Joinable in Rune Lvl 80-85 to join 2 Teams [Yellow & Green] Price for the winner Team 4 Gold Einhasad Price for the losers 1 Gold Einhasad Additional 1 Gold Einhasad for the Top Killer You cant attack your teamates with hit or spells 10 minutes the registration 10 minutes the event TvT Every 3hours #CTF Joinable in Rune Lvl 83-89 to join 2 Teams [Yellow & Green] Price for the winner Team 4 Gold Einhasad Price for the losers 1 Gold Einhasad Additional 10 Silver Shilen for every time that you score You have 60 seconds to score when you have the flag else the flag will go back to the position You cant attack your teamates with hit or spells 10 minutes the registration 10 minutes the event CTF Every 3hours #DM Joinable in Rune Lvl 83-89 to join The 3 first top killers will take 2 Gold Einhasad as reward 10 minutes the registration 5 minutes the event DM Every 3hours You can contact me on my skype : ante0xd or via pm here. Price is at 30 euros via paypal.
  8. lol i find it intresting dude. good luck :D
  9. lol hahahaha
  10. the npc is individual so u have to wait ur turn to use it. if some1 i guess cant succeed to vote and is using the npc all the day the others turn will never come. you can add more tries if u want.
  11. create a random npc and use it as L2VoteManager
  12. finally after a year hopzone vote reward is free jajajaja gj
  13. updated 24/11 hopzone, topzone working. fixed dupe exploit.(not tested)
  14. Is that a premade pack?
  15. Ow.. ok i am gonna join the forum then too i got the same..
  16. We decided to update the Seven and create it like a pazzle with 3 phases. The first phase is comming soon. What is the first phase? An Ultimate PVP server. A simple and clean one. Just a massive PVP zone, Grand Bosses, Olympiad and Sieges. Buying free +10 equipment. Enchantable by pvping until +15. Free bogs, lifestones. Buyable active/passive agument skills, hero status, noblesse status. Ultimate classes made just for PVP. What about the other phases and the current status of Seven? The second and third phases will come one by one. Will be announced soon how the second,third phases will work. The current status of server is online but still outdated. Lineage 2 Seven Facebook Funpage
  17. Too much work for nothing. Its really a nice work but why don't you open it in a high five or something. Every custom its already inside. I guess interlude it's only for the old school and the people won't be more than 200 i guess. Anyway gl
  18. Pride here pride there pride everywhere :0 It will be closed in less than a month like every other copy of the pride.
  19. So the server is located to ur home also?haha
  20. Stfu dude.Keep it up man. Nice shares ^^
  21. It can't be used for a live server. it's frozen 1004 revision so it is with dupe bugs. Also i've made something wrong and the toggle skills are not working correctly. you can use it only to leech some codes. I am not giving anymore support on this so you can use it in your own risks.
  22. You are right but you are talking with the wrong guy ;D
  23. hehe maybe :) still who said that i am a programmer? or i wanna be a programmer so my codes have to be clean or anything else? Does it works?
  24. This will announce u as a hero if u are on a subclass aswell. "Hero of Duelist class is now online" and actually his base class is Soultaker :O this is made like 1-2 years ago i didn't even knew what are the switch cases ;D
×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock