Jump to content
  • 0

Remove Tabs Community


Question

Posted (edited)

Can someone tell me how do I disable the tabs:

 

Region

Homepage

Favorites

 

4s3z.jpg

 

remove or disable

Edited by nery

10 answers to this question

Recommended Posts

  • 0
Posted

Removing means you edit client, about disabling you simply have to find the bypasses and avoid those bypasses linkes to given classes. It's normally part of CommunityManager main class. You got few "if" checks returning to given handler, one per tab.

  • 0
Posted

could show an example of how I disable the tab RegionBBSManager in CommunityBoard.java

 

package com.l2jserver.gameserver.communitybbs;

 

import com.l2jserver.Config;

import com.l2jserver.gameserver.communitybbs.Manager.ClanBBSManager;

import com.l2jserver.gameserver.communitybbs.Manager.PostBBSManager;

import com.l2jserver.gameserver.communitybbs.Manager.RegionBBSManager;

import com.l2jserver.gameserver.communitybbs.Manager.TopBBSManager;

import com.l2jserver.gameserver.communitybbs.Manager.TopicBBSManager;

import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;

import com.l2jserver.gameserver.network.L2GameClient;

import com.l2jserver.gameserver.network.SystemMessageId;

import com.l2jserver.gameserver.network.serverpackets.ShowBoard;

 

public class CommunityBoard

{

public static CommunityBoard getInstance()

{

return SingletonHolder._instance;

}

 

public void handleCommands(L2GameClient client, String command)

{

L2PcInstance activeChar = client.getActiveChar();

if (activeChar == null)

return;

 

switch (Config.COMMUNITY_TYPE)

{

default:

case 0: //disabled

activeChar.sendPacket(SystemMessageId.CB_OFFLINE);

break;

case 1: // old

RegionBBSManager.getInstance().parsecmd(command, activeChar);

break;

case 2: // new

if (command.startsWith("_bbsclan"))

{

ClanBBSManager.getInstance().parsecmd(command, activeChar);

}

else if (command.startsWith("_bbsmemo"))

{

TopicBBSManager.getInstance().parsecmd(command, activeChar);

}

else if (command.startsWith("_bbstopics"))

{

TopicBBSManager.getInstance().parsecmd(command, activeChar);

}

else if (command.startsWith("_bbsposts"))

{

PostBBSManager.getInstance().parsecmd(command, activeChar);

}

else if (command.startsWith("_bbstop"))

{

TopBBSManager.getInstance().parsecmd(command, activeChar);

}

else if (command.startsWith("_bbshome"))

{

TopBBSManager.getInstance().parsecmd(command, activeChar);

}

else if (command.startsWith("_bbsloc"))

{

RegionBBSManager.getInstance().parsecmd(command, activeChar);

}

else

{

ShowBoard sb = new ShowBoard("

 

O comando: " + command

+ " não foi implantado ainda

 

", "101");

activeChar.sendPacket(sb);

activeChar.sendPacket(new ShowBoard(null, "102"));

activeChar.sendPacket(new ShowBoard(null, "103"));

}

break;

}

}

 

/**

* @param client

* @param url

* @param arg1

* @param arg2

* @param arg3

* @param arg4

* @param arg5

*/

public void handleWriteCommands(L2GameClient client, String url, String arg1, String arg2, String arg3, String arg4, String arg5)

{

L2PcInstance activeChar = client.getActiveChar();

if (activeChar == null)

return;

 

switch (Config.COMMUNITY_TYPE)

{

case 2:

if (url.equals("Topic"))

{

TopicBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar);

}

else if (url.equals("Post"))

{

PostBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar);

}

else if (url.equals("Region"))

{

RegionBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar);

}

else if (url.equals("Notice"))

{

ClanBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar);

}

else

{

ShowBoard sb = new ShowBoard("

 

O comando: " + url

+ " não foi implantado ainda

 

", "101");

activeChar.sendPacket(sb);

activeChar.sendPacket(new ShowBoard(null, "102"));

activeChar.sendPacket(new ShowBoard(null, "103"));

}

break;

case 1:

RegionBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar);

break;

default:

case 0:

ShowBoard sb = new ShowBoard("

 

A Community board está desativada

 

", "101");

activeChar.sendPacket(sb);

activeChar.sendPacket(new ShowBoard(null, "102"));

activeChar.sendPacket(new ShowBoard(null, "103"));

break;

}

}

 

private static class SingletonHolder

{

protected static final CommunityBoard _instance = new CommunityBoard();

}

}

  • 0
Posted

??

 

/*else if (command.startsWith("_bbsloc"))
				{
					RegionBBSManager.getInstance().parsecmd(command, activeChar);
				}*/
  • 0
Posted (edited)

yup, but I think he wants to delete the tabs completely, that you dont have a tab to click at. and its client side. so best option is to disable bypasses like ^wyatt shown ;)

Edited by freedy
  • 0
Posted

yup, but I think he wants to delete the tabs completely, that you dont have a tab to click at. and its client side. so best option is to disable bypasses like ^wyatt shown ;)

As far as I know you can't delete tabs even editing the client. You can only remove the tab name and disable it, but not remove it.
  • 0
Posted

im sure its possible to delete it, but you will have to know what and how to decode it and then remove the tabs :) so better say you cant :D

 

but never say you cant do anything since there is always someone stupid enough to do it :)

  • 0
Posted

im sure its possible to delete it, but you will have to know what and how to decode it and then remove the tabs :) so better say you cant :D

 

but never say you cant do anything since there is always someone stupid enough to do it :)

 

There are some cb htms on your dp, but Im not sure if you can do what you request since I never worked with them

  • 0
Posted

im sure its possible to delete it, but you will have to know what and how to decode it and then remove the tabs :) so better say you cant :D

 

but never say you cant do anything since there is always someone stupid enough to do it :)

You can't delete it with the way people works ~File Editor, and you can't delete it java side. That's what am I saying.
Guest
This topic is now closed to further replies.


  • Posts

    • “Hello, I’d like to present a short description of the server. Everyone starts equally at max level 80. The server includes a custom buffer, custom class master, custom weapons and armors, custom zones, custom teleporter, custom raid bosses, and much more. I’ll leave a link in the description for those who want to see how everything looks inside. The server is only open on weekends, and you can find more news via the Facebook link.”   https://www.facebook.com/profile.php?id=61578869175323
    • 1. You where subscriber 3 years ago. 2. There is no current L2jMobius 2.8 Seven Signs version. Subcriber or not. 3. You have your answer from multiple forums that more items is more delay.  
    • 1. Optimize Packet Serialization Look in ItemList.java or wherever the inventory packet is constructed. Instead of building the packet with inefficient string concatenation or repeated allocations, use a preallocated buffer and avoid creating new objects for each item. Mobius sources are Java-based, so profiling with something like VisualVM or YourKit can help see where most time is spent. 2. Avoid Sending the Full List Each Time Modify the server to send only changed items (diff packets) when the inventory window opens. Some newer forks implement this as “lazy loading” or paged inventory so the client only loads e.g. 100 items at a time. 3. Limit the Inventory Size Per Page Instead of showing all 500 slots at once, split the inventory into pages/tabs (100 slots each). When the user switches a tab, send only that page’s items. This requires some client-side editing, but it’s the most user-friendly long-term fix. 4. Database & Cache Optimizations Ensure your items table is indexed by owner_id to make the query for player items fast. Cache item templates and static data so they are not reloaded every time the inventory is shown. ⚠️ Things to Keep in Mind Increasing slots from 80 → 500 does not just change a number — it multiplies the workload for packet building and UI rendering. You can’t fully avoid some extra cost with 500 items, but you can keep it under a few milliseconds if you optimize how and when the data is sent.    
    • i think it's the auto sorting of the interface that sucks, check InventoryWnd script in interface.u, or completely disable the request item list packet when toggling the inventory window (also in InventoryWnd script or similar name)
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock