I found a code for l2jserver (to see players inventory items and delete them) and I addapted it to L2jFrozen..So far so good, it's working perfectly but I cant figure out 1 line.
In-game i can use the commands and everything but I can't see the icons.I have installed Icon Parser for interlude but still..
Code:
/*
* Copyright (C) 2004-2014 L2J DataPack
*
* This file is part of L2J DataPack.
*
* L2J DataPack 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 3 of the License, or
* (at your option) any later version.
*
* L2J DataPack 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, see <http://www.gnu.org/licenses/>.
*/
package com.l2jfrozen.gameserver.handler.admincommandhandlers;
import com.l2jfrozen.gameserver.cache.HtmCache;
import com.l2jfrozen.gameserver.handler.IAdminCommandHandler;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.model.L2Character;
import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance;
import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jfrozen.gameserver.util.Util;
/**
* This class handles following admin commands:
* <ul>
* <li>show_ivetory</li>
* <li>delete_item</li>
* </ul>
* @author Zealar
*/
public class AdminInventory implements IAdminCommandHandler
{
private static final String[] ADMIN_COMMANDS =
{
"admin_show_inventory",
"admin_delete_item"
};
@Override
public boolean useAdminCommand(String command, L2PcInstance activeChar)
{
if ((activeChar.getTarget() == null))
{
activeChar.sendMessage("Select a target");
return false;
}
if (!(activeChar.getTarget() instanceof L2Character))
{
activeChar.sendMessage("Target need to be player");
return false;
}
L2PcInstance player = activeChar.getTarget().getActingPlayer();
if (command.startsWith(ADMIN_COMMANDS[0]))
{
if (command.length() > ADMIN_COMMANDS[0].length())
{
String com = command.substring(ADMIN_COMMANDS[0].length() + 1);
if (Util.isAlphaNumeric(com))
{
showItemsPage(activeChar, Integer.parseInt(com));
}
}
else
{
showItemsPage(activeChar, 0);
}
}
else if (command.contains(ADMIN_COMMANDS[1]))
{
String val = command.substring(ADMIN_COMMANDS[1].length() + 1);
player.destroyItem("GM Destroy", Integer.parseInt(val), player.getInventory().getItemByObjectId(Integer.parseInt(val)).getCount(), null, true);
showItemsPage(activeChar, 0);
}
return true;
}
private void showItemsPage(L2PcInstance activeChar, int page)
{
final L2PcInstance target = activeChar.getTarget().getActingPlayer();
final L2ItemInstance[] items = target.getInventory().getItems();
int maxItemsPerPage = 10;
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(itemsEnd);
adminReply.setFile(HtmCache.getInstance().getHtm("data/html/admin/inventory.htm"));
adminReply.replace("%PLAYER_NAME%", target.getName());
StringBuilder sbPages = new StringBuilder();
for (int x = 0; x < maxPages; x++)
{
int pagenr = x + 1;
sbPages.append("<td><button value=\"" + String.valueOf(pagenr) + "\" action=\"bypass -h admin_show_inventory " + String.valueOf(x) + "\" width=20 height=20 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></td>");
}
adminReply.replace("%PAGES%", sbPages.toString());
StringBuilder sbItems = new StringBuilder();
for (int i = itemsStart; i < itemsEnd; i++)
{
sbItems.append("<tr><td><img src=\"" + items[i].getItem().getIcon() + "\" width=32 height=32></td>");
sbItems.append("<td width=60>" + items[i].getName() + "</td>");
sbItems.append("<td><button action=\"bypass -h admin_delete_item " + String.valueOf(items[i].getObjectId()) + "\" width=16 height=16 back=\"L2UI_ct1.Button_DF_Delete\" fore=\"L2UI_ct1.Button_DF_Delete\">" + "</td></tr>");
}
adminReply.replace("%ITEMS%", sbItems.toString());
activeChar.sendPacket(adminReply);
}
@Override
public String[] getAdminCommandList()
{
return ADMIN_COMMANDS;
}
}
FIrst error is that i changed this : if (Util.isDigit(com)) to this : if (Util.isAlphaNumeric(com))
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.
Looking to hire a skilled L2J developer or team to build a custom private server for solo play with advanced server-side AI bots. This is NOT for public launch — just a self-hosted project where I can simulate a full L2 experience alone or with a few friends.
🔹 What I Need
A private L2J server ( High Five preferred, newer versions can work as well) with bots that:
Farm 24/7 on their own (solo or in bot parties)
Can be invited into party and follow basic orders (attack, follow, res, heal, etc.)
Are able to join Olympiad, fight with proper logic (per class), and rank up
Can coordinate for Raid Bosses (check spawn, move, assist, heal, DPS, etc.)
Act like real players: town routines, rebuffing, restocking, even chatting if possible
Have different roles: tanks, healers, nukers, archers, etc.
Can interact through simple in-game commands or NPC interface
🔹 Your Job
Set up the server and geodata
Integrate a scalable bot system (written in Java or scriptable)
Write clean, modular AI behavior (farming, PvP, party play, raid logic, etc.)
Allow me to control/assign bots easily (in-game or config)
Bonus: basic UI or GM panel for bot config
🔹 Payment
Serious budget for serious work
PayPal, crypto, or preferred method
Project-based or hourly, negotiable
Milestone-based OK
🔹 Contact
Send me:
Your experience with L2J or similar projects
Any bot/AI systems you've built before
Estimated timeframe
Pricing expectations
Yeah, it’s wild how much gambling has changed. When I was growing up, even scratch-off tickets felt like a big thing, but now with so many casino apps and betting sites, it’s just everywhere. I know a few people who got caught up in online slots during lockdown and really struggled to stop, just because it was always on their phone.
I stick to in-game stuff like skin trading for games like CS2 or Dota, which to me feels less risky, especially if you know the value of the items. If you’re curious how these trades work or want to see some guides, just visit website—there’s a lot of info about trading without real gambling involved.
Question
criss22
Hello guys,
I found a code for l2jserver (to see players inventory items and delete them) and I addapted it to L2jFrozen..So far so good, it's working perfectly but I cant figure out 1 line.
In-game i can use the commands and everything but I can't see the icons.I have installed Icon Parser for interlude but still..
Code:
FIrst error is that i changed this : if (Util.isDigit(com)) to this : if (Util.isAlphaNumeric(com))
And i can't see the number of items in inventory
And the other one is here,

Edited by criss2214 answers to this question
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.