Jump to content

Services Npc[Frozen]


te0x

Recommended Posts

 

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;
}
}
Edited by te0x
Link to comment
Share on other sites

One question, why text Builder and this crappy connection close way? Frozen still java 6..?

 

Db update for set noble? Dat frozen.. :o

Edited by SweeTs
Link to comment
Share on other sites

One question, why text Builder and this crappy connection close way? Frozen still java 6..?

 

Db update for set noble? Dat frozen.. :o

i dont like to mess with new files in data. how much can 5-6 text builder can effect ? ;p 

the update on set nobl it was my mistake(i though it needs too but it didnt and i forgot to remove it). anyways it needs a cleanup for sure, additionals Configs in order to change the item request easier.

although it works :3

Edited by te0x
Link to comment
Share on other sites

i said it before dude. L2te0xServiceNpc 

you say that about npc type :D

But anyway...ty.

Now i add it and i test it.

Edited by GastOne
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




  • Posts

    • Their innovative approach combines cutting-edge technology with expert insights to create resumes that truly stand out. As I explored their website https://skillroads.com/ , I was impressed by the user-friendly interface and the seamless process of using their AI Resume Writer tool. With just a few clicks, I was able to generate a professional resume tailored to my skills and experiences. Skillroads' commitment to excellence and their utilization of AI technology make them a standout choice for anyone looking to enhance their career prospects with a compelling resume.
    • We are giving out promo codes for 3GBs for testing Asocks proxy. All you need to do is post a reply in this thread.
    • Slim X Keto Gummies Slim X Keto Gummies Weight loss is everyone’s hassle those days. Many humans combat with themselves to reduce off their greater weight however couldn’t get a result. This demotivates a number of them and they will lose preference of dropping weight. Overweight reasons many health-associated issues that might create troubles for your ordinary life. If you observed that your every day exercise or a few tablets can also furthermore need to make you shed pounds in a brief fraction of time. Then this isn't always flow that will help you solely. You want to perform a piece detail that is useful for you frame as well. You want to begin following keto fast as possible. It is the super form of  however it can restriction your flavor buds however doesn’t restriction your eating. It allows you to consume however limits to a few form of food. But to cope with keto flu and to offer hundreds of power there’s a supplement.   https://atozsupplement.com/slim-x-keto-gummies/ https://www.facebook.com/slimxketogummies/ https://slimxketogummies.wixsite.com/slim-x-keto-gummies/ https://slim-x-keto-gummies.hp.peraichi.com/ https://slim-x-keto-gummies.jimdosite.com/ https://slim-x-keto-gummies.yolasite.com/ https://slim-x-keto-gummies.company.site/ https://slim-x-keto-gummies.webflow.io/ https://github.com/slim-x-keto-gummies https://slim-x-keto-gummies.tilda.ws/
    • GRAND OPENING  19.04.2024 OPEN BETA TEST  15.04.2024 - 18.04.2024     RATES XP/SP - x3 Adena Drop Chance - x2 Adena Drop Amount - x1 Drop Chance - x2 Drop Amount - x1 Spoil Chance - x2 Spoil Amount - x1 Raidboss Drop Chance - x5 Raidboss Drop Amount - x1 Quest Chance - x1 Quest Reward - x1   FEATURES 1. Added NPC Buffer with basic buffs (duration 60m). 2. Added Mana Drugs and Greater Mana Drugs, which work like Healing Potions. 3. Added skills "Summon Mana Drug" & "Summon Greater Mana Drug" to Elven and Shillen Elders. 4. Basic Mana Drugs can be bought in Grocery Store. 5. Blade Dancer and Sword Singer have both, Dances and Songs from Second Profession. 6. No need duals for dances from Second Profession 7. Increase Weight Limit +30% 8. Increase Inventory Slots from 80 to 120 9. Set Raidboss's respawn 24h +/- 30 minutes. 10. Remake monsters spawns. 11. Olympiad Period - 2 weeks. 12. Change Queen Ant, Core, Orfen, Zaken lvl to 75. 13. Increase Epic Jewelery Bonus. -Ring of Core +2 INT/WIT/MEN -Earring of Orfen +2 STR/DEX/CON     website - https://www.primeinterlude.com  facebook - https://www.facebook.com/profile.php?id=61550083156269 discord - https://discord.gg/2T7nTTz2Gt   Promo Video
  • Topics

×
×
  • Create New...