Jump to content

Unique Interlude Event [Castlewars]


Boorinio

Recommended Posts

I see you are doing a lot of progress in learning java. That's great.

 

Feel free to pm me if you have any questions.

 

Good job keep it up.

Link to comment
Share on other sites

I see you are doing a lot of progress in learning java. That's great.

 

Feel free to pm me if you have any questions.

 

Good job keep it up.

Thanks pauler..

Link to comment
Share on other sites

  • 3 weeks later...

thank you although it is easy to adopt it!

 

Oka i will try more :P  Well i am on procesing of learning yet and i don't know hot to replace-find the indectical code from one packet to the other but i ll learn :)

L2  ppl are lucky have developers like u and the other guys in community

Link to comment
Share on other sites

Oka i will try more :P  Well i am on procesing of learning yet and i don't know hot to replace-find the indectical code from one packet to the other but i ll learn :)

L2  ppl are lucky have developers like u and the other guys in community

thanks i appreciate it! my advice: gets your hands dirty or you will never learn..

Link to comment
Share on other sites

  • 8 months later...
  • 7 months later...
I have a problem in this event ... 
 
I added it just right but at the time of the q command with admin 
 
char admin lock, and only just back after the event ... 
 
I think it has something aver it right here
 
 
 public static void waitSecs(int i)
 {
 try
 {
     Thread.sleep(i * 1000);
     }
 catch (InterruptedException ie)
 {
 ie.printStackTrace();
 }
 }

   

    the event starts char is ------   Thread.Sleep (i * 1000);

Edited by Wallisteer
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.



  • 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...