Jump to content
  • 0

[Help]With The Xml of a gm-shop!


Question

Posted

Hello guys i wanted to put items on a gm shop +20 !!

for example elegia cuirass +20!!

 

in xml i wrote! :

 

<production id="21919" count="1" enchant="20"/>

 

but it didnt worked.. any ideas?H5 Client

 

3 answers to this question

Recommended Posts

  • 0
Posted

I 've never worked with such clients,but before some months i remember guy on this board sharing an npc with that function(selling +++ weapons),so if you wont get any answer,you should search for it,even if you are not greek.

  • 0
Posted

Working 100%.

 

Core:

Index: /trunk/L2C_TestGameserver/java/com/l2jserver/gameserver/network/serverpackets/MultiSellList.java
===================================================================
--- /trunk/L2C_TestGameserver/java/com/l2jserver/gameserver/network/serverpackets/MultiSellList.java (revision 24)
+++ /trunk/L2C_TestGameserver/java/com/l2jserver/gameserver/network/serverpackets/MultiSellList.java (revision 71)
@@ -119,5 +119,5 @@
                else
                {
-                   writeH(0x00); // enchant level
+                   writeH(ing.getEnchantLevel()); // enchant level by Sirpaypi
                    writeD(0x00); // augment id
                    writeD(0x00); // mana
@@ -154,5 +154,5 @@
                else
                {
-                   writeH(0x00); // enchant level
+                   writeH(ing.getEnchantLevel()); // enchant level
                    writeD(0x00); // augment id
                    writeD(0x00); // mana
Index: /trunk/L2C_TestGameserver/java/com/l2jserver/gameserver/model/multisell/PreparedEntry.java
===================================================================
--- /trunk/L2C_TestGameserver/java/com/l2jserver/gameserver/model/multisell/PreparedEntry.java (revision 24)
+++ /trunk/L2C_TestGameserver/java/com/l2jserver/gameserver/model/multisell/PreparedEntry.java (revision 71)
@@ -72,5 +72,5 @@
        adenaA-beep-t += _taxA-beep-t; // do not forget tax
        if (adenaA-beep-t > 0)
-           _ingredients.add(new Ingredient(ADENA_ID, adenaA-beep-t, false, false));
+           _ingredients.add(new Ingredient(ADENA_ID, adenaA-beep-t,0, false, false));
       
        // now copy products
Index: /trunk/L2C_TestGameserver/java/com/l2jserver/gameserver/model/multisell/Ingredient.java
===================================================================
--- /trunk/L2C_TestGameserver/java/com/l2jserver/gameserver/model/multisell/Ingredient.java (revision 24)
+++ /trunk/L2C_TestGameserver/java/com/l2jserver/gameserver/model/multisell/Ingredient.java (revision 71)
@@ -30,4 +30,5 @@
    private int _itemId;
    private long _itemCount;
+    private int _EnchantmentLevel;
    private boolean _isTaxIngredient, _maintainIngredient;
    
@@ -35,8 +36,9 @@
    private ItemInfo _itemInfo = null;
    
-   public Ingredient(int itemId, long itemCount, boolean isTaxIngredient, boolean maintainIngredient)
+   public Ingredient(int itemId, long itemCount,int EnchantmentLevel, boolean isTaxIngredient, boolean maintainIngredient)
    {
        _itemId = itemId;
        _itemCount = itemCount;
+       _EnchantmentLevel = EnchantmentLevel;
        _isTaxIngredient = isTaxIngredient;
        _maintainIngredient = maintainIngredient;
@@ -80,5 +82,5 @@
    public final int getEnchantLevel()
    {
-       return _itemInfo != null ? _itemInfo.getEnchantLevel() : 0;
+            return _itemInfo == null?_EnchantmentLevel:_itemInfo.getEnchantLevel();
    }
    
Index: /trunk/L2C_TestGameserver/java/com/l2jserver/gameserver/datatables/MultiSell.java
===================================================================
--- /trunk/L2C_TestGameserver/java/com/l2jserver/gameserver/datatables/MultiSell.java (revision 52)
+++ /trunk/L2C_TestGameserver/java/com/l2jserver/gameserver/datatables/MultiSell.java (revision 71)
@@ -270,4 +270,8 @@
            if ("ingredient".equalsIgnoreCase(n.getNodeName()))
            {
+               int enchantmentLevel = 0;
+               if (n.getAttributes().getNamedItem("enchantmentLevel") != null)
+               enchantmentLevel = Integer.parseInt(n.getAttributes().getNamedItem("enchantmentLevel").getNodeValue());
+              
                int id = Integer.parseInt(n.getAttributes().getNamedItem("id").getNodeValue());
                long count = Long.parseLong(n.getAttributes().getNamedItem("count").getNodeValue());
@@ -286,12 +290,16 @@
                    mantainIngredient = false;
               
-               entry.addIngredient(new Ingredient(id, count, isTaxIngredient, mantainIngredient));
+               entry.addIngredient(new Ingredient(id, count, enchantmentLevel, isTaxIngredient, mantainIngredient));
            }
            else if ("production".equalsIgnoreCase(n.getNodeName()))
            {
+               int enchantmentLevel = 0;
+               if (n.getAttributes().getNamedItem("enchantmentLevel") != null)
+               enchantmentLevel = Integer.parseInt(n.getAttributes().getNamedItem("enchantmentLevel").getNodeValue());
+              
                int id = Integer.parseInt(n.getAttributes().getNamedItem("id").getNodeValue());
                long count = Long.parseLong(n.getAttributes().getNamedItem("count").getNodeValue());
               
-               entry.addProduct(new Ingredient(id, count, false, false));
+               entry.addProduct(new Ingredient(id, count, enchantmentLevel, false, false));
            }
        }

 

Datapack:

 

e.g:

<production id="15725" count="1" enchantmentLevel="16" />

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • most eggciting post in 2025 for sure!!!!
    • https://github.com/JulioPradoL2j/L2JDreamV2/commit/8f788b03c40404b72d7a321ef24e113f91a619ac     Descrição Este é um sistema de Reset de Personagem Personalizado criado para servidores L2J, inspirado em mecânicas clássicas de MMORPGs com foco em progressão PvP. Totalmente configurável via XML, este sistema permite criar um ciclo de evolução contínuo, recompensando jogadores que atingem o ápice com benefícios e novas metas.  Principais Funcionalidades Reset ativado ao atingir nível máximo, com requisitos de: Itens específicos Quantidade mínima de PvP Custo em moedas/itens Configuração via arquivo XML: Recompensas personalizáveis (itens, moedas, skills, etc) Redução de EXP ou retorno ao nível inicial Condições específicas para liberar o reset Sistema de Ranking: Rankings de Reset Diário e Mensal Premiação automática para os Top players Rankings reiniciam automaticamente no final do período Suporte a jogadores offline: Reset pode remover skills e aplicar recompensas direto no banco de dados Requisitos Técnicos Baseado em L2J DreamV2 / aCis 409 Compatível com bancos de dados MySQL Leitura de configuração via XML (resetData.xml)    Explicação das Configurações  Requisitos levelMax="80" → o jogador precisa atingir o nível 80. requiredPvps="0" → não exige PvP para resetar. expPenalty="0.8" → perde 20% da EXP total ao resetar. <item required="57-10000000;" /> → exige 10kk Adena.  Recompensas Recompensa fixa por reset: 57-15000 → 15k Adena 6392-3 → 3 unidades de item com ID 6392 Recompensa por skill (exemplo): 3135-4 (até nível 4) 3130-2 (até nível 2) 3131-10 (até nível 10)    Comandos para Administradores (Admin Commands) O sistema conta com comandos dedicados para encerrar manualmente os rankings de reset (diário ou mensal), forçando a distribuição imediata dos prêmios para os jogadores que se destacaram.  Comandos Disponíveis Comando Descrição //reset_end_daily Finaliza manualmente o ranking diário e distribui os prêmios configurados. //reset_end_monthly Finaliza manualmente o ranking mensal e distribui os prêmios configurados.   <?xml version="1.0" encoding="UTF-8"?> <list> <reset levelMax="80" requiredPvps="0" expPenalty="0.8"> <set rankingDisplayLimit="3" /> <set dailyPoints="2" /> <set monthlyPoints="1" /> <set removeResetSkills="true" /> <set logger="false" /> <requiredItems> <item required="57-10000000;" /> </requiredItems> <rewardItems> <item reward="57-15000;6392-3" skill="3135-4;3130-2;3131-10" /> </rewardItems> <prizes enable="true" type="DAILY" time="13:00"> <prize position="1" reward="57-15000;6392-3" /> <prize position="2" reward="57-10000;6392-2" /> <prize position="3" reward="57-5000;6392-1" /> </prizes> <prizes enable="true" type="MONTH" time="00:00"> <prize position="1" reward="57-15000;6392-3" /> <prize position="2" reward="57-10000;6392-2" /> <prize position="3" reward="57-5000;6392-1" /> </prizes> </reset> </list>  
    • This topic reminds me a bit of the old glory days! 😂 
    • Funny part is, i wouldnt make the effort of downvoting you if you weren't constantly sniping my profile to downvote me, and then when i downvote back you cry about it LOL
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock