Ir para conteúdo
  • Cadastre-se

L2J Mega Corrigido


Christian-SDM

Posts recomendados

Agora, luisalberto disse:

Alguien tendra un system adaptado con animacion y texturas para ver los customs ? que no sea el parche Dev 2.7 porque ese no me da.. pasa el loggin pero se queda en Gameserver.

Por  favor amigos si no fuera mucha molestia. Tengo el server actualizado pero de nada me sirve si es que no tengo el parche adecuado. 

Mil gracias.

 

no hay costumbre, te lo dije dos veces, amigo

Link para o comentário
Compartilhar em outros sites


1 hora atrás, OkysborhMzK disse:

Pessoal. alguém conseguiu fazer funcionar algum geodata nesse pack? tentei uns 20 geodatas diferentes e nenhum funcionou, sei que o formato é em l2d. mais mesmo assim nao funcionou, os mobs continuam atravessando a parede.

 

Link para o comentário
Compartilhar em outros sites

17 horas atrás, Christian-SDM disse:

vcs estao no tópico errado.

nem tanto, se tem um erro tão importante quanto geodata é bom informar e tentar compartilhar informações para arruma-lo. pois um server sem geodata não presta para nada sendo que os mobs atravessam paredes. tbm perguntei sobre esse erro em outros lugares mais não obtive resposta. e o meu problema pode ser o de outras pessoas também. não custa nada olhar a imagem e ver se sabe oque causou o erro.

Link para o comentário
Compartilhar em outros sites

mas o que você quer brother é uma resposta, que você não encontrará em tópicos alheios .
para isso existe uma area de pedidos e perguntas;
realmente você está no topico errado.
esse topico é para falar sobre o projeto. ou erros no projeto.
mesmo que seja para geodata;
infelizmente é assim que funciona.
cedo ou tarde você terá resposta , você não deve reclamar em um fórum que é free.
tem que esperar.
você está com um projeto bom e arrumado, e mesmo assim reclama de geodata.
tem muitas por ai.
e tenho certeza que isso ai é falha de arquivo.

  • Amei 1
  • Não gostei 1
Link para o comentário
Compartilhar em outros sites

5 horas atrás, SCRASH0 disse:

mas o que você quer brother é uma resposta, que você não encontrará em tópicos alheios .
para isso existe uma area de pedidos e perguntas;
realmente você está no topico errado.
esse topico é para falar sobre o projeto. ou erros no projeto.
mesmo que seja para geodata;
infelizmente é assim que funciona.
cedo ou tarde você terá resposta , você não deve reclamar em um fórum que é free.
tem que esperar.
você está com um projeto bom e arrumado, e mesmo assim reclama de geodata.
tem muitas por ai.
e tenho certeza que isso ai é falha de arquivo.

é muito mais facil falar sobre o pack no post que todos sabem do q eu to falando e no qual todos estão mechendo com a mesma coisa do que eu postar la nun lugar que tem gnt que nem baixou esse pack e nem sabe do q eu to falando, e eu não to reclamando de nada, quem reclamou foi o cara que falo que eu to no lugar errado. tenho certeza que se uma pessoa tiver o mesmo problema q eu e tiver navegando por esse post vai ver e nao vai nem preciosar perguntar denovo pq ja vai ta ali a solução. e como pode ser erro de arquivo se eu baixei exatamente o mesmo que o cara postou la. afinal, era só olhar a imagem, se sabe o erro fala, se não apenas ignora, 1 imagem não vai flodar o post, mais agora por causa de uma resposta ignorante foi 3 4 mensagens desnecessárias. abraço. 

Link para o comentário
Compartilhar em outros sites

Agora, OkysborhMzK disse:

é muito mais facil falar sobre o pack no post que todos sabem do q eu to falando e no qual todos estão mechendo com a mesma coisa do que eu postar la nun lugar que tem gnt que nem baixou esse pack e nem sabe do q eu to falando, e eu não to reclamando de nada, quem reclamou foi o cara que falo que eu to no lugar errado. tenho certeza que se uma pessoa tiver o mesmo problema q eu e tiver navegando por esse post vai ver e nao vai nem preciosar perguntar denovo pq ja vai ta ali a solução. e como pode ser erro de arquivo se eu baixei exatamente o mesmo que o cara postou la. afinal, era só olhar a imagem, se sabe o erro fala, se não apenas ignora, 1 imagem não vai flodar o post, mais agora por causa de uma resposta ignorante foi 3 4 mensagens desnecessárias. abraço. 

ninguem foi ignorante aqui amigo, errado foi vc em postar sobre geodata, o tópico é sobre projeto l2jmega,  se tem duvida ou problema de geodata, abre um tópico de duvida. geodata nao é da l2jmega e sim em acis em geral. É Só saber qual geodata baixar, mas enfim, somente coisas relacionadas ao l2jmega obrigado!

Editado por Christian-SDM
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 8

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

https://mega.nz/#!mwpF3QiI!6mghJrwOW3Nva4_hT0bSfLF4jhMSx6tKzyCGdIWKp4c (31/01/19)

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

https://mega.nz/#!G8xjBIgY!naoG_ZBeblEL4UVxz_GEUDavQsiymHRdal3sNqoakoc Compilado Novo (31/01/19 às 21:30)

https://mega.nz/#!O5YQyaAZ!F3QrgUISzeIRlwN65ViYKrrP_rXVd4zAuaKufJMpGfE  (Anterior)

 

 

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)

  Ocultar conteúdo

 

 

 

 

NOVO BUG CORRIGIDO ADENA ACIS 361+

COMO ESTAVA:

  Ocultar conteúdo

 

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 !

  Ocultar conteúdo

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

  Ocultar conteúdo

 

 

 

 

 

PROGRAMAS Necessários:

Java: 8 JDK : https://www.oracle.com/technetwork/pt/java/javase/downloads/jdk8-downloads-2133151.html
MySQL: 5.5 : https://mega.nz/#!0Y0XhI7Z!N512DQLzY7EWORx7kaYcXXgW4xnDHjaxf2j-NOrKAsw
Navicat: 10 : https://mega.nz/#!4Vt3BIwC!B_t2Is_lSDqj3iE8TL1dBUAJUljO9QXlFrgj6eeS7hA
- Utilitário: L2FileEdit : https://mega.nz/#!ZNhDWaqQ!oTkScr_pR_lJBWrjgga6HJ7BYPLrKUfAFIvcjrS6TyY

Tópico Original

 

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

 

PACK NOVA JMEGA Limpo.rarUnavailable

Source v3.rarUnavailable

QUAL E OS DOWNLOAD'S CERTOS? QUERIA TESTAR, E TALVEZ POR ONLINE, PARA ZUEIRA...

Link para o comentário
Compartilhar em outros sites

Em 12/02/2020 at 00:06, OkysborhMzK disse:

é muito mais facil falar sobre o pack no post que todos sabem do q eu to falando e no qual todos estão mechendo com a mesma coisa do que eu postar la nun lugar que tem gnt que nem baixou esse pack e nem sabe do q eu to falando, e eu não to reclamando de nada, quem reclamou foi o cara que falo que eu to no lugar errado. tenho certeza que se uma pessoa tiver o mesmo problema q eu e tiver navegando por esse post vai ver e nao vai nem preciosar perguntar denovo pq ja vai ta ali a solução. e como pode ser erro de arquivo se eu baixei exatamente o mesmo que o cara postou la. afinal, era só olhar a imagem, se sabe o erro fala, se não apenas ignora, 1 imagem não vai flodar o post, mais agora por causa de uma resposta ignorante foi 3 4 mensagens desnecessárias. abraço. 

abraços.
não fui ignorante e sim estou seguindo com as regras do fórum.
mas enfim.
vamos parar com delongas e falar sobre o projeto.
e sim eu baixei e já coloquei coisa boa e removi algumas.
tem gente usando a pack. e com geodata;

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Yuri Ferreira disse:

Boa noite, desculpa a duvida, mas onde fica o .psc para recuperar o banco de dados no navicat, não encontrei o mesmo nas pastas do server. Estou a anos parado com o l2j e voltei agora, me interessei pelo projeto e vou testa-lo afinco. Muito obrigado desde já!

Acabei confundindo a source com o patch server, Resolvido

PS: Não consegui editar o outro post.

 

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

Encontrei um erro referente a hero.

Bom, as olympiadas funcionam muito bem mas após receber o status de hero parece que k servidor não consegue achar a contagem de tempo dos personagens. Quando vc loga um char hero a mensagem de erro não para de aparecer no console do GS. 

 

received_184108953003661.png

Link para o comentário
Compartilhar em outros sites

Olá, como você gostaria de saber, se essa configuração pré-servidor tem a missão geral corrigida. Gostaria de configurar um servidor baixo e o mais importante é a quest.

Ryukenshiro

Link para o comentário
Compartilhar em outros sites

Es un pack limpio.

Como hago para cuando le haga click al GMShop no vea esos iconos negros ?

Otra cosa: Pido una recomendacion a uds. expertos ...

En el systema que hace el packserver de inicio de un player te regalan las armaduras graso S de acuerdo a la clase y raza que escoges . Que podria poner en lugar de las grado S si es que mi server seria 50x rates ?

 

Mil gracias son unos capos !

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

Em 19/02/2020 at 19:47, melounn disse:

please help my Wan Ip No Connections  port all Open  my Computer  is  I7  32 Gb SSD 1 TR  HDD 2TR

image.thumb.png.aa5d27d40d12043bc95de6fe25b431b4.png



# ================================================================
#                          Gameserver setting
# ================================================================

# This is transmitted to the clients, so it has to be an IP or resolvable hostname. If this ip is resolvable by Login just leave *
Hostname = 149.3.112.152

# Bind ip of the gameserver, use * to bind on all available IPs.
GameserverHostname = *
GameserverPort = 7777

# The Loginserver host and port.
LoginHost = 127.0.0.1
LoginPort = 9014

 

#=============================================================
#                         Loginserver
#=============================================================

# This is transmitted to the clients, so it has to be an IP or resolvable hostname
Hostname = 149.3.112.152

# Bind ip of the LoginServer, use * to bind on all available IPs
LoginserverHostname = 127.0.0.1
LoginserverPort = 2106

# The Loginserver host and port.
LoginHostname = 127.0.0.1
LoginPort = 9014


leave it that way so you can log into your server.
if it is dedicated or vps it will work;
if it is on your pc, it will not work.
because the project does not allow you to access the server through the same ip where the server is parked.
L2OFF style.
you will only be able to enter your server through another pc with another External IP.
if you choose to move on your server, you can only access Locally;
Hope this helps. Good luck.

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

Em 17/02/2020 at 18:51, [ADM]Mystogan disse:

alguem sabe o caminho para mudar o template do NPC de olympiada ?

procure por este caminho.
gameserver\data\xml\fakepcs
abra  o arquivo com algum programa que leia o arquivo, como NotePad ++
lá você poderá colocar o id do NPC e colocar qual roupa ou arma você quer que ele use.


ou vá nesse caminho.
\gameserver\data\xml\npcs
procure o id do NPC, lá você poderá modificar o template do NPC desejado.

Em 17/02/2020 at 18:51, [ADM]Mystogan disse:

alguem sabe o caminho para mudar o template do NPC de olympiada ?

Não sendo chato, porque são regras do fórum.
da próxima vez que quiser resposta de algum projeto, qualquer um ou esse.
vá Na área correta, lá você poderá receber sua resposta, o mas rápido possível.
https://www.l2jbrasil.com/forum/18-dúvidas/
pois em qualquer projeto só é para falar do projeto e seus erros ou bugs.

Link para o comentário
Compartilhar em outros sites

15 horas atrás, luisalberto disse:

Es un pack limpio.

Como hago para cuando le haga click al GMShop no vea esos iconos negros ?

Otra cosa: Pido una recomendacion a uds. expertos ...

En el systema que hace el packserver de inicio de un player te regalan las armaduras graso S de acuerdo a la clase y raza que escoges . Que podria poner en lugar de las grado S si es que mi server seria 50x rates ?

 

Mil gracias son unos capos !

1ra pregunta:
Tendrá que ir al archivo HTML del NPC, allí encontrará el XML del elemento deseado.
puede cambiar el elemento o descargar las animaciones y texturas del elemento aquí mismo en el foro. para que puedas ver el artículo.


2da pregunta:
Puede colocar elementos de grado A.
y deje artículos de grado S para la agricultura o la artesanía.


Espero haber ayudado, ¡buena suerte!
 

15 horas atrás, luisalberto disse:

Es un pack limpio.

Como hago para cuando le haga click al GMShop no vea esos iconos negros ?

Otra cosa: Pido una recomendacion a uds. expertos ...

En el systema que hace el packserver de inicio de un player te regalan las armaduras graso S de acuerdo a la clase y raza que escoges . Que podria poner en lugar de las grado S si es que mi server seria 50x rates ?

 

Mil gracias son unos capos !

No ser aburrido, porque son las reglas del foro.
la próxima vez que desee una respuesta del proyecto, ya sea una o esa.
ir En el área correcta, allí podrá recibir su respuesta lo antes posible.

https://www.l2jbrasil.com/forum/18-dúvidas/
porque en cualquier proyecto es solo hablar sobre el proyecto y sus errores o errores.

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.