Ir para conteúdo
  • Cadastre-se

L2J Mega Corrigido


Christian-SDM

Posts recomendados


44 minutos atrás, VirusBlack S2 disse:

abrir seu GameServer.bat
clica com lado direito do mouse e clica em edit e colocar isso dentro dele

se vc usar java 8 e vai instalar o 11 nem precisa vc desisntalar o 8  agora pra usar o 11 tem q ser 64bits sua maquina

e se vc for mudar pro 11 e so fazer assim.  Exemplo seu java e 8 ? entao 

vc muda disso

REM -------------------------------------
REM Default parameters for a basic server.
PATH=C:\Program Files\Java\jdk1.8.0_181\bin

para isso. Sacou? Mini tutorial  desculpa ai se n ajudei   Christian-SDM  vc e show mano Sou seu fã

REM -------------------------------------
REM Default parameters for a basic server.
PATH=C:\Program Files\Java\jdk-11.0.6\bin

 

 

@echo off
color 0D
title L2jMega gameserver console
:start
REM -------------------------------------
REM Default parameters for a basic server.
PATH=C:\Program Files\Java\jdk1.8.0_181\bin
java -XX:+UseConcMarkSweepGC -Xmx1G -cp ./libs/*; net.sf.l2j.gameserver.GameServer
REM -------------------------------------
if ERRORLEVEL 2 goto restart
if ERRORLEVEL 1 goto error
goto end
:restart
echo.
echo Admin have restarted, please wait.
echo.
goto start
:error
echo.
echo Server have terminated abnormaly.
echo.
:end
echo.
echo Server terminated.
echo.
pause

abrir seu GameServer.bat
clica com lado direito do mouse e clica em edit e colocar isso dentro dele

se vc usar java 8 e vai instalar o 11 nem precisa vc desisntalar o 8  agora pra usar o 11 tem q ser 64bits sua maquina

e se vc for mudar pro 11 e so fazer assim.  Exemplo seu java e 8 ? entao 

vc muda disso

REM -------------------------------------
REM Default parameters for a basic server.
PATH=C:\Program Files\Java\jdk1.8.0_181\bin

para isso. Sacou? Mini tutorial  desculpa ai se n ajudei   Christian-SDM  vc e show mano Sou seu fã

REM -------------------------------------
REM Default parameters for a basic server.
PATH=C:\Program Files\Java\jdk-11.0.6\bin

 

 

@echo off
color 0D
title L2jMega gameserver console
:start
REM -------------------------------------
REM Default parameters for a basic server.
PATH=C:\Program Files\Java\jdk1.8.0_181\bin
java -XX:+UseConcMarkSweepGC -Xmx1G -cp ./libs/*; net.sf.l2j.gameserver.GameServer
REM -------------------------------------
if ERRORLEVEL 2 goto restart
if ERRORLEVEL 1 goto error
goto end
:restart
echo.
echo Admin have restarted, please wait.
echo.
goto start
:error
echo.
echo Server have terminated abnormaly.
echo.
:end
echo.
echo Server terminated.
echo.
pause

Deu certo, mas agora deu outro erro

https://i.imgur.com/je9DETX.png

...

Link para o comentário
Compartilhar em outros sites

38 minutos atrás, VirusBlack S2 disse:

mostra sua config ai talvez sei la seja no boss ou no phantomplayers vc alterou alguma coisa nesses 2 arquivos?

não fiz nenhuma alteração, apenas troquei o nome da db e coloquei a senha do mysql.

 

...

Link para o comentário
Compartilhar em outros sites

Agora, VirusBlack S2 disse:

entao faz assim esse phantomplayers e o erro q ele estar dando eu acho melhor vc fazer uma copia dos seus arquivos alterados e substitui esse phantomplayer por outro da mesma pack

pow mano, nao entendi quase nada do que vc disse...

...

Link para o comentário
Compartilhar em outros sites

2 minutos atrás, GrosseGames disse:

pow mano, nao entendi quase nada do que vc disse...

faz assim mudar seu db do gameserver e loginserver para este aqui pra vc testar esse e so pra testar l2games e tbm criar outro db no navicat so para teste e restaurar o backup q vc usar nessa pack e usar o mesmo arquivos dessa pack desse erro ai so pra ver assim n da pra explicar n mano pq aqui n e duvidas n faz um topico ai pq aqui n dar vlw

Link para o comentário
Compartilhar em outros sites

2 minutos atrás, VirusBlack S2 disse:

faz assim mudar seu db do gameserver e loginserver para este aqui pra vc testar esse e so pra testar l2games e tbm criar outro db no navicat so para teste e restaurar o backup q vc usar nessa pack e usar o mesmo arquivos dessa pack desse erro ai so pra ver assim n da pra explicar n mano pq aqui n e duvidas n faz um topico ai pq aqui n dar vlw

Troquei continuou a mesma coisa, alguém colocou o pack v4 em alguma pagina ai, dai eu baixei e pegou deboa, mas nao tem nd, n tem nem GM Shop, mas funcionou perfeito.

...

Link para o comentário
Compartilhar em outros sites

12 horas atrás, l2darkness250x disse:

Alguem sabe como faço pra desativar aquela opção de quando cria o char escolher a classe, e os itens ?

amigo vai em gameserve\config\custom  e procura o arquivos NewbiesSystem.  abre ele  e vai nessa linha aqui 

# If True Startup system will be enabled
StartupEnabled = True  ------- coloca False e pronto seja feliz .
 

5 horas atrás, devilll disse:

Gostaria de saber a respeito para adicionar um npc, onde ele fica no navicat ? pois nao achei.

pra adiciona npc e  simple  amigo vai em gameserve\data\xml\npcs  la voce pega um exemplo  do que ja axister tipo assim :

 

    <npc id="50011" idTemplate="31280" name="KingPvP" title="Top PvP Monument">
        <set name="usingServerSideName" val="true" />
        <set name="usingServerSideTitle" val="true" />
        <set name="level" val="70" />
        <set name="radius" val="8" />
        <set name="height" val="23" />
        <set name="rHand" val="0" />
        <set name="lHand" val="0" />
        <set name="type" val="TopPvPMonument" />   ----- Aqui  e tipo de npc  voce coloca !
        <set name="exp" val="0" />
        <set name="sp" val="0" />
        <set name="hp" val="2444.46819" />
        <set name="mp" val="1345.8" />
        <set name="hpRegen" val="7.5" />
        <set name="mpRegen" val="2.7" />
        <set name="pAtk" val="688.86373" />
        <set name="pDef" val="295.91597" />
        <set name="mAtk" val="470.40463" />
        <set name="mDef" val="216.53847" />
        <set name="crit" val="4" />
        <set name="atkSpd" val="253" />
        <set name="str" val="40" />
        <set name="int" val="21" />
        <set name="dex" val="30" />
        <set name="wit" val="20" />
        <set name="con" val="43" />
        <set name="men" val="20" />
        <set name="corpseTime" val="7" />
        <set name="walkSpd" val="50" />
        <set name="runSpd" val="120" />
        <set name="dropHerbGroup" val="0" />
        <ai type="DEFAULT" ssCount="0" ssRate="0" spsCount="0" spsRate="0" aggro="0" canMove="true" seedable="false" />
        <skills>
            <skill id="4045" level="1" />
            <skill id="4416" level="14" />
        </skills>
    </npc>

 

espero  ter ajudado !

23 horas atrás, GrosseGames disse:

Troquei continuou a mesma coisa, alguém colocou o pack v4 em alguma pagina ai, dai eu baixei e pegou deboa, mas nao tem nd, n tem nem GM Shop, mas funcionou perfeito.

 amigo me chama no chat ou manda um zap posso te ajuda ! 

 

085988185470

Carlinhos l2 Fortaleza-Ceara

Link para o comentário
Compartilhar em outros sites

Em 03/12/2019 at 14:22, Christian-SDM disse:

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 11

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

https://mega.nz/file/PoJl0SyI#uPtrU0Ow5KOspQIs-ZxE1n1xih9qP0a8j1OyJMXOt6k (Nova 21/04/2020)

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

https://mega.nz/file/v0hSSYSC#6WWNPYRsY3OvFfoJ8tS5_5mXlT0G0GpPanH-OCqFW6g (Novo 21/04/2020)

3º SYSTEM PROJETO L2jOne FUNCIONANDO 

https://mega.nz/file/msIH1AQJ#cWaVfHSsE6YlI-N-eGdhaw35KLD28ncUnDH1fFxFKdU

 

 

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

 

 ATUALIZAÇÃO 22/04/2020

 

 

 

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

  Mostrar conteúdo oculto

 

 

 

 

NOVO BUG CORRIGIDO ADENA ACIS 361+

COMO ESTAVA:

  Mostrar conteúdo oculto

 

COMO ESTÁ: 

  Mostrar conteúdo oculto

 

 

 

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 !

  Mostrar conteúdo oculto

/*
 * 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.

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

 

MOD SHIFT MOUSE ADICIONADO (VÍDEO ABAIXO DEMONSTRANDO)

  Mostrar conteúdo oculto

 

 

 

 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:

  Mostrar conteúdo oculto

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!

  Mostrar conteúdo oculto

 

 

 

ATUALIZAÇÃO 19/04/2020

  Mostrar conteúdo oculto

Oque foi corrigido ?

*Não estava 100% liberado para usar qualquer system.

*Foi adicionado frintezza 100% com as musicas etc, postado pelo nosso amigo @L2Raiz

*Foi adicionado evento manual pt farm, que pode ser iniciado a qualquer hora pelo comando //ptfarm

*Foi modificado a porta do zaken, que não estava abrindo, fiz vários testes, abriu diversas veses, porem, demorava um pouco a mais do tempo combinado, deve ser, porque eu tava alterando o tempo toda hora. Mas a porta se abre.


 

PROGRAMAS Necessários:

Java: 11 JDK : https://mega.nz/file/30gwDC4L#oxqcOL0Q88BqmnW6myI5yckJB-WfKkkXBOTstT7mkfE
MariaDB : https://mega.nz/file/jxZlXKZA#wwZZ-l6gPz11JXcCnEt0Sol-0RFUsrelRvWUkLj3dgg
Navicat: 10 : https://mega.nz/file/PsQ3BAxb#cSzT17pAIPFgjUnrwiDx-WbqUrZPpx2JfzkOyc4pFGo
- Utilitário: L2FileEdit : https://mega.nz/#!ZNhDWaqQ!oTkScr_pR_lJBWrjgga6HJ7BYPLrKUfAFIvcjrS6TyY

Tópico Original

 

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

 

boa dia, aonde colo a pasta source ?

 

 

 

 

Pack 21.04.2020.rar 18 MB · 73 downloads Source 21.04 JDK11.rar 25 MB · 44 downloads

 

Link para o comentário
Compartilhar em outros sites

6 minutos atrás, L2carlinhos2020 disse:

Bom dia source  e pra edita bug  correção  caso você encontre mano pra isso você precisa saber de java !

ah ss, e pq to tentando abrir game serve e ele da erro:

at java.lang.ClassLoader.defineClass1(Native Method)
  at java.lang.ClassLoader.defineClass(Unknown Source)
  at java.security.SecureClassLoader.defineClass(Unknown Source)
  at java.net.URLClassLoader.defineClass(Unknown Source)
  at java.net.URLClassLoader.access$100(Unknown Source)
  at java.net.URLClassLoader$1.run(Unknown Source)
  at java.net.URLClassLoader$1.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
 ja troquei java e i navicate puis os que pede 
Link para o comentário
Compartilhar em outros sites

# =================================================================
#                          Items Management
# =================================================================

# Allows players to drop items on the ground, default True.
AllowDiscardItem = True

# Allows the creation of multiple non-stackable items at one time, default True.
MultipleItemDrop = True

# Destroys dropped herbs after X seconds, set 0 to disable, default 15.
AutoDestroyHerbTime = 15
 

 

 

não da pra descarta itens ?? porque???

Editado por ChristianTapajos
Link para o comentário
Compartilhar em outros sites

2 horas atrás, ChristianTapajos disse:

# =================================================================
#                          Items Management
# =================================================================

# Allows players to drop items on the ground, default True.
AllowDiscardItem = True

# Allows the creation of multiple non-stackable items at one time, default True.
MultipleItemDrop = True

# Destroys dropped herbs after X seconds, set 0 to disable, default 15.
AutoDestroyHerbTime = 15
 

 

 

não da pra descarta itens ?? porque???

poder,pode; mesmo fazendo isso. nos itens que estão em xml tem item q está com restrição de descarte.

Link para o comentário
Compartilhar em outros sites

Em 14/05/2020 at 23:45, L2carlinhos2020 disse:

pra diciona npc e  simple  amigo vai em gameserve\data\xml\npcs  la voce pega um exemplo  do que ja axister tipo assim :

 

    <npc id="50011" idTemplate="31280" name="KingPvP" title="Top PvP Monument">
        <set name="usingServerSideName" val="true" />
        <set name="usingServerSideTitle" val="true" />
        <set name="level" val="70" />
        <set name="radius" val="8" />
        <set name="height" val="23" />
        <set name="rHand" val="0" />
        <set name="lHand" val="0" />
        <set name="type" val="TopPvPMonument" />   ----- Aqui  e tipo de npc  voce coloca !
        <set name="exp" val="0" />
        <set name="sp" val="0" />
        <set name="hp" val="2444.46819" />
        <set name="mp" val="1345.8" />
        <set name="hpRegen" val="7.5" />
        <set name="mpRegen" val="2.7" />
        <set name="pAtk" val="688.86373" />
        <set name="pDef" val="295.91597" />
        <set name="mAtk" val="470.40463" />
        <set name="mDef" val="216.53847" />
        <set name="crit" val="4" />
        <set name="atkSpd" val="253" />
        <set name="str" val="40" />
        <set name="int" val="21" />
        <set name="dex" val="30" />
        <set name="wit" val="20" />
        <set name="con" val="43" />
        <set name="men" val="20" />
        <set name="corpseTime" val="7" />
        <set name="walkSpd" val="50" />
        <set name="runSpd" val="120" />
        <set name="dropHerbGroup" val="0" />
        <ai type="DEFAULT" ssCount="0" ssRate="0" spsCount="0" spsRate="0" aggro="0" canMove="true" seedable="false" />
        <skills>
            <skill id="4045" level="1" />
            <skill id="4416" level="14" />
        </skills>
    </npc>

 

espero  ter ajudado !

 

beleza mas por exemplo la fala de varios NPC etc, eu nao conseguir ver nenhum, tentei de tudo.

sera o patch ? nao sei.

 

ai eu fui tentar editar um NPC buffer, mas em todos os NPC do forum eu nao conseguir tirar um exemplo para adicionar la. 

 

mesmo assim mt obrigado.

Guilherme Almeida

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Libna disse:

nesse npc buffer q ja tem eu consigo editar os buffs?? tipo quando eu aperto figheter e mage la?? queria adicionar as resitencia no buff automatico

vai em gameserver\config\npcs.properties
lá você encontrará.
entre a linha 52 a 61

Editado por SCRASH0
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.






  • Patrocinadores

  • Quem Está Navegando

    • Nenhum usuário registrado visualizando esta página.
  • Posts

    • Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?    
    • muchas gracias muy lindos NPC 🙂
    • relaxa jovem gafanhoto, testa as quests. e posTa os erros indesejaveis.  
    • Se alguém pudesse me ensinar como codificar as missões, eu ficaria feliz em fazer isso sozinho ou pelo menos ajudar. Eu realmente quero jogar em um servidor onde todas as quests funcionem bem e melhor ainda se você puder fazer quests customizadas!
    • mas no interlude, nem todas as quests de class,  vai mostrar onde tem que ir, ate o reborn nao mostrava quando era interlude, só mostrou depois que eles colocaram client classic pra rodar, e ficou melhor ainda quando virou hellbound em diante, mas ha sim alguma chance de modificar isso direto no script para fazer igualmente, só basta te um pouco de paciencia e persistencia exato
    • 408_PathToElvenwizard dá Orion eu tive que mexer tbm, até modifiquei e consegui deixar ela igual do Classic, com a seta e a marcação no mapa. (não retail IL) Dá pra importar py de várias revs, o foda é que não da regular as quest py através do debug em tempo real, pelo menos eu não consegui rsrs
    • Hasta el momento todas las QUESTS son completables si te guias con un tutorial de youtube. El problema es que tienen bugs de locacion y de subquests que no avanzan o no te marcan correctamente a donde ir en el mapa, cosa que en Retail si se ve como corresponde.
    • estranho, mas pelo menos a galera nunca reclamo das quests quando tinha aberto 5x, geral fez class primeira e segunda job, poucos que compraram a class
    • en RUSaCis-3.5 data pack, las Quests estan en formato .java y son diferentes a como estan redactadas en jOrion y jFrozen 1.5 (ProyectX) package net.sf.l2j.gameserver.scripting.quest; import net.sf.l2j.commons.random.Rnd; import net.sf.l2j.gameserver.enums.Paperdoll; import net.sf.l2j.gameserver.enums.QuestStatus; import net.sf.l2j.gameserver.enums.actors.ClassId; import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.Npc; import net.sf.l2j.gameserver.model.actor.Player; import net.sf.l2j.gameserver.network.serverpackets.SocialAction; import net.sf.l2j.gameserver.scripting.QuestState; public class Q224_TestOfSagittarius extends SecondClassQuest { private static final String QUEST_NAME = "Q224_TestOfSagittarius"; // Items private static final int BERNARD_INTRODUCTION = 3294; private static final int HAMIL_LETTER_1 = 3295; private static final int HAMIL_LETTER_2 = 3296; private static final int HAMIL_LETTER_3 = 3297; private static final int HUNTER_RUNE_1 = 3298; private static final int HUNTER_RUNE_2 = 3299; private static final int TALISMAN_OF_KADESH = 3300; private static final int TALISMAN_OF_SNAKE = 3301; private static final int MITHRIL_CLIP = 3302; private static final int STAKATO_CHITIN = 3303; private static final int REINFORCED_BOWSTRING = 3304; private static final int MANASHEN_HORN = 3305; private static final int BLOOD_OF_LIZARDMAN = 3306; private static final int CRESCENT_MOON_BOW = 3028; private static final int WOODEN_ARROW = 17; // Rewards private static final int MARK_OF_SAGITTARIUS = 3293; // NPCs private static final int BERNARD = 30702; private static final int HAMIL = 30626; private static final int SIR_ARON_TANFORD = 30653; private static final int VOKIAN = 30514; private static final int GAUEN = 30717; // Monsters private static final int ANT = 20079; private static final int ANT_CAPTAIN = 20080; private static final int ANT_OVERSEER = 20081; private static final int ANT_RECRUIT = 20082; private static final int ANT_PATROL = 20084; private static final int ANT_GUARD = 20086; private static final int NOBLE_ANT = 20089; private static final int NOBLE_ANT_LEADER = 20090; private static final int BREKA_ORC_SHAMAN = 20269; private static final int BREKA_ORC_OVERLORD = 20270; private static final int MARSH_STAKATO_WORKER = 20230; private static final int MARSH_STAKATO_SOLDIER = 20232; private static final int MARSH_STAKATO_DRONE = 20234; private static final int MARSH_SPIDER = 20233; private static final int ROAD_SCAVENGER = 20551; private static final int MANASHEN_GARGOYLE = 20563; private static final int LETO_LIZARDMAN = 20577; private static final int LETO_LIZARDMAN_ARCHER = 20578; private static final int LETO_LIZARDMAN_SOLDIER = 20579; private static final int LETO_LIZARDMAN_WARRIOR = 20580; private static final int LETO_LIZARDMAN_SHAMAN = 20581; private static final int LETO_LIZARDMAN_OVERLORD = 20582; private static final int SERPENT_DEMON_KADESH = 27090; public Q224_TestOfSagittarius() { super(224, "Test Of Sagittarius"); setItemsIds(BERNARD_INTRODUCTION, HAMIL_LETTER_1, HAMIL_LETTER_2, HAMIL_LETTER_3, HUNTER_RUNE_1, HUNTER_RUNE_2, TALISMAN_OF_KADESH, TALISMAN_OF_SNAKE, MITHRIL_CLIP, STAKATO_CHITIN, REINFORCED_BOWSTRING, MANASHEN_HORN, BLOOD_OF_LIZARDMAN, CRESCENT_MOON_BOW); addQuestStart(BERNARD); addTalkId(BERNARD, HAMIL, SIR_ARON_TANFORD, VOKIAN, GAUEN); addMyDying(ANT, ANT_CAPTAIN, ANT_OVERSEER, ANT_RECRUIT, ANT_PATROL, ANT_GUARD, NOBLE_ANT, NOBLE_ANT_LEADER, BREKA_ORC_SHAMAN, BREKA_ORC_OVERLORD, MARSH_STAKATO_WORKER, MARSH_STAKATO_SOLDIER, MARSH_STAKATO_DRONE, MARSH_SPIDER, ROAD_SCAVENGER, MANASHEN_GARGOYLE, LETO_LIZARDMAN, LETO_LIZARDMAN_ARCHER, LETO_LIZARDMAN_SOLDIER, LETO_LIZARDMAN_WARRIOR, LETO_LIZARDMAN_SHAMAN, LETO_LIZARDMAN_OVERLORD, SERPENT_DEMON_KADESH); } @Override public String onAdvEvent(String event, Npc npc, Player player) { String htmltext = event; QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; // BERNARD if (event.equalsIgnoreCase("30702-04.htm")) { st.setState(QuestStatus.STARTED); st.setCond(1); playSound(player, SOUND_ACCEPT); giveItems(player, BERNARD_INTRODUCTION, 1); if (giveDimensionalDiamonds39(player)) htmltext = "30702-04a.htm"; } // HAMIL else if (event.equalsIgnoreCase("30626-03.htm")) { st.setCond(2); playSound(player, SOUND_MIDDLE); takeItems(player, BERNARD_INTRODUCTION, 1); giveItems(player, HAMIL_LETTER_1, 1); } else if (event.equalsIgnoreCase("30626-07.htm")) { st.setCond(5); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_1, 10); giveItems(player, HAMIL_LETTER_2, 1); } // SIR_ARON_TANFORD else if (event.equalsIgnoreCase("30653-02.htm")) { st.setCond(3); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_1, 1); } // VOKIAN else if (event.equalsIgnoreCase("30514-02.htm")) { st.setCond(6); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_2, 1); } return htmltext; } @Override public String onTalk(Npc npc, Player player) { String htmltext = getNoQuestMsg(); QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; switch (st.getState()) { case CREATED: if (player.getClassId() != ClassId.ROGUE && player.getClassId() != ClassId.ELVEN_SCOUT && player.getClassId() != ClassId.ASSASSIN) htmltext = "30702-02.htm"; else if (player.getStatus().getLevel() < 39) htmltext = "30702-01.htm"; else htmltext = "30702-03.htm"; break; case STARTED: int cond = st.getCond(); switch (npc.getNpcId()) { case BERNARD: htmltext = "30702-05.htm"; break; case HAMIL: if (cond == 1) htmltext = "30626-01.htm"; else if (cond == 2 || cond == 3) htmltext = "30626-04.htm"; else if (cond == 4) htmltext = "30626-05.htm"; else if (cond > 4 && cond < 8) htmltext = "30626-08.htm"; else if (cond == 8) { htmltext = "30626-09.htm"; st.setCond(9); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_2, 10); giveItems(player, HAMIL_LETTER_3, 1); } else if (cond > 8 && cond < 12) htmltext = "30626-10.htm"; else if (cond == 12) { htmltext = "30626-11.htm"; st.setCond(13); playSound(player, SOUND_MIDDLE); } else if (cond == 13) htmltext = "30626-12.htm"; else if (cond == 14) { htmltext = "30626-13.htm"; takeItems(player, BLOOD_OF_LIZARDMAN, -1); takeItems(player, CRESCENT_MOON_BOW, 1); takeItems(player, TALISMAN_OF_KADESH, 1); giveItems(player, MARK_OF_SAGITTARIUS, 1); rewardExpAndSp(player, 54726, 20250); player.broadcastPacket(new SocialAction(player, 3)); playSound(player, SOUND_FINISH); st.exitQuest(false); } break; case SIR_ARON_TANFORD: if (cond == 2) htmltext = "30653-01.htm"; else if (cond > 2) htmltext = "30653-03.htm"; break; case VOKIAN: if (cond == 5) htmltext = "30514-01.htm"; else if (cond == 6) htmltext = "30514-03.htm"; else if (cond == 7) { htmltext = "30514-04.htm"; st.setCond(8); playSound(player, SOUND_MIDDLE); takeItems(player, TALISMAN_OF_SNAKE, 1); } else if (cond > 7) htmltext = "30514-05.htm"; break; case GAUEN: if (cond == 9) { htmltext = "30717-01.htm"; st.setCond(10); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_3, 1); } else if (cond == 10) htmltext = "30717-03.htm"; else if (cond == 11) { htmltext = "30717-02.htm"; st.setCond(12); playSound(player, SOUND_MIDDLE); takeItems(player, MANASHEN_HORN, 1); takeItems(player, MITHRIL_CLIP, 1); takeItems(player, REINFORCED_BOWSTRING, 1); takeItems(player, STAKATO_CHITIN, 1); giveItems(player, CRESCENT_MOON_BOW, 1); giveItems(player, WOODEN_ARROW, 10); } else if (cond > 11) htmltext = "30717-04.htm"; break; } break; case COMPLETED: htmltext = getAlreadyCompletedMsg(); break; } return htmltext; } @Override public void onMyDying(Npc npc, Creature killer) { final Player player = killer.getActingPlayer(); final QuestState st = checkPlayerState(player, npc, QuestStatus.STARTED); if (st == null) return; switch (npc.getNpcId()) { case ANT: case ANT_CAPTAIN: case ANT_OVERSEER: case ANT_RECRUIT: case ANT_PATROL: case ANT_GUARD: case NOBLE_ANT: case NOBLE_ANT_LEADER: if (st.getCond() == 3 && dropItems(player, HUNTER_RUNE_1, 1, 10, 500000)) st.setCond(4); break; case BREKA_ORC_SHAMAN: case BREKA_ORC_OVERLORD: if (st.getCond() == 6 && dropItems(player, HUNTER_RUNE_2, 1, 10, 500000)) { st.setCond(7); giveItems(player, TALISMAN_OF_SNAKE, 1); } break; case MARSH_STAKATO_WORKER: case MARSH_STAKATO_SOLDIER: case MARSH_STAKATO_DRONE: if (st.getCond() == 10 && dropItems(player, STAKATO_CHITIN, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, REINFORCED_BOWSTRING)) st.setCond(11); break; case MARSH_SPIDER: if (st.getCond() == 10 && dropItems(player, REINFORCED_BOWSTRING, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case ROAD_SCAVENGER: if (st.getCond() == 10 && dropItems(player, MITHRIL_CLIP, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, REINFORCED_BOWSTRING, STAKATO_CHITIN)) st.setCond(11); break; case MANASHEN_GARGOYLE: if (st.getCond() == 10 && dropItems(player, MANASHEN_HORN, 1, 1, 100000) && player.getInventory().hasItems(REINFORCED_BOWSTRING, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case LETO_LIZARDMAN: case LETO_LIZARDMAN_ARCHER: case LETO_LIZARDMAN_SOLDIER: case LETO_LIZARDMAN_WARRIOR: case LETO_LIZARDMAN_SHAMAN: case LETO_LIZARDMAN_OVERLORD: if (st.getCond() == 13) { if (((player.getInventory().getItemCount(BLOOD_OF_LIZARDMAN) - 120) * 5) > Rnd.get(100)) { playSound(player, SOUND_BEFORE_BATTLE); takeItems(player, BLOOD_OF_LIZARDMAN, -1); addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } else dropItemsAlways(player, BLOOD_OF_LIZARDMAN, 1, 0); } break; case SERPENT_DEMON_KADESH: if (st.getCond() == 13) { if (player.getInventory().getItemIdFrom(Paperdoll.RHAND) == CRESCENT_MOON_BOW) { st.setCond(14); playSound(player, SOUND_MIDDLE); giveItems(player, TALISMAN_OF_KADESH, 1); } else addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } break; } } }  
×
×
  • 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.