Ir para conteúdo
  • Cadastre-se

L2J Mega Corrigido


Posts recomendados

1 minuto atrás, Christian-SDM disse:

como pelo q eu sei eu fiz a limpa ta retail. mas qualquer coisa vc pode pega xml de uma acis mais antiga 367 a pasta xml ^^

pode se qualquer nome mysql://localhost/exemplo

tá, mas se eu deixar o jmega como eu configuro o navicat? esse é o meu problema rs.. dai o login e game não roda..

Link para o comentário
Compartilhar em outros sites


Agora, ChavãoCabuloso disse:

tá, mas se eu deixar o jmega como eu configuro o navicat? esse é o meu problema rs.. dai o login e game não roda..

ue só cria  o banco de dado com nome jmega exemplo imagem abaixo

85d92b192371cf4eea06d37eb7804d12.jpg

Editado por Christian-SDM
Link para o comentário
Compartilhar em outros sites

40 minutos atrás, Christian-SDM disse:

como pelo q eu sei eu fiz a limpa ta retail. mas qualquer coisa vc pode pega xml de uma acis mais antiga 367 a pasta xml ^^

pode se qualquer nome mysql://localhost/exemplo

brigadão consegui por os npcs retail.

vi uma publicaçao sua de algum tempo que vc tinha resolvido o problema do autolearn divine inspiration vc chegou a aplicar essa configuração nessa rev e eu nao achei, ou vc nao chegou a adicionar essa função nela ?

Especialidade em DataPack / Client

Link para o comentário
Compartilhar em outros sites

6 minutos atrás, ELShadaay disse:

mas o mod ja tem na pack neh??

Link para o comentário
Compartilhar em outros sites

Agora, ELShadaay disse:

sim o mod sim porem se quiser as skins tem na l2j ai tem que procurar

eu achei o pack aqui no forum , nao sei se consigo add, pois nunca tinha trabalhado com acis... mas eu vou dar uma estudada  oq e onde precisa ser adicionado.. Obrigado pelas informaçoes

Link para o comentário
Compartilhar em outros sites

Em 21/03/2020 at 23:42, Juvenil Amaro™ disse:

pra voce que usa o sistema de skins do projeto vou te ajudar um pouco sobre o nome que sera mostrado pro jogador quando ele ultizar o item para equipar pra poder usar espaço pro nome nao Ficar feio Ex: Draconic_leather_Light e 
e com essa fica Ex: Draconic Leather Light .:l:.

O que muda Simples

sua config esta em String.valueOf

SKIN_NAME1 = String.valueOf(Skins.getProperty("SkinName1", "SkinName"));

Em quanto a nova esta em

NAME = Skins.getProperty("NameArmor", " Skins Dressme");

 

O conteúdo está oculto, favor efetuar login ou se cadastrar!

+    public static String NAME;
+    
+    NAME = Skins.getProperty("NameArmor", " Skins Dressme");


Index: Dentro da useItem IItemHandler
===================================================================

if (activeChar.isDressMeEnabled())
{
    activeChar.setDressMeEnabled(false);
    activeChar.broadcastUserInfo();
    activeChar.sendMessage("You have disabled skin.");
}
else
{
    activeChar.setDressMeEnabled(true);
    activeChar.broadcastUserInfo();
+    activeChar.sendMessage("You have activated " + Config.NAME1 + " skin.");
}

Index: Agora adiciona na properties onde estão sua skins
===================================================================

+#None Quando equipar Item
+NameArmor = Draconic Armor Light .:l:.[/CODE]

 

poderia fazer um Diff do que remover para fazer essa correção fantastica ?

Especialidade em DataPack / Client

Link para o comentário
Compartilhar em outros sites

7 horas atrás, rafaelh disse:

eu so consigo logar com sua system q vc postou , e toda hora tomo critical naquele npc donate la q vende hero vip e itens encantados, e com outra system nao loga por nada]

 

npc donate vc tem q configurar os itens. Isso vai de cada um. Claro q vai da critico, pq tem item q n existe. Só editar. ou vc vai vende os itens q tem la ?

 

1 minuto atrás, gleyce123 disse:

Poderia dizer os mods que ele tem de click como o item de clan full ?pq não tem todos eu acho no xml e como por no xml se poder.

n sei faz tempo  q n mexo mas vc pode abrir o core e ir itemhandlers la tem todos os itens 2 clique ^^

Link para o comentário
Compartilhar em outros sites

Olá boa noite sobre o dressme eu queria saber 2 coisas:

Primeira se tem como desativar o comando dressme e manter somente os itens skin....pois quando dou o comando .dressme aparece escrito o caminho onde preciso editar a html porém não tem html nenhuma se alguém tiver e puder disponibilizar ficarei grato sou novo não sei muito.

Segunda coisa: se teria como colocar pra quando clicar no item skin fosse como se tivese usando uma skill aí logo em seguida se transforma-se 

Link para o comentário
Compartilhar em outros sites

En 3/12/2019 a las 18:22, Christian-SDM dijo:

Boa tarde, Postei ela corrigida no outro tópico, mas acho que ninguém notou, até porque muitos queriam usar o projeto, porem contia bugs e erros no core, onde o dono tinha como derrubar o servidor porque tinha uma falha, então eu peguei o projeto  e  arrumei.

Outras correçôes:

Estou postando ela arrumada, sem Key, Isso mesmo!  Agora da pra logar com qualquer system, e arrumei o erro que travava o char quando dava skill, por causa da Key, e  o Bug de duplicação de itens com pet, foi corrigido, Restaurei o retail da pack, não tem nada editado, somente os mods e npcs mods! Qualquer Bug, posta que eu arrumo.

*Vai Source Corrigida + Pack com backup limpo.

Projeto usa Java 8

1º Source Corrigida (Download disponível pelo fórum também).

O conteúdo está oculto, favor efetuar login ou se cadastrar!
 (Nova 09/03/2020)

2° Pack+Backup Retail (Download disponível pelo fórum também).

O conteúdo está oculto, favor efetuar login ou se cadastrar!
 (Novo 09/03/2020) + Novos Mods.

XyPk9.png&key=8a51bb7f382fbc2536ad60024cAlgumas Info:XyPk9.png&key=8a51bb7f382fbc2536ad60024c

  • Siege Semanal
  • Olly semanal
  • Tatto Custom
  • Weapons Lindvior Custom CXoW5.gif&key=5d75686657729fca6e2135de03
  • Armor Transcedent Custom CXoW5.gif&key=5d75686657729fca6e2135de03
  • Donate Shop VIP - Hero - Class, Name e Sex Change
  • 99 Acessórios 2018 CXoW5.gif&key=5d75686657729fca6e2135de03
  • Blessed Scroll: 90% +18  - Crystal Scroll 100% até +22 - Golden Scroll 100%  até +25
  • Buff
  • Clan Manager
  • Raid Info
  • Augment NPC
  • Skills Enchant NPC
  • Tournament Event - TvT - Party farm events
  • Chaotic Zone
  • Aiox System
  • Vip System
  • Mod Phantom - Fake Player System CXoW5.gif&key=5d75686657729fca6e2135de03
  • Anti-bot com Captcha

XyPk9.png&key=8a51bb7f382fbc2536ad60024cAlguns Comandos:XyPk9.png&key=8a51bb7f382fbc2536ad60024c

  • .menu
  • .info
  • .donate
  • .status
  • .skills
  • .inventory
  • .ranking

VIP ITEM + CORREÇÃO DE BUG NPC SUMINDO (CORRIGIDO)

  Reveal hidden contents

 

 

 

 

NOVO BUG CORRIGIDO ADENA ACIS 361+

COMO ESTAVA:

  Reveal hidden contents

 

COMO ESTÁ: 

  Reveal hidden contents

 

 

 

Código para aqueles que já tem a source e adicionaram outros mods e modificaram o core, para não perde tudo, toma a correção individual. Procure a Class MultiSellChoose.java e mude todo o arquivo !

  Hide contents

/*
 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * this program. If not, see <http://www.gnu.org/licenses/>.
 */
package net.sf.l2j.gameserver.network.clientpackets;

import java.util.ArrayList;
import java.util.List;

import net.sf.l2j.Config;
import net.sf.l2j.gameserver.model.L2Augmentation;
import net.sf.l2j.gameserver.model.actor.Npc;
import net.sf.l2j.gameserver.model.actor.instance.Player;
import net.sf.l2j.gameserver.model.item.instance.ItemInstance;
import net.sf.l2j.gameserver.model.itemcontainer.PcInventory;
import net.sf.l2j.gameserver.model.multisell.Entry;
import net.sf.l2j.gameserver.model.multisell.Ingredient;
import net.sf.l2j.gameserver.model.multisell.PreparedListContainer;
import net.sf.l2j.gameserver.network.FloodProtectors;
import net.sf.l2j.gameserver.network.FloodProtectors.Action;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.network.serverpackets.ItemList;
import net.sf.l2j.gameserver.network.serverpackets.StatusUpdate;
import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;


public class MultiSellChoose extends L2GameClientPacket
{
    // Special IDs.
    private static final int CLAN_REPUTATION = 65336;
    // private static final int PC_BANG_POINTS = 65436;
    
    private int _listId;
    private int _entryId;
    private int _amount;
    private int _transactionTax; // local handling of taxation
    
    @Override
    protected void readImpl()
    {
        _listId = readD();
        _entryId = readD();
        _amount = readD();
        _transactionTax = 0;
    }
    
    @Override
    public void runImpl()
    {
        final Player player = getClient().getActiveChar();
        if (player == null)
            return;
        
        if (!FloodProtectors.performAction(getClient(), Action.MULTISELL))
        {
            player.setMultiSell(null);
            return;
        }
        
        if (_amount < 1 || _amount > 9999)
        {
            player.setMultiSell(null);
            return;
        }
        
        final PreparedListContainer list = player.getMultiSell();
        if (list == null || list.getId() != _listId)
        {
            player.setMultiSell(null);
            return;
        }
        
        final Npc npc = player.getCurrentFolkNPC();
        if ((npc != null && !list.isNpcAllowed(npc.getNpcId())) || (npc == null && list.isNpcOnly()))
        {
            player.setMultiSell(null);
            return;
        }
        
        if (npc != null && !npc.canInteract(player))
        {
            player.setMultiSell(null);
            return;
        }
        
        final PcInventory inv = player.getInventory();
        
        for (Entry entry : list.getEntries())
        {
            if (entry.getId() == _entryId)
            {
                if (!entry.isStackable() && _amount > 1)
                {
                    player.setMultiSell(null);
                    return;
                }
                
                int slots = 0;
                long weight = 0;
                for (Ingredient e : entry.getProducts())
                {
                    if (e.getItemId() < 0)
                        continue;
                    
                    if (!e.isStackable())
                        slots += e.getItemCount() * _amount;
                    else if (player.getInventory().getItemByItemId(e.getItemId()) == null)
                        slots++;
                    
                    weight += (long)e.getItemCount() * _amount * e.getWeight();
                }
                
                if (!inv.validateCapacity(slots))
                {
                    player.sendPacket(SystemMessageId.SLOTS_FULL);
                    return;
                }
                
                if (weight > Integer.MAX_VALUE || weight < 0 || !inv.validateWeight((int)weight))
                {
                    player.sendPacket(SystemMessageId.WEIGHT_LIMIT_EXCEEDED);
                    return;
                }
                
                // Generate a list of distinct ingredients and counts in order to check if the correct item-counts are possessed by the player
                List<Ingredient> ingredientsList = new ArrayList<>(entry.getIngredients().size());
                boolean newIng;
                
                for (Ingredient e : entry.getIngredients())
                {
                    newIng = true;
                    
                    // at this point, the template has already been modified so that enchantments are properly included
                    // whenever they need to be applied. Uniqueness of items is thus judged by item id AND enchantment level
                    for (int i = ingredientsList.size(); --i >= 0;)
                    {
                        Ingredient ex = ingredientsList.get(i);
                        
                        // if the item was already added in the list, merely increment the count
                        // this happens if 1 list entry has the same ingredient twice (example 2 swords = 1 dual)
                        if (ex.getItemId() == e.getItemId() && ex.getEnchantLevel() == e.getEnchantLevel())
                        {
                            long totalCount = (long)ex.getItemCount() + e.getItemCount();
                            if (totalCount > Integer.MAX_VALUE || totalCount < 0)
                            {
                                player.sendPacket(SystemMessageId.YOU_HAVE_EXCEEDED_QUANTITY_THAT_CAN_BE_INPUTTED);
                                return;
                            }
                            
                            // two same ingredients, merge into one and replace old
                            final Ingredient ing = ex.getCopy();
                            ing.setItemCount((int)totalCount);
                            ingredientsList.set(i, ing);
                            
                            newIng = false;
                            break;
                        }
                    }
                    
                    // if it's a new ingredient, just store its info directly (item id, count, enchantment)
                    if (newIng)
                        ingredientsList.add(e);
                }
                
                // now check if the player has sufficient items in the inventory to cover the ingredients' expences
                for (Ingredient e : ingredientsList)
                {
                    if (Integer.MAX_VALUE / e.getItemCount() < _amount)
                    {
                        player.sendPacket(SystemMessageId.YOU_HAVE_EXCEEDED_QUANTITY_THAT_CAN_BE_INPUTTED);
                        return;
                    }
                    
                    if (e.getItemId() == CLAN_REPUTATION)
                    {
                        if (player.getClan() == null)
                        {
                            player.sendPacket(SystemMessageId.YOU_ARE_NOT_A_CLAN_MEMBER);
                            return;
                        }
                        
                        if (!player.isClanLeader())
                        {
                            player.sendPacket(SystemMessageId.ONLY_THE_CLAN_LEADER_IS_ENABLED);
                            return;
                        }
                        
                        if (player.getClan().getReputationScore() < e.getItemCount() * _amount)
                        {
                            player.sendPacket(SystemMessageId.THE_CLAN_REPUTATION_SCORE_IS_TOO_LOW);
                            return;
                        }
                    }
                    else
                    {
                        // if this is not a list that maintains enchantment, check the count of all items that have the given id.
                        // otherwise, check only the count of items with exactly the needed enchantment level
                        if (inv.getInventoryItemCount(e.getItemId(), list.getMaintainEnchantment() ? e.getEnchantLevel() : -1, false) < ((Config.ALT_BLACKSMITH_USE_RECIPES || !e.getMaintainIngredient()) ? e.getItemCount() * _amount : e.getItemCount()))
                        {
                            player.sendPacket(SystemMessageId.NOT_ENOUGH_ITEMS);
                            return;
                        }
                    }
                }
                
                List<L2Augmentation> augmentation = new ArrayList<>();
                
                for (Ingredient e : entry.getIngredients())
                {
                    if (e.getItemId() == CLAN_REPUTATION)
                    {
                        final int amount = e.getItemCount() * _amount;
                        
                        player.getClan().takeReputationScore(amount);
                        player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP).addNumber(amount));
                    }
                    else
                    {
                        ItemInstance itemToTake = inv.getItemByItemId(e.getItemId());
                        if (itemToTake == null)
                        {
                            player.setMultiSell(null);
                            return;
                        }
                        
                        if (Config.ALT_BLACKSMITH_USE_RECIPES || !e.getMaintainIngredient())
                        {
                            // if it's a stackable item, just reduce the amount from the first (only) instance that is found in the inventory
                            if (itemToTake.isStackable())
                            {
                                if (!player.destroyItem("Multisell", itemToTake.getObjectId(), (e.getItemCount() * _amount), player.getTarget(), true))
                                {
                                    player.setMultiSell(null);
                                    return;
                                }
                            }
                            else
                            {
                                // for non-stackable items, one of two scenaria are possible:
                                // a) list maintains enchantment: get the instances that exactly match the requested enchantment level
                                // b) list does not maintain enchantment: get the instances with the LOWEST enchantment level
                                
                                // a) if enchantment is maintained, then get a list of items that exactly match this enchantment
                                if (list.getMaintainEnchantment())
                                {
                                    // loop through this list and remove (one by one) each item until the required amount is taken.
                                    ItemInstance[] inventoryContents = inv.getAllItemsByItemId(e.getItemId(), e.getEnchantLevel(), false);
                                    for (int i = 0; i < (e.getItemCount() * _amount); i++)
                                    {
                                        if (inventoryContents.isAugmented())
                                            augmentation.add(inventoryContents.getAugmentation());
                                        
                                        if (!player.destroyItem("Multisell", inventoryContents.getObjectId(), 1, player.getTarget(), true))
                                        {
                                            player.setMultiSell(null);
                                            return;
                                        }
                                    }
                                }
                                else
                                // b) enchantment is not maintained. Get the instances with the LOWEST enchantment level
                                {
                                    for (int i = 1; i <= (e.getItemCount() * _amount); i++)
                                    {
                                        ItemInstance[] inventoryContents = inv.getAllItemsByItemId(e.getItemId(), false);
                                        
                                        itemToTake = inventoryContents[0];
                                        // get item with the LOWEST enchantment level from the inventory (0 is the lowest)
                                        if (itemToTake.getEnchantLevel() > 0)
                                        {
                                            for (ItemInstance item : inventoryContents)
                                            {
                                                if (item.getEnchantLevel() < itemToTake.getEnchantLevel())
                                                {
                                                    itemToTake = item;
                                                    
                                                    // nothing will have enchantment less than 0. If a zero-enchanted item is found, just take it
                                                    if (itemToTake.getEnchantLevel() == 0)
                                                        break;
                                                }
                                            }
                                        }
                                        
                                        if (!player.destroyItem("Multisell", itemToTake.getObjectId(), 1, player.getTarget(), true))
                                        {
                                            player.setMultiSell(null);
                                            return;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                
                // Generate the appropriate items
                for (Ingredient e : entry.getProducts())
                {
                    if (e.getItemId() == CLAN_REPUTATION)
                        player.getClan().addReputationScore(e.getItemCount() * _amount);
                    else
                    {
                        if (e.isStackable())
                            inv.addItem("Multisell", e.getItemId(), e.getItemCount() * _amount, player, player.getTarget());
                        else
                        {
                            for (int i = 0; i < (e.getItemCount() * _amount); i++)
                            {
                                ItemInstance product = inv.addItem("Multisell", e.getItemId(), 1, player, player.getTarget());
                                if (product != null && list.getMaintainEnchantment())
                                {
                                    if (i < augmentation.size())
                                        product.setAugmentation(new L2Augmentation(augmentation.get(i).getAugmentationId(), augmentation.get(i).getSkill()));
                                    
                                    product.setEnchantLevel(e.getEnchantLevel());
                                    product.updateDatabase();
                                }
                            }
                        }
                        
                        // msg part
                        SystemMessage sm;
                        
                        if (e.getItemCount() * _amount > 1)
                            sm = SystemMessage.getSystemMessage(SystemMessageId.EARNED_S2_S1_S).addItemName(e.getItemId()).addNumber(e.getItemCount() * _amount);
                        else
                        {
                            if (list.getMaintainEnchantment() && e.getEnchantLevel() > 0)
                                sm = SystemMessage.getSystemMessage(SystemMessageId.ACQUIRED_S1_S2).addNumber(e.getEnchantLevel()).addItemName(e.getItemId());
                            else
                                sm = SystemMessage.getSystemMessage(SystemMessageId.EARNED_ITEM_S1).addItemName(e.getItemId());
                        }
                        player.sendPacket(sm);
                    }
                }
                player.sendPacket(new ItemList(player, false));
                
                // All ok, send success message, remove items and add final product
                player.sendPacket(SystemMessageId.SUCCESSFULLY_TRADED_WITH_NPC);
                
                StatusUpdate su = new StatusUpdate(player);
                su.addAttribute(StatusUpdate.CUR_LOAD, player.getCurrentLoad());
                player.sendPacket(su);
                
                // finally, give the tax to the castle...
                if (npc != null && entry.getTaxAmount() > 0)
                    npc.getCastle().addToTreasury(_transactionTax * _amount);
                
                break;
            }
        }
    }
}

 

 

Arquivo individual para quem ja modificou o core para uso proprío. Procure por Attackable.java e troque todo arquivo.

  Hide contents

O conteúdo está oculto, favor efetuar login ou se cadastrar!

Oque foi modificado? XP VIP, O Personagem, não estava recebendo xp

 

MOD SHIFT MOUSE ADICIONADO (VÍDEO ABAIXO DEMONSTRANDO)

  Hide contents

 

 

 

 Oque foi adicionado? 04/03/2020

Auto potion automatico e Dressme 2 clique item!

Pra registrar o item so ir no id e colocar como abaixo:

  Reveal hidden contents

São 15 itens 2 cliques na pack, cada um tem um nome

Para registrar só usar esse comando no item.

<set name="handler" val="skin1" />

no total sao 15

skin1

skin2

skin3 etc

 

Video demostrativo!

  Reveal hidden contents

 

 

 

 

PROGRAMAS Necessários:

Java: 8 JDK : 

O conteúdo está oculto, favor efetuar login ou se cadastrar!

MySQL: 5.5 : 
O conteúdo está oculto, favor efetuar login ou se cadastrar!

Navicat: 10 : 
O conteúdo está oculto, favor efetuar login ou se cadastrar!

- Utilitário: L2FileEdit : 
O conteúdo está oculto, favor efetuar login ou se cadastrar!

Tópico Original

como soluciono el problema al dar star game server me da error 

Créditos da Rev base : @MeGaPacKl
Créditos customização : @Kallisto

 

 

 

Pack2020.rar 20 MB · 113 downloads Source.rar 29 MB · 64 downloads

Source09.03.2020.rar 29 MB · 65 downloads

 

En 30/3/2020 a las 1:17, ChavãoCabuloso dijo:

vou te mandar mp vc conversa comigo lá por favor!?

tengo el mismo problema el game server no me funciona no corre como soluciono ?

 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, adrianavelandia disse:

alquien me ayuda con este problema entra en loguin y creo personaje pero no entra en el juego 

00.jpg

BR: Na sua DB não tem a coluna VIP, restaurou o backup dado junto a pack ? 
ES: En su base de datos no tiene la columna VIP, ¿restauró la copia de seguridad proporcionada con el paquete?

persista mesmo que tudo vá contra você!
Sou um cara cheio de dúvidas, mas gosto de ajudar no que sei e até onde eu sei!

ass jbrasil.jpg
spacer.png

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.






×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.