Quote:
public 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
Quote:
public 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;
}
download this 9010009.js