- Joined
- Jun 6, 2008
- Messages
- 59
- Reaction score
- 3
Find this NPCConversationManager.java file
add this
Find this addbyId method
only replace
Character Found
Menu
if Equip, or Setup, or Cash Item Send, This Screen Shot
If Use, or Etc Item Send, This Screen Shot
If Send to Your Character
Koreans excel !!
Made By ReturnSSI(c92h23)
Thanks to BlackSSI / Leaf / KiraSSI
add this
Find this MapleInventoryManipulator.java filepublic boolean getConnetChar(String str) throws RemoteException {
return c.getChannelServer().getPlayerStorage().getCharacterByName(str) != null;
}
public void Chatnotice(String str, int type, String text) {
MapleCharacter chr = c.getChannelServer().getPlayerStorage().getCharacterByName(str);
chr.getClient().getSession().write(MaplePacketCreator.serverNotice(type, text));
}
public String getImageChar(byte mode, byte type, int sel) {
MapleInventory equip = c.getPlayer().getInventory(MapleInventoryType.getByType(mode));
if (equip.getItem((byte) type) != null && !(equip.getItem(type).getItemId() >= 2060000 && equip.getItem(type).getItemId() <= 2080000)) { // && equip.getItem(type).getQuantity() <= 100) {
return "#L"+sel+"##i"+equip.getItem((byte) (type)).getItemId()+"##l";
} else {
return "";
}
}
public String getImageChar(byte mode, byte type) {
MapleInventory equip = c.getPlayer().getInventory(MapleInventoryType.getByType(mode));
if (equip.getItem((byte) type) != null && !(equip.getItem(type).getItemId() >= 2060000 && equip.getItem(type).getItemId() <= 2080000)) { // && equip.getItem(type).getQuantity() <= 100) {
return "#i"+equip.getItem((byte) (type)).getItemId()+"#";
} else {
return "";
}
}
public String getQuaChar(byte mode, byte type) {
MapleInventory equip = c.getPlayer().getInventory(MapleInventoryType.getByType(mode));
if (equip.getItem((byte) type) != null && equip.getItem(type).getQuantity() <= 100) {
return equip.getItem((byte) (type)).getQuantity()+"";
} else if (equip.getItem((byte) type) != null && equip.getItem(type).getQuantity() > 100) {
return "100";
} else {
return "";
}
}
public String getInvenChar(byte mode, byte type) {
MapleInventory equip = c.getPlayer().getInventory(MapleInventoryType.getByType(mode));
if (equip.getItem((byte) type) != null) {
return equip.getItem((byte) (type)).getItemId()+"";
} else {
return "";
}
}
public void gainItem(String str, byte mode, int id, short quantity) {
MapleCharacter chr = c.getChannelServer().getPlayerStorage().getCharacterByName(str);
StringBuilder logInfo = new StringBuilder(chr.getName());
logInfo.append(" received ");
logInfo.append(quantity);
logInfo.append(" from a scripted PlayerInteraction (");
logInfo.append(this.toString());
logInfo.append(")");
MapleInventoryManipulator.addById(c, chr.getName(), id, quantity, logInfo.toString());
chr.getClient().getSession().write(MaplePacketCreator.getShowItemGain(id,quantity, true));
}
public boolean getInvenFull(String str, byte type) {
MapleCharacter chr = c.getChannelServer().getPlayerStorage().getCharacterByName(str);
return chr.getInventory(MapleInventoryType.getByType(type)).isFull();
}
public String getName() {
return getPlayer().getName();
}
Find this addbyId method
only replace
download this 9010009.jspublic static boolean addById(MapleClient c, int itemId, short quantity, String logInfo) {
return addById(c, itemId, quantity, logInfo, null);
}
public static boolean addById(MapleClient c, String str, int itemId, short quantity, String logInfo) {
return addById(c, str, itemId, quantity, logInfo, null);
}
public static boolean addById(MapleClient c, String str, int itemId, short quantity, String logInfo, String owner) {
return addById(c, str, itemId, quantity, logInfo, owner, -1);
}
public static boolean addById(MapleClient c, int itemId, short quantity, String logInfo, String owner) {
return addById(c, c.getPlayer().getName(), itemId, quantity, logInfo, owner, -1);
}
public static boolean addById(MapleClient c, int itemId, short quantity, String logInfo, String owner, int petid) {
return addById(c, c.getPlayer().getName(), itemId, quantity, logInfo, owner, -1);
}
public static boolean addById(MapleClient c, String str, int itemId, short quantity, String logInfo, String owner, int petid) {
MapleCharacter chr = c.getChannelServer().getPlayerStorage().getCharacterByName(str);
MapleItemInformationProvider ii = MapleItemInformationProvider.getInstance();
MapleInventoryType type = ii.getInventoryType(itemId);
if (!type.equals(MapleInventoryType.EQUIP)) {
short slotMax = ii.getSlotMax(itemId);
List<IItem> existing = chr.getInventory(type).listById(itemId);
if (!ii.isThrowingStar(itemId) && !ii.isBullet(itemId)) {
if (existing.size() > 0) { // first update all existing slots to slotMax
Iterator<IItem> i = existing.iterator();
while (quantity > 0) {
if (i.hasNext()) {
Item eItem = (Item) i.next();
short oldQ = eItem.getQuantity();
if (oldQ < slotMax && (eItem.getOwner().equals(owner) || owner == null)) {
short newQ = (short) Math.min(oldQ + quantity, slotMax);
quantity -= (newQ - oldQ);
eItem.setQuantity(newQ);
StringBuilder logMsg = new StringBuilder("Added ");
logMsg.append(newQ - oldQ);
logMsg.append(" items to stack, new quantity is ");
logMsg.append(newQ);
logMsg.append(" (");
logMsg.append(logInfo);
logMsg.append(" )");
eItem.log(logMsg.toString(),false);
chr.getClient().getSession().write(MaplePacketCreator.updateInventorySlot(type, eItem));
}
} else
break;
}
}
}
// add new slots if there is still something left
while (quantity > 0 || ii.isThrowingStar(itemId) || ii.isBullet(itemId)) {
short newQ = (short) Math.min(quantity, slotMax);
quantity -= newQ;
Item nItem = new Item(itemId, (byte) 0, newQ, petid);
StringBuilder logMsg = new StringBuilder("Created while adding by id. Quantity ");
logMsg.append(newQ);
logMsg.append(" (");
logMsg.append(logInfo);
logMsg.append(" )");
nItem.log(logMsg.toString(),false);
byte newSlot = chr.getInventory(type).addItem(nItem);
if (newSlot == -1) {
chr.getClient().getSession().write(MaplePacketCreator.getInventoryFull());
chr.getClient().getSession().write(MaplePacketCreator.getShowInventoryFull());
return false;
}
if (owner != null) {
nItem.setOwner(owner);
}
chr.getClient().getSession().write(MaplePacketCreator.addInventorySlot(type, nItem));
if ((ii.isThrowingStar(itemId) || ii.isBullet(itemId)) && quantity == 0) break;
}
} else {
if (quantity == 1) {
IItem nEquip = ii.getEquipById(itemId);
StringBuilder logMsg = new StringBuilder("Created while adding by id. (");
logMsg.append(logInfo);
logMsg.append(" )");
nEquip.log(logMsg.toString(),false);
if (owner != null) {
nEquip.setOwner(owner);
}
byte newSlot = chr.getInventory(type).addItem(nEquip);
if (newSlot == -1) {
chr.getClient().getSession().write(MaplePacketCreator.getInventoryFull());
chr.getClient().getSession().write(MaplePacketCreator.getShowInventoryFull());
return false;
}
chr.getClient().getSession().write(MaplePacketCreator.addInventorySlot(type, nEquip));
} else {
throw new InventoryException("Trying to create equip with non-one quantity");
}
}
return true;
}
To view the content, you need to sign in or register
Character Found
Menu
if Equip, or Setup, or Cash Item Send, This Screen Shot
If Use, or Etc Item Send, This Screen Shot
If Send to Your Character
Koreans excel !!
Made By ReturnSSI(c92h23)
Thanks to BlackSSI / Leaf / KiraSSI

