Thalion Posted June 15, 2013 Share Posted June 15, 2013 Hello averyone! I want to edit an Admin command (//create_item). The problem is that only create items to me. I need that this commando be able to create the items to the target too. Thank you! Link to comment Share on other sites More sharing options...
0 xdem Posted June 17, 2013 Share Posted June 17, 2013 Okey, thanks for answer but considering that its doing nothing why is there? Maybe for protection logs Link to comment Share on other sites More sharing options...
0 Stewie Posted June 17, 2013 Share Posted June 17, 2013 Maybe for protection logs Yup "maybe" Link to comment Share on other sites More sharing options...
0 MissingNo. Posted June 17, 2013 Share Posted June 17, 2013 Yup "maybe" Well, actually, it is for logging. Link to comment Share on other sites More sharing options...
0 SweeTs Posted June 17, 2013 Share Posted June 17, 2013 You use too much aCis. Haha, so true :D Link to comment Share on other sites More sharing options...
0 Thalion Posted June 18, 2013 Author Share Posted June 18, 2013 package handlers.admincommandhandlers; import java.util.StringTokenizer; import net.sf.l2j.gameserver.datatables.ItemTable; import net.sf.l2j.gameserver.handler.IAdminCommandHandler; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.network.serverpackets.ItemList; import net.sf.l2j.gameserver.templates.item.L2Item; /** * This class handles following admin commands: * - itemcreate = show menu * - create_item <id> [num] = creates num items with respective id, if num is not specified, assumes 1. * * @version $Revision: 1.2.2.2.2.3 $ $Date: 2005/04/11 10:06:06 $ */ public class AdminCreateItem implements IAdminCommandHandler { private static final String[] ADMIN_COMMANDS = { "admin_itemcreate", "admin_create_item" }; public boolean useAdminCommand(String command, L2PcInstance activeChar) { if (command.equals("admin_itemcreate")) { AdminHelpPage.showHelpPage(activeChar, "itemcreation.htm"); } else if (command.startsWith("admin_create_item")) { try { L2PcInstance p = activeChar; if (activeChar.getTarget() != null && instanceof L2PcInstance) p = activeChar.getTarget(); String val = command.substring(17); StringTokenizer st = new StringTokenizer(val); if (st.countTokens() == 2) { String id = st.nextToken(); int idval = Integer.parseInt(id); String num = st.nextToken(); long numval = Long.parseLong(num); createItem(p, idval, numval); } else if (st.countTokens() == 1) { String id = st.nextToken(); int idval = Integer.parseInt(id); createItem(p, idval, 1); } } catch (StringIndexOutOfBoundsException e) { activeChar.sendMessage("Usage: //itemcreate <itemId> [amount]"); } catch (NumberFormatException nfe) { activeChar.sendMessage("Specify a valid number."); } AdminHelpPage.showHelpPage(activeChar, "itemcreation.htm"); } return true; } public String[] getAdminCommandList() { return ADMIN_COMMANDS; } private void createItem(L2PcInstance activeChar, int id, long num) { L2Item template = ItemTable.getInstance().getTemplate(id); if (template == null) { activeChar.sendMessage("This item doesn't exist."); return; } if (num > 20) { if (!template.isStackable()) { activeChar.sendMessage("This item does not stack - Creation aborted."); return; } } activeChar.getInventory().addItem("Admin", id, num, activeChar, null); ItemList il = new ItemList(activeChar, true); activeChar.sendPacket(il); activeChar.sendMessage("You have spawned " + num + " item(s) number " + id + " in your inventory."); } } This will be ok Thanks for help! It returned an error: Thanks! Link to comment Share on other sites More sharing options...
0 Thalion Posted June 18, 2013 Author Share Posted June 18, 2013 O.o wait... activeChar.getInventory().addItem("Admin", id, num, activeChar, null); "Admin" I'm not sure what this does exacly... remove it and check if smth changed :D It did not work. Thanks anyway! Link to comment Share on other sites More sharing options...
0 Erlandys Posted June 18, 2013 Share Posted June 18, 2013 Thanks for help! It returned an error: Thanks! That was okay, just simply do this: This line: if (activeChar.getTarget() != null && instanceof L2PcInstance) Replace with this: if (activeChar.getTarget() != null && activeChar.getTarget() instanceof L2PcInstance) Link to comment Share on other sites More sharing options...
0 Setekh Posted June 18, 2013 Share Posted June 18, 2013 the post is from 2009, u both got tricked by a spammer XD edit: damn wifi, opened the wrong topic.. ignore what u just read >.> Link to comment Share on other sites More sharing options...
0 An4rchy Posted June 18, 2013 Share Posted June 18, 2013 the post is from 2009, u both got tricked by a spammer XD edit: damn wifi, opened the wrong topic.. ignore what u just read >.> ahahahha xdem nice baloni code :X Link to comment Share on other sites More sharing options...
0 xdem Posted June 18, 2013 Share Posted June 18, 2013 xdem nice baloni code :X nothing wrong with the code just a mistake I made cause I didnt had eclipse and wrote it here direcrtly :P Link to comment Share on other sites More sharing options...
0 Thalion Posted June 18, 2013 Author Share Posted June 18, 2013 That was okay, just simply do this: This line: if (activeChar.getTarget() != null && instanceof L2PcInstance) Replace with this: if (activeChar.getTarget() != null && activeChar.getTarget() instanceof L2PcInstance) Thank you again! Well I changed it and now I got this error: Link to comment Share on other sites More sharing options...
0 xdem Posted June 18, 2013 Share Posted June 18, 2013 yea you need to cast this p = activeChar.getTarget(); to p = (L2PcInstance) activeChar.getTarget(); OR (more secure) but still you have the instanceof above =p p = activeChar.getTarget().getActingPlayer(); Link to comment Share on other sites More sharing options...
0 Thalion Posted June 18, 2013 Author Share Posted June 18, 2013 yea you need to cast this p = activeChar.getTarget(); to p = (L2PcInstance) activeChar.getTarget(); OR (more secure) but still you have the instanceof above =p p = activeChar.getTarget().getActingPlayer(); Now it works! Thank you very much, you are amazing! P.D.: Is working with "p = (L2PcInstance) activeChar.getTarget();" Link to comment Share on other sites More sharing options...
0 xdem Posted June 18, 2013 Share Posted June 18, 2013 Now it works! Thank you very much, you are amazing! your welcome Link to comment Share on other sites More sharing options...
0 Vision Posted June 18, 2013 Share Posted June 18, 2013 Locked. Issue fixed. Link to comment Share on other sites More sharing options...
Question
Thalion
Hello averyone!
I want to edit an Admin command (//create_item). The problem is that only create items to me. I need that this commando be able to create the items to the target too.
Thank you!
Link to comment
Share on other sites
30 answers to this question
Recommended Posts