Thread: [499] How do I remove this tab?

Page 1 of 2 12 LastLast
Results 1 to 10 of 15
  1. #1 [499] How do I remove this tab? 
    Registered Member Bots's Avatar
    Join Date
    Nov 2017
    Posts
    9
    Thanks given
    0
    Thanks received
    1
    Rep Power
    0
    Hello,

    I'm new to the RSPS development community and recently I've downloaded a free release of Vencillio off of Rune Server. Unfortunately I'm stuck with a problem and can't figure out how to remove this tab icon or at least hide it from the game so players can't boost their stats. In this edit there is a Loadout section but I can't figure out where the icon is located.

    Attached image

    Any help would be greatly appreciated!
    Reply With Quote  
     

  2. #2  
    Registered Member
    Join Date
    Nov 2017
    Posts
    304
    Thanks given
    36
    Thanks received
    75
    Rep Power
    3
    Simply just comment it out. Setsidebar = 13, should be similar.
    Reply With Quote  
     

  3. #3  
    Registered Member
    Join Date
    Oct 2017
    Posts
    15
    Thanks given
    0
    Thanks received
    2
    Rep Power
    11
    I am not familiar with the vencillio source but you can call the setSidebarInterface something like:

    Code:
    setSidebarInterface(13, -1);//The 13 is the tab id you want to hide
    Reply With Quote  
     

  4. #4  
    Registered Member Bots's Avatar
    Join Date
    Nov 2017
    Posts
    9
    Thanks given
    0
    Thanks received
    1
    Rep Power
    0
    Quote Originally Posted by ofek123411 View Post
    I am not familiar with the vencillio source but you can call the setSidebarInterface something like:

    Code:
    setSidebarInterface(13, -1);//The 13 is the tab id you want to hide
    Where can I find this? I have SendSidebarInterface.java but I'm not sure where the tab IDs come from?

    Source of SendSidebarInterface.java
    Code:
    package com.vencillio.rs2.entity.player.net.out.impl;
    
    import com.vencillio.core.network.StreamBuffer;
    import com.vencillio.rs2.entity.player.net.Client;
    import com.vencillio.rs2.entity.player.net.out.OutgoingPacket;
    
    public class SendSidebarInterface extends OutgoingPacket {
    
    	private final int tabId;
    
    	private final int interfaceId;
    
    	public SendSidebarInterface(int tabId, int interfaceId) {
    		super();
    		this.tabId = tabId;
    		this.interfaceId = interfaceId;
    	}
    
    	@Override
    	public void execute(Client client) {
    		StreamBuffer.OutBuffer out = StreamBuffer.newOutBuffer(4);
    		out.writeHeader(client.getEncryptor(), 71);
    		out.writeShort(interfaceId);
    		out.writeByte(tabId, StreamBuffer.ValueType.A);
    		client.send(out.getBuffer());
    		client.getPlayer().getInterfaceManager().setTabId(tabId, interfaceId);
    	}
    
    	@Override
    	public int getOpcode() {
    		return 71;
    	}
    
    }
    Reply With Quote  
     

  5. #5  
    Community Veteran


    Arch337's Avatar
    Join Date
    Sep 2008
    Posts
    2,950
    Thanks given
    210
    Thanks received
    349
    Rep Power
    1376
    Quote Originally Posted by Shniebs View Post
    Where can I find this? I have SendSidebarInterface.java but I'm not sure where the tab IDs come from?

    Source of SendSidebarInterface.java
    Code:
    package com.vencillio.rs2.entity.player.net.out.impl;
    
    import com.vencillio.core.network.StreamBuffer;
    import com.vencillio.rs2.entity.player.net.Client;
    import com.vencillio.rs2.entity.player.net.out.OutgoingPacket;
    
    public class SendSidebarInterface extends OutgoingPacket {
    
    	private final int tabId;
    
    	private final int interfaceId;
    
    	public SendSidebarInterface(int tabId, int interfaceId) {
    		super();
    		this.tabId = tabId;
    		this.interfaceId = interfaceId;
    	}
    
    	@Override
    	public void execute(Client client) {
    		StreamBuffer.OutBuffer out = StreamBuffer.newOutBuffer(4);
    		out.writeHeader(client.getEncryptor(), 71);
    		out.writeShort(interfaceId);
    		out.writeByte(tabId, StreamBuffer.ValueType.A);
    		client.send(out.getBuffer());
    		client.getPlayer().getInterfaceManager().setTabId(tabId, interfaceId);
    	}
    
    	@Override
    	public int getOpcode() {
    		return 71;
    	}
    
    }
    TAbid is on the tab you are clicking. Could try debug like:
    Code:
    	public SendSidebarInterface(int tabId, int interfaceId) {
    		super();
    System.out.println("Clicking tab = " + tabId);
    		this.tabId = tabId;
    		this.interfaceId = interfaceId;
    	}


    "A fail act is something you do regular, but a dumb act is something you can learn from"
    Spoiler for Problem?:
    Reply With Quote  
     

  6. #6  
    Registered Member Bots's Avatar
    Join Date
    Nov 2017
    Posts
    9
    Thanks given
    0
    Thanks received
    1
    Rep Power
    0
    Quote Originally Posted by arch337 View Post
    TAbid is on the tab you are clicking. Could try debug like:
    Code:
    	public SendSidebarInterface(int tabId, int interfaceId) {
    		super();
    System.out.println("Clicking tab = " + tabId);
    		this.tabId = tabId;
    		this.interfaceId = interfaceId;
    	}
    Yes, but the problem is I don't know how to delete this specific tab. Where can I remove the ID from? I can't find tab "13".

    Or if anyone knows how to edit the music page I'll just remove the buttons. I already erased Loadousts.java so the buttons don't work, I just don't know how to get rid of the tab or edit the page.
    Reply With Quote  
     

  7. #7  
    Registered Member
    Join Date
    Nov 2017
    Posts
    304
    Thanks given
    36
    Thanks received
    75
    Rep Power
    3
    Simply just find the interface number of that current sidebar and you should be good.

    Widget.java , RSInterface.java or Interface.java, then just search for the interface ID > then run the search through the whole project and there should be sendsidebarinterface with the interface ID.
    Reply With Quote  
     

  8. #8  
    Registered Member
    Join Date
    Oct 2017
    Posts
    15
    Thanks given
    0
    Thanks received
    2
    Rep Power
    11
    I mean You can do something like this.. Search for the process method(where it executes code every 500 ms) and add this to 'hide' the tab

    Code:
    SendSidebarInterface(13, -1);//The 13 is the tab id you want to hide
    Just do a search in all the java files and look for the 'SendSidebarInterface' method and use it as an example.
    Reply With Quote  
     

  9. #9  
    Respected Member


    Kris's Avatar
    Join Date
    Jun 2016
    Age
    26
    Posts
    3,638
    Thanks given
    820
    Thanks received
    2,642
    Rep Power
    5000
    Quote Originally Posted by ofek123411 View Post
    I mean You can do something like this.. Search for the process method(where it executes code every 500 ms) and add this to 'hide' the tab

    Code:
    SendSidebarInterface(13, -1);//The 13 is the tab id you want to hide
    Just do a search in all the java files and look for the 'SendSidebarInterface' method and use it as an example.
    500ms? Your server is broken.
    Attached image
    Reply With Quote  
     

  10. Thankful user:


  11. #10  
    Registered Member Bots's Avatar
    Join Date
    Nov 2017
    Posts
    9
    Thanks given
    0
    Thanks received
    1
    Rep Power
    0
    I figured it out yesterday. For future reference, the problem was in \VA Client\src\CustomInterfaces.java not the source. For anyone who has this problem, read below.

    I also learned the tabs are handled in the source PlayerConstants.java. I guess you can't remove the icon because if you delete the ID then the icon still appears. It might be located in another part of the code (Where the sprites are generated).

    This is where the code was in CustomInterfaces.java:
    Code:
    	public static void PKSkillTab(TextDrawingArea[] daniel) {
    		RSInterface Interface = addInterface(63700);
    		addSprite(63701, 71);
    		String[] levels = { "Test", "Defence", "Strength", "Hitpoints", "Ranged", "Prayer", "Magic", "Bounty" };
    		for (int i = 0; i < 8; i ++) {
    			addText(63702 + i, "@or1@" + levels[i], 0x000000, false, true, 52, daniel, 2);
    		}
    		for (int i = 0; i < 8; i ++) {
    			addText(63720 + i, "@or2@99/99", 0x000000, false, true, 52, daniel, 1);
    		}
    		addHoverButton(64102, -1, 300, 25, "Set attack level", -1, 64103, 1);
    		addHoveredButton(64103, 386, 300, 25, 64104);
    		addHoverButton(64105, -1, 300, 25, "Set defence level", -1, 64106, 1);
    		addHoveredButton(64106, 388, 300, 25, 64107);	
    		addHoverButton(64108, -1, 300, 25, "Set strength level", -1, 64109, 1);
    		addHoveredButton(64109, 387, 300, 25, 64110);	
    		addHoverButton(64111, -1, 300, 25, "Set hitpoints level", -1, 64112, 1);
    		addHoveredButton(64112, 392, 300, 25, 64113);
    		addHoverButton(64114, -1, 300, 25, "Set ranged level", -1, 64115, 1);
    		addHoveredButton(64115, 389, 300, 25, 64116);
    		addHoverButton(64117, -1, 300, 25, "Set prayer level", -1, 64118, 1);
    		addHoveredButton(64118, 391, 300, 25, 64119);
    		addHoverButton(64120, -1, 300, 25, "Set magic level", -1, 64121, 1);
    		addHoveredButton(64121, 390, 300, 25, 64122);
    		Interface.totalChildren(31);
    		Interface.child(0, 63701, 1, 8);
    		Interface.child(1, 64102, 2, 10);
    		Interface.child(2, 64103, 2, 10);
    		Interface.child(3, 64105, 2, 40);
    		Interface.child(4, 64106, 2, 40);
    		Interface.child(5, 64108, 2, 70);
    		Interface.child(6, 64109, 2, 70);
    		Interface.child(7, 64111, 2, 100);
    		Interface.child(8, 64112, 2, 100);
    		Interface.child(9, 64114, 2, 130);
    		Interface.child(10, 64115, 2, 130);
    		Interface.child(11, 64117, 2, 160);
    		Interface.child(12, 64118, 2, 160);
    		Interface.child(13, 64120, 2, 190);
    		Interface.child(14, 64121, 2, 190);
    		for (int i = 0; i < 8; i ++) {
    			Interface.child(15 + i, 63702 + i, 30, 16 + (i * 30));
    		}
    		for (int i = 0; i < 8; i ++) {
    			Interface.child(23 + i, 63720 + i, 125, 17 + (i * 30));
    		}
    	}
    So basically, PlayerConstants.java handles the tabs and CustomInterfaces.java handles the page content.
    Reply With Quote  
     

Page 1 of 2 12 LastLast

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. How do i remove this correctly
    By nathanrr44 in forum Help
    Replies: 0
    Last Post: 04-15-2012, 09:07 PM
  2. How do I remove this infraction.
    By Afro in forum Forum Related Help
    Replies: 2
    Last Post: 11-24-2010, 05:32 AM
  3. how do i remove this (look at pic)
    By yodamonkey5 in forum Help
    Replies: 14
    Last Post: 07-21-2010, 11:55 PM
  4. How do I remove this sprite completely?
    By Concious in forum Help
    Replies: 1
    Last Post: 07-20-2010, 03:23 PM
  5. How do i remove this?
    By ~ Project X in forum Help
    Replies: 0
    Last Post: 05-19-2010, 04:21 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •