Jump to content

PARKA

Members
  • Posts

    15
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by PARKA

  1. Hello, im playing this server https://l2furia.com/ and some ppl already did the hack/exploit/bug idk what they did.. and some players has a lot of donation coins can someone help to exploit donation coins for me? or just tell me what to do.. i watched tutorials at YT.. but is not working.. thanks.

     

    btw the server hasn't protection.. like smartguard.. l2jguard

  2. Hello MxC

     

    I have on my server a npc, what it does is increase your items +1, +2, +3 to SafeMax +20 ... (Default config)
    I want to know if anyone can modify the code, to do the enchant directly to +20 (1 Click = +20)
     
    thx so much

     

    This is the code

    package net.sf.l2j.gameserver.scripting.scripts.custom;
    
    import java.util.logging.Logger;
    
    import net.sf.l2j.gameserver.model.actor.L2Npc;
    import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
    import net.sf.l2j.gameserver.model.item.instance.ItemInstance;
    import net.sf.l2j.gameserver.model.itemcontainer.Inventory;
    import net.sf.l2j.gameserver.model.olympiad.OlympiadManager;
    import net.sf.l2j.gameserver.network.serverpackets.CharInfo;
    import net.sf.l2j.gameserver.network.serverpackets.InventoryUpdate;
    import net.sf.l2j.gameserver.network.serverpackets.UserInfo;
    import net.sf.l2j.gameserver.scripting.Quest;
    import net.sf.l2j.gameserver.scripting.QuestState;
    
    public class Enchant extends Quest
    {
        public static final Logger _log = Logger.getLogger(Enchant.class.getName());
        
        int npcId = 9994;
        
        // Item required to enchant armor +1
        int itemRequiredArmor = 6393;
        int itemRequiredArmorCount = 50;
        
        // Item required to enchant jewels +1
        int itemRequiredJewels = 6393;
        int itemRequiredJewelsCount = 50;
        
        // Item required to enchant weapon +1
        int itemRequiredWeapon = 6393;
        int itemRequiredWeaponCount = 150;
        
        // Item required to enchant belt/shirt +1
        int itemRequiredBeltShirt = 6393;
        int itemRequiredBeltShirtCount = 100;
        
        public Enchant()
        {
            super(-1, "custom");
            
            addStartNpc(npcId);
            addFirstTalkId(npcId);
            addTalkId(npcId);
        }
        
        @Override
        public String onFirstTalk(L2Npc npc, L2PcInstance player)
        {
            String enchantType = "Enchant.htm";
            
            if (player.getQuestState(getName()) == null)
                newQuestState(player);
            
            else if (player.isInCombat())
                return drawHtml("You are in combat", "Don't fight if you want to talk with me!", enchantType);
            
            else if (player.getPvpFlag() == 1)
                return drawHtml("You are flagged", "Don't fight if you want to talk with me!", enchantType);
            
            else if (player.getKarma() != 0)
                return drawHtml("You are in chaotic state", "Don't fight if you want to talk with me!", enchantType);
            
            else if (OlympiadManager.getInstance().isRegistered(player))
                return drawHtml("You are registered for Olympiad", "You can't use my services<br1>while playing the Olympiad.", enchantType);
            
            return "Enchant.htm";
        }
        
        @Override
        public String onAdvEvent(String event, L2Npc npc, L2PcInstance player)
        {
            String htmlText = event;
            String enchantType = "Enchant.htm";
            int armorType = -1;
            
            // Armor parts
            if (event.equals("enchantHelmet"))
            {
                armorType = Inventory.PAPERDOLL_HEAD;
                enchantType = "EnchantArmor.htm";
                htmlText = enchant(enchantType, player, armorType, itemRequiredArmor, itemRequiredArmorCount);
            }
            else if (event.equals("enchantChest"))
            {
                armorType = Inventory.PAPERDOLL_CHEST;
                enchantType = "EnchantArmor.htm";
                htmlText = enchant(enchantType, player, armorType, itemRequiredArmor, itemRequiredArmorCount);
            }
            else if (event.equals("enchantLeggings"))
            {
                armorType = Inventory.PAPERDOLL_LEGS;
                enchantType = "EnchantArmor.htm";
                htmlText = enchant(enchantType, player, armorType, itemRequiredArmor, itemRequiredArmorCount);
            }
            else if (event.equals("enchantGloves"))
            {
                armorType = Inventory.PAPERDOLL_GLOVES;
                enchantType = "EnchantArmor.htm";
                htmlText = enchant(enchantType, player, armorType, itemRequiredArmor, itemRequiredArmorCount);
            }
            else if (event.equals("enchantBoots"))
            {
                armorType = Inventory.PAPERDOLL_FEET;
                enchantType = "EnchantArmor.htm";
                htmlText = enchant(enchantType, player, armorType, itemRequiredArmor, itemRequiredArmorCount);
            }
            else if (event.equals("enchantShieldOrSigil"))
            {
                armorType = Inventory.PAPERDOLL_LHAND;
                enchantType = "EnchantArmor.htm";
                htmlText = enchant(enchantType, player, armorType, itemRequiredArmor, itemRequiredArmorCount);
            }
            // Jewels
            else if (event.equals("enchantUpperEarring"))
            {
                armorType = Inventory.PAPERDOLL_LEAR;
                enchantType = "EnchantJewels.htm";
                
                htmlText = enchant(enchantType, player, armorType, itemRequiredJewels, itemRequiredJewelsCount);
            }
            else if (event.equals("enchantLowerEarring"))
            {
                armorType = Inventory.PAPERDOLL_REAR;
                enchantType = "EnchantJewels.htm";
                
                htmlText = enchant(enchantType, player, armorType, itemRequiredJewels, itemRequiredJewelsCount);
            }
            else if (event.equals("enchantNecklace"))
            {
                armorType = Inventory.PAPERDOLL_NECK;
                enchantType = "EnchantJewels.htm";
                
                htmlText = enchant(enchantType, player, armorType, itemRequiredJewels, itemRequiredJewelsCount);
            }
            else if (event.equals("enchantUpperRing"))
            {
                armorType = Inventory.PAPERDOLL_LFINGER;
                enchantType = "EnchantJewels.htm";
                
                htmlText = enchant(enchantType, player, armorType, itemRequiredJewels, itemRequiredJewelsCount);
            }
            else if (event.equals("enchantLowerRing"))
            {
                armorType = Inventory.PAPERDOLL_RFINGER;
                enchantType = "EnchantJewels.htm";
                
                htmlText = enchant(enchantType, player, armorType, itemRequiredJewels, itemRequiredJewelsCount);
            }
            else if (event.equals("enchantShirt"))
            {
                armorType = Inventory.PAPERDOLL_UNDER;
                enchantType = "EnchantBeltShirt.htm";
                
                htmlText = enchant(enchantType, player, armorType, itemRequiredBeltShirt, itemRequiredBeltShirtCount);
            }
            // Weapon
            else if (event.equals("enchantWeapon"))
            {
                armorType = Inventory.PAPERDOLL_RHAND;
                enchantType = "EnchantWeapon.htm";
                
                htmlText = enchant(enchantType, player, armorType, itemRequiredWeapon, itemRequiredWeaponCount);
            }
            
            return htmlText;
        }
        
        private String enchant(String enchantType, L2PcInstance player, int armorType, int itemRequired, int itemRequiredCount)
        {
            QuestState st = player.getQuestState(getName());
            
            int currentEnchant = 0;
            int newEnchantLevel = 0;
            
            if (st.getQuestItemsCount(itemRequired) >= itemRequiredCount)
            {
                try
                {
                    ItemInstance item = getItemToEnchant(player, armorType);
                    
                    if (item != null)
                    {
                        currentEnchant = item.getEnchantLevel();
                        
                        if (currentEnchant < 20)
                        {
                            newEnchantLevel = setEnchant(player, item, currentEnchant + 1, armorType);
                            
                            if (newEnchantLevel > 0)
                            {
                                st.takeItems(itemRequired, itemRequiredCount);
                                player.sendMessage("You successfully enchanted your " + item.getItem().getName() + " from +" + currentEnchant + " to +" + newEnchantLevel + "!");
                                
                                String htmlContent = "<center>You successfully enchanted your:<br>" + "<font color=\"FF7200\">" + item.getItem().getName() + "</font><br>" + "From: <font color=\"AEFF00\">+" + currentEnchant + "</font> to <font color=\"AEFF00\">+" + newEnchantLevel + "</font>" + "</center>";
                                
                                return drawHtml("Congratulations!", htmlContent, enchantType);
                            }
                        }
                        else
                        {
                            player.sendMessage("Your " + item.getItem().getName() + " is already +20!");
                            return drawHtml("It's already +20", "<center>Your <font color=\"FF7200\">" + item.getItem().getName() + "</font> is already +20!</center>", enchantType);
                        }
                    }
                }
                catch (StringIndexOutOfBoundsException e)
                {
                    player.sendMessage("Something went wrong. Are equiped with the item?");
                    return drawHtml("Error Enchant", "<center>Something went wrong.<br>Are equiped with the item?</center>", enchantType);
                }
                catch (NumberFormatException e)
                {
                    player.sendMessage("Something went wrong. Are equiped with the item?");
                    return drawHtml("Error Enchant", "<center>Something went wrong.<br>Are equiped with the item?</center>", enchantType);
                }
                
                player.sendMessage("Something went wrong. Are equiped with the item?");
                return drawHtml("Error Enchant", "<center>Something went wrong.<br>Are equiped with the item?</center>", enchantType);
            }
            String content = "<center>" + "Not enough <font color=\"FF7200\">Event - Glitering Medals</font>!<br>";
            
            if (st.getQuestItemsCount(itemRequired) > 0)
                content += "You have " + st.getQuestItemsCount(itemRequired) + " Glittering Medals,<br1>" + "Need " + (itemRequiredCount - st.getQuestItemsCount(itemRequired)) + " more.";
            else
                content += "You need <font color=\"FF7200\">" + itemRequiredCount + " Event - Glitering Medals</font>!";
            content += "</center>";
            return drawHtml("Not Enough Items", content, enchantType);
        }
        
        @SuppressWarnings("null")
        private static ItemInstance getItemToEnchant(L2PcInstance player, int armorType)
        {
            ItemInstance itemInstance = null;
            ItemInstance parmorInstance = player.getInventory().getPaperdollItem(armorType);
            
            if ((parmorInstance != null) && (parmorInstance.getLocationSlot() == armorType))
            {
                itemInstance = parmorInstance;
                if (itemInstance != null)
                {
                    return itemInstance;
                }
            }
            return null;
        }
        
        private static int setEnchant(L2PcInstance player, ItemInstance item, int newEnchantLevel, int armorType)
        {
            if (item != null)
            {
                // set enchant value
                player.getInventory().unEquipItemInSlot(armorType);
                item.setEnchantLevel(newEnchantLevel);
                player.getInventory().equipItem(item);
                
                // send packets
                InventoryUpdate iu = new InventoryUpdate();
                iu.addModifiedItem(item);
                player.sendPacket(iu);
                player.broadcastPacket(new CharInfo(player));
                player.sendPacket(new UserInfo(player));
                
                return newEnchantLevel;
            }
            return -1;
        }
        
        public String drawHtml(String title, String content, String enchantType)
        {
            String html = "<html>" + "<title>L2Mondial Enchanter</title>" + "<body>" + "<center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>" + "<font color=\"FF9900\">" + title + "</font></center><br>" + content + "<br><br>" + "<center><a action=\"bypass -h Quest Enchant " + enchantType + "\">Go Back</a></center>" + "</body>" + "</html>";
            return html;
        }
    }
    
×
×
  • Create New...