Jump to content

Recommended Posts

Posted (edited)

 

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
Posted (edited)

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
Posted (edited)

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
Posted

Why hard coded it anyway? Why you don't just html file it lol

I just said it. I don't like to add more files in data.
Posted (edited)

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • https://www.4shared.com/s/fyGGySJVvfa  
    • SOCNET STORE — is a unique place where you can find everything you need for your work on the Internet!   We offer the following range of products and services: Verified accounts with blue tick marks and confirmed documents in Instagram, Facebook, Twitter (X), LinkedIn; Gift cards and premium subscriptions for your services (Instagram Meta, Facebook Meta, Discord Nitro, Telegram Premium, YouTube Premium, Spotify Premium, ChatGPT, Netflix Premium, LinkedIn Premium, Twitter Premium, etc.); Telegram bot for purchasing Telegram Stars with a minimum markup with automatic delivery; Replenishment of your advertising accounts (in TikTok ADS, Facebook ADS, Google ADS, Bing ADS) + linking a bank card; Payment for any other service or subscription with a markup from 5 to 25% (depending on the cost of the subscription) Available payment methods: via PayPal, any cryptocurrency (+Binance Pay), Telegram Stars, Cash App, or any bank card.    Our online store  SOCNET.STORE  Our Telegram Stars Bot  SOCNET.CC  Our SMM-Panel for social media promotion  SOCNET.PRO  Telegram store  SOCNET.SHOP    News:  ➡ Telegram channel ➡ WhatsApp channel ➡ Discord server  Contacts and support:  ➡ Telegram support ➡ WhatsApp support ➡ Discord support: socnet_support ➡ Email support: solomonbog@socnet.store We have been operating for a long time and have gathered a huge list of reviews about our work! Our large list of positive and honest reviews is presented on our website!   VERIFIED ACCOUNTS    Verified old Instagram Meta account (2010-2020) with an active blue checkmark | Subscription has already been paid for 1 month in advance, account confirmed by documents: from $70 Verified old Facebook Meta account (2010-2023) with an active blue checkmark | Subscription has already been paid for 1 month in advance, account confirmed by documents: from $70 Verified Linkedin account (2010-2024) with an active checkmark and confirmed documents | Checkmark does not require renewal: from $80 Verified old Twitter (X) account (2010-2022) with an active blue checkmark | GEO: Tier 1-3 (your choice) | Subscription has already been paid for 1 month in advance: from $16    TELEGRAM STARS    Telegram Stars | 1 star from $0.0175 | Discounts for bulk orders | Delivery within 1-2 minutes automatically    GIFT SERVICES & PREMIUM SUBSCRIPTIONS  DISCORD NITRO Discord Nitro Classic (Basic) GIFT | 1/12 MONTHS | NO LOGIN OR PASSWORD NEEDED | Full subscription guarantee | Price from: $3.15 Discord Nitro FULL | 1/12 MONTHS | NO LOGIN OR PASSWORD NEEDED | Full subscription guarantee | Price from: $6.8 SPOTIFY PREMIUM Individual Spotify Premium plan for 1 month ON YOUR ACCOUNT | Available worldwide | Price from: $2.49 Family Spotify Premium plan for 1 month ON YOUR ACCOUNT | Works in any country | Price from: $3.75 Personal YouTube Premium Music on your account | 1 month | Ad-free YouTube | Price from: $3.75 Family YouTube Premium Music on your account | 1 month | Ad-free YouTube | Price from: $4.35 TELEGRAM PREMIUM Telegram Premium subscription for 1 month on your account | Authorization required (via TDATA or phone number) | Price from: $6 Telegram Premium subscription for 3 months on your account | No account authorization required | Guaranteed for full period | Price from: $17 Telegram Premium subscription for 6 months on your account | No account authorization required | Guaranteed for full period | Price from: $22 Telegram Premium subscription for 12 months on your account | No account authorization required | Guaranteed for full period | Price from: $37 GOOGLE VOICE • Google Voice Accounts (GMAIL US NEW) | Age/Year: Random 2024 | Phone Verified: Yes | Price from: $13 TWITTER(X) PREMIUM • Twitter Premium X subscription on your Twitter account for 1 month/1 year (your choice). Authorization in your Twitter account is required. Price from: $13 per month • Twitter X Premium Plus subscription with GROK AI on your Twitter account for 1 month/1 year (your choice). Authorization in your Twitter account is required. Price from: $55 NETFLIX PREMIUM • Netflix Premium subscription for 1 month on your personal account for any country, renewable after expiration | Price from: $10 CANVA PRO • CANVA PRO subscription for 1 month via invitation to your email | Price from: $1 CHATGPT 5 • Shared ChatGPT 5 Plus account FOR 2/5 USERS | Price from: $5 / $10 • Group ChatGPT 5 Plus subscription on your own email address for 1 month | Price from: $5 • Personal ChatGPT 5 Plus account FOR 1 USER or CHAT GPT PLUS subscription on your own account | Price from: $18 • ChatGPT 5 PRO account with UNLIMITED REQUESTS | Dedicated personal account FOR 1 USER ONLY or ON YOUR ACCOUNT | Works in any country or region | Price from: $220 Payment for any other subscription and replenishment of advertising accounts: Additional 5–20% to the cost of the subscription on the site or to the replenishment amount depending on the total purchase amount.   Attention: This text block does not represent our full product range; for more details, please visit the relevant links below! If you have any questions, our support team is always ready to help!       Our online store  SOCNET.STORE  Our Telegram Stars Bot  SOCNET.CC  Our SMM-Panel for social media promotion  SOCNET.PRO  Telegram store  SOCNET.SHOP    News:  ➡ Telegram channel ➡ WhatsApp channel ➡ Discord server  Contacts and support:  ➡ Telegram support ➡ WhatsApp support ➡ Discord support: socnet_support ➡ Email support: solomonbog@socnet.store We have been operating for a long time and have gathered a huge list of reviews about our work! Our large list of positive and honest reviews is presented on our website!  10% – 20% Discount or $1 BONUS for your registration  If you’d like to receive a $1 BONUS for your registration OR a DISCOUNT of 10% – 20% on your first purchase, simply leave a comment: "SEND ME MY BONUS, MY USERNAME IS..." You can also use the ready promo code across all our stores: "SOCNET" (15% discount!)  We invite you to COOPERATE and EARN with us  Want to sell your product or service in our stores and earn money? Want to become our partner or propose a mutually beneficial collaboration? You can contact us through the CONTACTS listed in this thread. Frequently Asked Questions and Refund Policy If you have any questions or issues, our fast customer support is always ready to respond to your requests! Refunds for services that do not fully meet the stated requirements or quality will only be issued if a guarantee and duration are explicitly mentioned in the product description. In all other cases, refunds will not be fully processed! By purchasing such services, you automatically agree to our refund policy for non-provided services. We currently accept CRYPTOMUS, Payeer, NotPayments, Perfect Money, Russian and Ukrainian bank cards, AliPay, BinancePay, CryptoBot, credit cards, and PayPal. The $1 registration bonus can only be used for purchases and only once after your first registration in any SOCNET project. We value every customer and provide replacements in case of invalid accounts through our contact methods! p.s.: Purchase bonuses can be used across any SOCNET projects: web store or Telegram bots.
  • Topics

×
×
  • 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