Autor Tema: ayuda NpcShop x Coin Tradeable Mas Limite de Adena  (Leído 288 veces)

Redzer0 y 2 Visitantes están viendo este tema.

Conectado pinky

  • Grado C
  • *
  • Mensajes: 128
  • ar
  • Agradecimientos: 1
  • lo bueno de la vida es difrutar cada monento
  • Cronica: : L2 INterlude
  • Revision: 1132
  • S.O: Windows 10
  • Serverpack : L2jFrozen
ayuda NpcShop x Coin Tradeable Mas Limite de Adena
« on: Marzo 06, 2021, 03:26:40 pm »
como dice el titulo ayuda con fix en el gmsho. adena x coin para ponerle un limite a la adena y no queme la coin
Gracias  :rock:
« Última Modificación: Abril 04, 2021, 09:00:34 am por pinky »

Desconectado Huesitos

  • Grado A
  • *
  • Mensajes: 474
  • ve
  • Agradecimientos: 177
  • Cronica: : C6
  • Revision: 400
  • S.O: Windows 10
  • Serverpack : aCis
Re:ayuda NpcShop x Coin Tradeable Mas Limite de Adena
« Respuesta #1 on: Marzo 06, 2021, 07:37:13 pm »
como dice el titulo ayuda con fix en el gmsho. adena x coin para ponerle un limite a la adena y se queme la coin
Gracias  :rock:

No entiendo :/
No me duelen los actos de la gente MALA, me duele la indiferencia de la gente BUENA.

- Martin Luther King.

Conectado pinky

  • Grado C
  • *
  • Mensajes: 128
  • ar
  • Agradecimientos: 1
  • lo bueno de la vida es difrutar cada monento
  • Cronica: : L2 INterlude
  • Revision: 1132
  • S.O: Windows 10
  • Serverpack : L2jFrozen
Re:ayuda NpcShop x Coin Tradeable Mas Limite de Adena
« Respuesta #2 on: Marzo 06, 2021, 09:07:53 pm »
Huesito que la coin cuando pones intercanbiar por adena en el gmshop no explote si esta full adena
tengo la coin y la quiero canbiar por sierta cantida de adena en el gmshop  no quiero que se ronpa la coin si tengo el inventario lleno de adena  osea teng full adena es una teoria y quiero canbiar 1 coin por error explota la coin solo quiero que diga inventario lleno de adena
« Última Modificación: Marzo 06, 2021, 09:10:31 pm por pinky »

Desconectado NarRayya

  • Grado B
  • *
  • Mensajes: 216
  • ar
  • Agradecimientos: 16
  • S.O: Linux Fedora
Re:ayuda NpcShop x Coin Tradeable Mas Limite de Adena
« Respuesta #3 on: Marzo 06, 2021, 10:48:24 pm »
es que normalmente te diria que tu inventario esta lleno
y si es un item custom
mas que fotos del juego deberias postear la info del item que tenes en tu server pack
lo raro es la adena x el limite y si desaparece la moneda sin darte la adena
es algo de tu server pack

Conectado pinky

  • Grado C
  • *
  • Mensajes: 128
  • ar
  • Agradecimientos: 1
  • lo bueno de la vida es difrutar cada monento
  • Cronica: : L2 INterlude
  • Revision: 1132
  • S.O: Windows 10
  • Serverpack : L2jFrozen
Re:ayuda NpcShop x Coin Tradeable Mas Limite de Adena
« Respuesta #4 on: Marzo 07, 2021, 01:14:13 pm »
aca de jo info sobre el iten custon
en el navicat
Código: [Seleccionar]
9401 Gold Adena false material 0 stackable none -1 10000000 0 true true true true Farming Item noneen el item name
Código: [Seleccionar]
9401 Gold Adena a, -1 a, a, a, a, 0 0 0 a,
9
en el  etcitemgrp
Código: [Seleccionar]
2 9401 0 3 2 5 0 dropitems.drop_sack_m00 dropitems.drop_sack_m00 icon.etc_coin_of_fair_i00 0 0 18 0 0 1 1 ItemSound.itemdrop_sack 2 0 0
en el multiselll
Código: [Seleccionar]
<item id="2">
 <!-- coin x adena -->
<ingredient id="57" count="10000000"/>
<production id="9401" count="1"/>
</item>

 <item id="3">
 <!-- Adena x coin -->
<ingredient id="9401" count="1"/>
<production id="57" count="10000000"/>
</item>
</list>

Desconectado NarRayya

  • Grado B
  • *
  • Mensajes: 216
  • ar
  • Agradecimientos: 16
  • S.O: Linux Fedora
Re:ayuda NpcShop x Coin Tradeable Mas Limite de Adena
« Respuesta #5 on: Marzo 07, 2021, 05:54:52 pm »
Uhmm por que estas usando como norma ingrediente y produccion cuando solamente es un trade / exchange
me parece que ahi tenes el asunto

Conectado pinky

  • Grado C
  • *
  • Mensajes: 128
  • ar
  • Agradecimientos: 1
  • lo bueno de la vida es difrutar cada monento
  • Cronica: : L2 INterlude
  • Revision: 1132
  • S.O: Windows 10
  • Serverpack : L2jFrozen
Re:ayuda NpcShop x Coin Tradeable Mas Limite de Adena
« Respuesta #6 on: Marzo 07, 2021, 07:16:06 pm »
hola Narayaa me podrias ayudar un poco mas como tendria que poner bien seria el multisell el que tendria que canbiar no
que tendria que canbiar disculpa pero no se como desveria canbiar para que este bien el codigo gracias por la ayuda

Desconectado NarRayya

  • Grado B
  • *
  • Mensajes: 216
  • ar
  • Agradecimientos: 16
  • S.O: Linux Fedora
Re:ayuda NpcShop x Coin Tradeable Mas Limite de Adena
« Respuesta #7 on: Marzo 07, 2021, 08:01:05 pm »
no entiendo muy bien a veces el manejo de algunos pack de java
en tu caso si es frozen usan ese metodo de ingrediente y produccion que a mi pensar son normas de craft
estaba viendo la lista de fix que tienen publicado lo owners del proyecto

http://www.l2jfrozen.com/status/

nose si tu pack esta desactualizado

ayudar te puedo ayudar pero con cosas asi como packs de java ya sea acis o frozen nunca use

Siempre tuve jserver y pack rusos

Voy a ver si encuentro x ahi mas info

Saludos

Conectado pinky

  • Grado C
  • *
  • Mensajes: 128
  • ar
  • Agradecimientos: 1
  • lo bueno de la vida es difrutar cada monento
  • Cronica: : L2 INterlude
  • Revision: 1132
  • S.O: Windows 10
  • Serverpack : L2jFrozen
Re:ayuda NpcShop x Coin Tradeable Mas Limite de Adena
« Respuesta #8 on: Marzo 07, 2021, 08:06:39 pm »
uso fronzen 1132 dale gracias si encontras algo

Desconectado tutankamon

  • Grado D
  • *
  • Mensajes: 79
  • es
  • Agradecimientos: 36
  • Only God Can Touch Me
  • Cronica: : Interlude
  • Revision: Acis366
  • S.O: Linux Ubuntu
  • Serverpack : Acis
Re:ayuda NpcShop x Coin Tradeable Mas Limite de Adena
« Respuesta #9 on: Marzo 08, 2021, 10:13:30 am »
Tienes que tener acceso al source, si lo tienes, tendrás que armarle un fix, busca en los archivos encargados de Multisell, y condicionar el call para que cuando un item count va a sobrepasar el limite de int, que salga el aviso de inventario full como querías y listo, en este momento no tengo ningún source de frozen a mano para poder guiarte exactamente a donde, supongo que con las indicaciones que te hice sera suficiente para orientarte.
Te gusta L2? Niñato!
No tienes porque hacer el ridículo publicando tus servidores mediocres.
Dedícate al porno, aquí ya por favor NO.

Conectado pinky

  • Grado C
  • *
  • Mensajes: 128
  • ar
  • Agradecimientos: 1
  • lo bueno de la vida es difrutar cada monento
  • Cronica: : L2 INterlude
  • Revision: 1132
  • S.O: Windows 10
  • Serverpack : L2jFrozen
Re:ayuda NpcShop x Coin Tradeable Mas Limite de Adena
« Respuesta #10 on: Marzo 08, 2021, 06:58:12 pm »
bueno desde ya gracias tutankamon ,. si algien me pasa una guia como crear mis propios fix les agradesco asi aprendo algo de programacion dejo el codigo de multisell
Código: [Seleccionar]
/* L2jFrozen Project - www.l2jfrozen.com
 *
 * 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 2, 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, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 * 02111-1307, USA.
 *
 * http://www.gnu.org/copyleft/gpl.html
 */
package com.l2jfrozen.gameserver.model.multisell;

import java.io.File;
import java.util.List;

import javax.xml.parsers.DocumentBuilderFactory;

import javolution.util.FastList;

import org.apache.log4j.Logger;
import org.w3c.dom.Document;
import org.w3c.dom.Node;

import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.datatables.sql.ItemTable;
import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.network.serverpackets.MultiSellList;
import com.l2jfrozen.gameserver.templates.L2Armor;
import com.l2jfrozen.gameserver.templates.L2Item;
import com.l2jfrozen.gameserver.templates.L2Weapon;

/**
 * Multisell list manager
 * @author programmos
 */
public class L2Multisell
{
private static Logger LOGGER = Logger.getLogger(L2Multisell.class);
private final List<MultiSellListContainer> _entries = new FastList<>();
private static L2Multisell _instance;/* = new L2Multisell(); */

public MultiSellListContainer getList(final int id)
{
synchronized (_entries)
{
for (final MultiSellListContainer list : _entries)
{
if (list.getListId() == id)
return list;
}
}

LOGGER.warn("[L2Multisell] can't find list with id: " + id);
return null;
}

private L2Multisell()
{
parseData();
}

public void reload()
{
parseData();
}

public static L2Multisell getInstance()
{
if (_instance == null)
_instance = new L2Multisell();
return _instance;
}

private void parseData()
{
_entries.clear();
parse();
}

/**
* This will generate the multisell list for the items. There exist various parameters in multisells that affect the way they will appear: 1) inventory only: * if true, only show items of the multisell for which the "primary" ingredients are already in the player's inventory. By "primary"
* ingredients we mean weapon and armor. * if false, show the entire list. 2) maintain enchantment: presumably, only lists with "inventory only" set to true should sometimes have this as true. This makes no sense otherwise... * If true, then the product will match the enchantment level of the
* ingredient. if the player has multiple items that match the ingredient list but the enchantment levels differ, then the entries need to be duplicated to show the products and ingredients for each enchantment level. For example: If the player has a crystal staff +1 and a crystal staff +3 and
* goes to exchange it at the mammon, the list should have all exchange possibilities for the +1 staff, followed by all possibilities for the +3 staff. * If false, then any level ingredient will be considered equal and product will always be at +0 3) apply taxes: Uses the "taxIngredient" entry
* in order to add a certain amount of adena to the ingredients
* @param listId
* @param inventoryOnly
* @param player
* @param taxRate
* @return
*/
private MultiSellListContainer generateMultiSell(final int listId, final boolean inventoryOnly, final L2PcInstance player, final double taxRate)
{
MultiSellListContainer listTemplate = L2Multisell.getInstance().getList(listId);
MultiSellListContainer list = new MultiSellListContainer();

if (listTemplate == null)
return list;

list = new MultiSellListContainer();
list.setListId(listId);

if (inventoryOnly)
{
if (player == null)
return list;

L2ItemInstance[] items;

if (listTemplate.getMaintainEnchantment())
{
items = player.getInventory().getUniqueItemsByEnchantLevel(false, false, false, true);
}
else
{
items = player.getInventory().getUniqueItems(false, false, false, true);
}

int enchantLevel;
for (final L2ItemInstance item : items)
{
// only do the matchup on equipable items that are not currently equipped
// so for each appropriate item, produce a set of entries for the multisell list.
if (!item.isWear() && (item.getItem() instanceof L2Armor || item.getItem() instanceof L2Weapon))
{
enchantLevel = listTemplate.getMaintainEnchantment() ? item.getEnchantLevel() : 0;
// loop through the entries to see which ones we wish to include
for (final MultiSellEntry ent : listTemplate.getEntries())
{
boolean doInclude = false;

// check ingredients of this entry to see if it's an entry we'd like to include.
for (final MultiSellIngredient ing : ent.getIngredients())
{
if (item.getItemId() == ing.getItemId())
{
doInclude = true;
break;
}
}

// manipulate the ingredients of the template entry for this particular instance shown
// i.e: Assign enchant levels and/or apply taxes as needed.
if (doInclude)
{
list.addEntry(prepareEntry(ent, listTemplate.getApplyTaxes(), listTemplate.getMaintainEnchantment(), enchantLevel, taxRate));
}
}
}
} // end for each inventory item.

items = null;
} // end if "inventory-only"
else
// this is a list-all type
{
// if no taxes are applied, no modifications are needed
for (final MultiSellEntry ent : listTemplate.getEntries())
{
list.addEntry(prepareEntry(ent, listTemplate.getApplyTaxes(), false, 0, taxRate));
}
}

listTemplate = null;

return list;
}

// Regarding taxation, the following is the case:
// a) The taxes come out purely from the adena TaxIngredient
// b) If the entry has no adena ingredients other than the taxIngredient, the resulting
// amount of adena is appended to the entry
// c) If the entry already has adena as an entry, the taxIngredient is used in order to increase
// the count for the existing adena ingredient
private MultiSellEntry prepareEntry(final MultiSellEntry templateEntry, final boolean applyTaxes, final boolean maintainEnchantment, final int enchantLevel, final double taxRate)
{
final MultiSellEntry newEntry = new MultiSellEntry();
newEntry.setEntryId(templateEntry.getEntryId() * 100000 + enchantLevel);

int adenaAmount = 0;

for (final MultiSellIngredient ing : templateEntry.getIngredients())
{
// load the ingredient from the template
MultiSellIngredient newIngredient = new MultiSellIngredient(ing);

// if taxes are to be applied, modify/add the adena count based on the template adena/ancient adena count
if (ing.getItemId() == 57 && ing.isTaxIngredient())
{
if (applyTaxes)
{
adenaAmount += (int) Math.round(ing.getItemCount() * taxRate);
}
continue; // do not adena yet, as non-taxIngredient adena entries might occur next (order not guaranteed)
}
else if (ing.getItemId() == 57) // && !ing.isTaxIngredient()
{
adenaAmount += ing.getItemCount();
continue; // do not adena yet, as taxIngredient adena entries might occur next (order not guaranteed)
}
// if it is an armor/weapon, modify the enchantment level appropriately, if necessary
else if (maintainEnchantment)
{
L2Item tempItem = ItemTable.getInstance().createDummyItem(ing.getItemId()).getItem();
if (tempItem instanceof L2Armor || tempItem instanceof L2Weapon)
{
newIngredient.setEnchantmentLevel(enchantLevel);
}

tempItem = null;
}

// finally, add this ingredient to the entry
newEntry.addIngredient(newIngredient);
newIngredient = null;
}

// now add the adena, if any.
if (adenaAmount > 0)
{
newEntry.addIngredient(new MultiSellIngredient(57, adenaAmount, 0, false, false));
}

// Now modify the enchantment level of products, if necessary
for (final MultiSellIngredient ing : templateEntry.getProducts())
{
// load the ingredient from the template
MultiSellIngredient newIngredient = new MultiSellIngredient(ing);

if (maintainEnchantment)
{
// if it is an armor/weapon, modify the enchantment level appropriately
// (note, if maintain enchantment is "false" this modification will result to a +0)
final L2Item tempItem = ItemTable.getInstance().createDummyItem(ing.getItemId()).getItem();

if (tempItem instanceof L2Armor || tempItem instanceof L2Weapon)
{
newIngredient.setEnchantmentLevel(enchantLevel);
}
}

newEntry.addProduct(newIngredient);
newIngredient = null;
}

return newEntry;
}

public void SeparateAndSend(final int listId, final L2PcInstance player, final boolean inventoryOnly, final double taxRate)
{
MultiSellListContainer list = generateMultiSell(listId, inventoryOnly, player, taxRate);
MultiSellListContainer temp = new MultiSellListContainer();

int page = 1;

temp.setListId(list.getListId());

for (final MultiSellEntry e : list.getEntries())
{
if (temp.getEntries().size() == 40)
{
player.sendPacket(new MultiSellList(temp, page, 0));
page++;
temp = new MultiSellListContainer();
temp.setListId(list.getListId());
}

temp.addEntry(e);
}

player.setMultiSellId(listId);

player.sendPacket(new MultiSellList(temp, page, 1));

list = null;
temp = null;
}

private void hashFiles(final String dirname, final List<File> hash)
{
final File dir = new File(Config.DATAPACK_ROOT, "data/" + dirname);

if (!dir.exists())
{
LOGGER.warn("Dir " + dir.getAbsolutePath() + " not exists");
return;
}

final File[] files = dir.listFiles();

for (final File f : files)
{
if (f.getName().endsWith(".xml"))
{
hash.add(f);
}
}

}

private void parse()
{
Document doc = null;

int id = 0;

List<File> files = new FastList<>();
hashFiles("multisell", files);

for (final File f : files)
{
id = Integer.parseInt(f.getName().replaceAll(".xml", ""));
try
{

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setValidating(false);
factory.setIgnoringComments(true);
doc = factory.newDocumentBuilder().parse(f);
factory = null;
}
catch (final Exception e)
{
if (Config.ENABLE_ALL_EXCEPTIONS)
e.printStackTrace();

LOGGER.error("Error loading file " + f, e);
}
try
{
MultiSellListContainer list = parseDocument(doc);
list.setListId(id);

updateReferencePrice(list);

_entries.add(list);
list = null;
}
catch (final Exception e)
{
if (Config.ENABLE_ALL_EXCEPTIONS)
e.printStackTrace();

LOGGER.error("Error in file " + f, e);
}
}

files = null;
doc = null;
}

protected MultiSellListContainer parseDocument(final Document doc)
{
final MultiSellListContainer list = new MultiSellListContainer();

for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
{
if ("list".equalsIgnoreCase(n.getNodeName()))
{
Node attribute;
attribute = n.getAttributes().getNamedItem("applyTaxes");

if (attribute == null)
{
list.setApplyTaxes(false);
}
else
{
list.setApplyTaxes(Boolean.parseBoolean(attribute.getNodeValue()));
}

attribute = n.getAttributes().getNamedItem("maintainEnchantment");

if (attribute == null)
{
list.setMaintainEnchantment(false);
}
else
{
list.setMaintainEnchantment(Boolean.parseBoolean(attribute.getNodeValue()));
}

for (Node d = n.getFirstChild(); d != null; d = d.getNextSibling())
{
if ("item".equalsIgnoreCase(d.getNodeName()))
{
final MultiSellEntry e = parseEntry(d);
list.addEntry(e);
}
}

attribute = null;
}
else if ("item".equalsIgnoreCase(n.getNodeName()))
{
final MultiSellEntry e = parseEntry(n);
list.addEntry(e);
}
}

return list;
}

protected MultiSellEntry parseEntry(Node n)
{
final int entryId = Integer.parseInt(n.getAttributes().getNamedItem("id").getNodeValue());

Node first = n.getFirstChild();
final MultiSellEntry entry = new MultiSellEntry();

for (n = first; n != null; n = n.getNextSibling())
{
if ("ingredient".equalsIgnoreCase(n.getNodeName()))
{
Node attribute;

final int id = Integer.parseInt(n.getAttributes().getNamedItem("id").getNodeValue());
final int count = Integer.parseInt(n.getAttributes().getNamedItem("count").getNodeValue());

boolean isTaxIngredient = false, mantainIngredient = false;

attribute = n.getAttributes().getNamedItem("isTaxIngredient");

if (attribute != null)
{
isTaxIngredient = Boolean.parseBoolean(attribute.getNodeValue());
}

attribute = n.getAttributes().getNamedItem("mantainIngredient");

if (attribute != null)
{
mantainIngredient = Boolean.parseBoolean(attribute.getNodeValue());
}

MultiSellIngredient e = new MultiSellIngredient(id, count, isTaxIngredient, mantainIngredient);
entry.addIngredient(e);
e = null;
attribute = null;
}
else if ("production".equalsIgnoreCase(n.getNodeName()))
{
final int id = Integer.parseInt(n.getAttributes().getNamedItem("id").getNodeValue());
final int count = Integer.parseInt(n.getAttributes().getNamedItem("count").getNodeValue());
int enchant = 0;
// By Azagthtot support enchantment in multisell
if (n.getAttributes().getNamedItem("enchant") != null)
{
enchant = Integer.parseInt(n.getAttributes().getNamedItem("enchant").getNodeValue());
}
MultiSellIngredient e = new MultiSellIngredient(id, count, enchant, false, false);
entry.addProduct(e);
e = null;
}
}

entry.setEntryId(entryId);

first = null;

return entry;
}

/**
* This method checks and update the container to avoid possible items buy/sell duplication. Currently support ADENA check.
* @param container
*/
private void updateReferencePrice(final MultiSellListContainer container)
{

for (final MultiSellEntry entry : container.getEntries())
{

// if ingredient is just 1 and is adena
if (entry.getIngredients().size() == 1 && entry.getIngredients().get(0).getItemId() == 57)
{

// the buy price must necessarily higher then total reference item price / 2 that is the default sell price

int totalProductReferencePrice = 0;
for (final MultiSellIngredient product : entry.getProducts())
{

totalProductReferencePrice += (ItemTable.getInstance().getTemplate(product.getItemId()).getReferencePrice() * product.getItemCount());

}

if (entry.getIngredients().get(0).getItemCount() < (totalProductReferencePrice / 2))
{

LOGGER.warn("Multisell " + container.getListId() + " entryId  " + entry.getEntryId() + " has an ADENA price less then total products reference price.. Automatically Updating it..");
entry.getIngredients().get(0).setItemCount(totalProductReferencePrice);

}

}

}

}

}

Conectado pinky

  • Grado C
  • *
  • Mensajes: 128
  • ar
  • Agradecimientos: 1
  • lo bueno de la vida es difrutar cada monento
  • Cronica: : L2 INterlude
  • Revision: 1132
  • S.O: Windows 10
  • Serverpack : L2jFrozen
Re:ayuda NpcShop x Coin Tradeable Mas Limite de Adena
« Respuesta #11 on: Abril 04, 2021, 08:59:14 am »
hola no pude lograr crear este codigo no encontre nada
 condicionar el call para que cuando un item count va a sobrepasar el limite de int, que salga el aviso de inventario full
quien me ayudaria hay alguna solucion para aprender a programar sin leer te la vida
solo necesito el codigo donde lo puedo adquirir alguna pagina de programadores que ayude

Conectado pinky

  • Grado C
  • *
  • Mensajes: 128
  • ar
  • Agradecimientos: 1
  • lo bueno de la vida es difrutar cada monento
  • Cronica: : L2 INterlude
  • Revision: 1132
  • S.O: Windows 10
  • Serverpack : L2jFrozen
Re:ayuda NpcShop x Coin Tradeable Mas Limite de Adena
« Respuesta #12 on: Abril 04, 2021, 08:59:57 am »
como dice el titulo ayuda con fix en el gmsho. adena x coin para ponerle un limite a la adena y no queme la coin
Gracias  :rock:

Conectado Fissban

  • AdminSite
  • *
  • Mensajes: 5779
  • ar
  • Agradecimientos: 1724
    • Mis Proyectos
  • Cronica: : Scions of Destiny
  • Revision: Last
  • S.O: Windows 10
  • Serverpack : L2jAdmins
Re:ayuda NpcShop x Coin Tradeable Mas Limite de Adena
« Respuesta #13 on: Abril 04, 2021, 03:08:33 pm »
Bueno vamos a ir por parte.

Lo ideal es tratar un tema por post y cuando creamos un post debemos aportar la mayor cantidad de informacion posible para evitar crear 20 publicaciones pidiendote informacion y que el que quiera ayudarte no se tenga q leer 21 publicaciones, asique te encargo crear un mejor post la proxima vez.

Bien, vamos a lo pertinente.

Cuando hablamos de multisell tenemos 2 partes, ingredientes y productos.
Siendo ingrediente el requisito para poder comprar el producto, como por default el juego no esta preparado para vender adena en un multisell falta esto que vos buscas, como lo solucionamos?

En L2Multisell.java es donde se leen los xml y se guarda la informacion de estos pero no es donde se ejecuta la accion de 'comprar' para ello debemos ir al paquete 'MultiSellChoose.java'.

Estudialo un poco y vemos como avanzamos

Conectado pinky

  • Grado C
  • *
  • Mensajes: 128
  • ar
  • Agradecimientos: 1
  • lo bueno de la vida es difrutar cada monento
  • Cronica: : L2 INterlude
  • Revision: 1132
  • S.O: Windows 10
  • Serverpack : L2jFrozen
Re:ayuda NpcShop x Coin Tradeable Mas Limite de Adena
« Respuesta #14 on: Abril 19, 2021, 08:34:05 pm »
hola fissban buenas noches lo encontre al mulltisell que desis lo unico que no entiendo como crear un codigo para limitar la coin intente entenderlo no pude entender como limitar la coin