Jump to content

Official Spam Topic


Maxtor

Recommended Posts

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
Reply to this topic...

×   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

    • well i didnt used to had that issue u reffering , u can always lower the page value that would show on each page . keep in mind it was taken  from h5 that it can handle more html length than interlude .   package handlers.admincommandhandlers; import org.l2jmobius.gameserver.handler.IAdminCommandHandler; import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.network.SystemMessageId; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; import org.l2jmobius.gameserver.util.Util; public class AdminInventory implements IAdminCommandHandler { private static final String[] ADMIN_COMMANDS = { "admin_showinv", "admin_delete_item" }; @Override public boolean useAdminCommand(String command, Player activeChar) { WorldObject target = activeChar.getTarget(); if (target == null || !target.isPlayer()) { activeChar.sendPacket(SystemMessageId.INVALID_TARGET); return false; } if (command.startsWith(ADMIN_COMMANDS[0])) { if (command.length() > ADMIN_COMMANDS[0].length()) { String com = command.substring(ADMIN_COMMANDS[0].length() + 1); if (Util.isDigit(com)) { showItemsPage(activeChar, Integer.parseInt(com)); } } else { showItemsPage(activeChar, 0); } } int count = 1; if (command.contains(ADMIN_COMMANDS[1])) { String[] parts = command.split(" "); if (parts.length == 3) { try { count = Integer.parseInt(parts[2]); } catch (NumberFormatException e) { activeChar.sendMessage("Invalid quantity format."); return false; } } if (count == 0) { activeChar.sendMessage("Quantity must be 1 or above, or left blank for default."); showItemsPage(activeChar, 0); return false; } String val = parts[1]; target.getActingPlayer().destroyItem("GM Destroy", Integer.parseInt(val), count, null, true); showItemsPage(activeChar, 0); } return true; } private void showItemsPage(Player activeChar, int page) { final WorldObject target = activeChar.getTarget(); final Player player = target.getActingPlayer(); final Item[] items = player.getInventory().getItems().toArray(new Item[0]); int maxItemsPerPage = 13; int maxPages = items.length / maxItemsPerPage; if (items.length > (maxItemsPerPage * maxPages)) { maxPages++; } if (page > maxPages) { page = maxPages; } int itemsStart = maxItemsPerPage * page; int itemsEnd = items.length; if ((itemsEnd - itemsStart) > maxItemsPerPage) { itemsEnd = itemsStart + maxItemsPerPage; } final NpcHtmlMessage adminReply = new NpcHtmlMessage(0); adminReply.setFile(activeChar, "data/html/admin/inventory.htm"); adminReply.replace("%PLAYER_NAME%", activeChar.getName()); StringBuilder sbPages = new StringBuilder(); for (int x = 0; x < maxPages; x++) { int pagenr = x + 1; sbPages.append("<td><button value=\"" + pagenr + "\" action=\"bypass -h admin_showinv " + x + "\" width=20 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>"); } adminReply.replace("%PAGES%", sbPages.toString()); StringBuilder sbItems = getStringBuilder(itemsStart, itemsEnd, items); adminReply.replace("%ITEMS%", sbItems.toString()); activeChar.sendPacket(adminReply); } private static StringBuilder getStringBuilder(int itemsStart, int itemsEnd, Item[] items) { StringBuilder sbItems = new StringBuilder(); sbItems.append("<table width=270>"); sbItems.append("<tr>"); sbItems.append("<td width=24><b> </b></td>"); sbItems.append("<td width=120><b> </b></td>"); sbItems.append("<td width=90><b>Count</b></td>"); sbItems.append("<td width=65><b>Quantity</b></td>"); sbItems.append("</tr>"); for (int i = itemsStart; i < itemsEnd; i++) { Item item = items[i]; sbItems.append("<tr>"); sbItems.append("<td><img src=").append(item.getTemplate().getIcon()).append(" width=24 height=24></td>"); sbItems.append("<td>").append(item.getName()).append("</td>"); sbItems.append("<td>").append(item.getCount()).append("</td>"); sbItems.append("<td>"); sbItems.append("<edit var=\"itemCount_").append(i).append("\" width=40>"); sbItems.append("</td>"); sbItems.append("<td><button action=\"bypass -h admin_delete_item ").append(item.getObjectId()).append(" $itemCount_").append(i).append("\" width=16 height=16 back=\"L2UI_ct1.Button_DF_Delete\" fore=\"L2UI_ct1.Button_DF_Delete\"></button></td>"); sbItems.append("</tr>"); } sbItems.append("</table>"); return sbItems; } @Override public String[] getAdminCommandList() { return ADMIN_COMMANDS; } } Since i did jumped to mobius here the mobius one with quantity field aswell .  feel free to adapt it back to acis or wherever    <html><body><title>Inventory : %PLAYER_NAME%</title> <center> <table width=270> <tr> %PAGES% </tr> </table> </center> <br> %ITEMS% </body> </html>
    • ~ DISCORD SERVER: 2MVCtXHvbH  DISCORD SERVER: 2MVCtXHvbH
  • Topics

×
×
  • Create New...