Jump to content
Frequently Asked Questions
  • Are you not able to open the client? Try following our getting started guide
  • Still not working? Try downloading and running JarFix
  • Help! My bot doesn't do anything! Enable fresh start in client settings and restart the client
  • How to purchase with PayPal/OSRS/Crypto gold? You can purchase vouchers from other users
  • Try asking for help in the chatbox
  • Need help with understanding Dreambot client debug system.


    austin_m
     Share

    Recommended Posts

    Hey, 

    First off, sorry if this is in the wrong section. I just purchased Nuclear Nezz's script factory. I'm confused on how to use the debug in the client to identify specific tiles and objects? Is it point and click? I can play around with setting the paths and conditions but I need help understanding how to find the Id of objects and entities and then what action's to specify. Thanks. 

    Link to comment
    Share on other sites

    • 2 weeks later...

    @PapayaBrownie Hey, thank you for the reply I appreciate it. So I selected the option you indicated and even tried them all and don't see anything on my screen anywhere when I hover over anything. I've played around with all the setting and have both debug console and client console open, am I missing something. Thank you.

    Link to comment
    Share on other sites

    19 minutes ago, austin_m said:

    @PapayaBrownie Hey, thank you for the reply I appreciate it. So I selected the option you indicated and even tried them all and don't see anything on my screen anywhere when I hover over anything. I've played around with all the setting and have both debug console and client console open, am I missing something. Thank you.

    The entity hover tool can be quite buggy sometimes. Like in the pic I've attached, it can be a little de-calibrated haha.
    Maybe try hovering around the screen in random places to see if you get any object info at all? Also try not to be too zoomed out, I found that it works best zoomed in about 50%.
    If not, maybe try reinstalling all the DB files or chat with a mod/admin cause its a really helpful and cool tool

    Link to comment
    Share on other sites

    @austin_m I whipped up a quick script to get any name/ID/tile. Ive posted the source below if you wanna turn into a .jar file yourself but heres the download link: https://filebin.net/gxqkvqfzb2kyy3u5

    lemme know if you use it and have any questions!

    package objectIDlogger;
    
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.ItemEvent;
    import java.awt.event.ItemListener;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JRadioButton;
    import javax.swing.JTextField;
    
    import org.dreambot.api.methods.map.Tile;
    import org.dreambot.api.script.AbstractScript;
    import org.dreambot.api.script.Category;
    import org.dreambot.api.script.ScriptManifest;
    import org.dreambot.api.wrappers.interactive.GameObject;
    import org.dreambot.api.wrappers.interactive.NPC;
    
    @ScriptManifest(author = "PapayaBrownie", category = Category.MISC, name = "Pappy's ID Finder", version = 1)
    public class Main extends AbstractScript {
    
    	JFrame frame;
    	JLabel feedback;
    	JButton check;
    	JRadioButton rsObject;
    	JRadioButton rsNPC;
    	JTextField getObjName;
    	
    	boolean checkForObject = true;
    	
    	//**************************************************************//
    	
    	@Override 
    	public void onStart() {
    		log("Starting Pappy's Object ID Viewer Script");
    		showGUI();
    		listeners();
    	}
    	
    	@Override
    	public int onLoop() {
    		// TODO Auto-generated method stub
    		return 0;
    	}
    	
    	@Override
    	public void onExit() {
    		frame.dispose();
    		stop();
    		log("Finishing Pappy's Object ID Viewer Script");
    	}
    	
    	//**************************************************************//
    	
    	private void showGUI() {
    		frame = new JFrame("Object ID Finder by PapayaBrownie");
    		frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    		frame.setLocationRelativeTo(getClient().getInstance().getCanvas());
    		frame.setPreferredSize(new Dimension(400, 200));
    		
    		frame.getContentPane().setLayout(new BorderLayout());
    		
    		JLabel title = new JLabel();
    		title.setText("Please enter the name of object/NPC");
    		frame.add(title, BorderLayout.NORTH);
    		
    		JPanel centrePanel = new JPanel();
    		centrePanel.setLayout(new GridLayout(2, 1));
    		JPanel upperCentrePanel = new JPanel();
    		upperCentrePanel.setLayout(new GridLayout(1, 2));
    		centrePanel.add(upperCentrePanel);
    		
    		rsObject = new JRadioButton("Object");
    		rsNPC = new JRadioButton("NPC");
    		
    		upperCentrePanel.add(rsObject);
    		upperCentrePanel.add(rsNPC);
    		
    		getObjName = new JTextField("Enter object/NPC name here");
    		centrePanel.add(getObjName);
    		
    		frame.add(centrePanel, BorderLayout.CENTER);
    		
    		feedback = new JLabel();
    		feedback.setText("");
    		frame.add(feedback, BorderLayout.SOUTH);
    		
    		check = new JButton("Check");
    		frame.add(check, BorderLayout.EAST);
    		
    		frame.pack();
    		frame.setVisible(true);
    	}
    	
    	private void listeners() {
    		frame.addWindowListener(new java.awt.event.WindowAdapter() {
    			@Override
    			public void windowClosing(java.awt.event.WindowEvent winEvent) {
    				onExit();
    			}
    		});
    		
    		rsObject.addItemListener(new ItemListener() {
    			@Override
    			public void itemStateChanged(ItemEvent event) {
    				int state = event.getStateChange();
    				if (state == ItemEvent.SELECTED) {
    					rsNPC.setSelected(false);
    					checkForObject = true;
    				}
    			}
    		});
    		
    		rsNPC.addItemListener(new ItemListener() {
    			@Override
    			public void itemStateChanged(ItemEvent event) {
    				int state = event.getStateChange();
    				if (state == ItemEvent.SELECTED) {
    					rsObject.setSelected(false);
    					checkForObject = false;
    				}
    			}
    		});
    		
    		check.addActionListener(new ActionListener() {
    
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				if (getObjName.getText().equalsIgnoreCase("Enter object/NPC name here") || getObjName.getText().equalsIgnoreCase("")) {
    					feedback.setText("Please enter a name of object or NPC visible on your screen");
    				}
    				else {
    					checkForID(getObjName.getText());
    				}
    			}
    		});
    		
    		getObjName.addMouseListener(new MouseAdapter() {
    			@Override
    			public void mouseClicked(MouseEvent e) {
    				if (getObjName.getText().equalsIgnoreCase("Enter object/NPC name here")) {
    					getObjName.setText("");
    				}
    			}
    		});
    	}
    	
    	private void checkForID(String name) {
    		if (checkForObject) {
    			GameObject specifiedObj = this.getGameObjects().closest(obj -> obj != null && obj.getName().equalsIgnoreCase(name));
    			if (specifiedObj != null) {
    				int ID = specifiedObj.getID();
    				String objName = specifiedObj.getName();
    				Tile objTile = specifiedObj.getTile();
    				feedback.setText(objName + ". ID: " + ID + ". Tile: " + objTile.getX() + ", " + objTile.getY());
    			}
    			else {
    				feedback.setText("Couldnt find that object!");
    			}
    		}
    		else {
    			NPC specifiedNPC = this.getNpcs().closest(npc -> npc != null && npc.getName().equalsIgnoreCase(name));
    			if (specifiedNPC != null) {
    				int ID = specifiedNPC.getID();
    				String npcName = specifiedNPC.getName();
    				Tile npcTile = specifiedNPC.getTile();
    				feedback.setText(npcName + ". ID: " + ID + ". Tile: " + npcTile.getX() + ", " + npcTile.getY());
    			}
    			else {
    				feedback.setText("Couldnt find that NPC!");
    			}
    		}
    	}
    }

    Link to comment
    Share on other sites

    Just now, PapayaBrownie said:

    @austin_m I whipped up a quick script to get any name/ID/tile. Ive posted the source below if you wanna turn into a .jar file yourself but heres the download link: https://filebin.net/gxqkvqfzb2kyy3u5

    lemme know if you use it and have any questions!

     

      Reveal hidden contents

     

    
    package objectIDlogger;
    
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.ItemEvent;
    import java.awt.event.ItemListener;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JRadioButton;
    import javax.swing.JTextField;
    
    import org.dreambot.api.methods.map.Tile;
    import org.dreambot.api.script.AbstractScript;
    import org.dreambot.api.script.Category;
    import org.dreambot.api.script.ScriptManifest;
    import org.dreambot.api.wrappers.interactive.GameObject;
    import org.dreambot.api.wrappers.interactive.NPC;
    
    @ScriptManifest(author = "PapayaBrownie", category = Category.MISC, name = "Pappy's ID Finder", version = 1)
    public class Main extends AbstractScript {
    
    	JFrame frame;
    	JLabel feedback;
    	JButton check;
    	JRadioButton rsObject;
    	JRadioButton rsNPC;
    	JTextField getObjName;
    	
    	boolean checkForObject = true;
    	
    	//**************************************************************//
    	
    	@Override 
    	public void onStart() {
    		log("Starting Pappy's Object ID Viewer Script");
    		showGUI();
    		listeners();
    	}
    	
    	@Override
    	public int onLoop() {
    		// TODO Auto-generated method stub
    		return 0;
    	}
    	
    	@Override
    	public void onExit() {
    		frame.dispose();
    		stop();
    		log("Finishing Pappy's Object ID Viewer Script");
    	}
    	
    	//**************************************************************//
    	
    	private void showGUI() {
    		frame = new JFrame("Object ID Finder by PapayaBrownie");
    		frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    		frame.setLocationRelativeTo(getClient().getInstance().getCanvas());
    		frame.setPreferredSize(new Dimension(400, 200));
    		
    		frame.getContentPane().setLayout(new BorderLayout());
    		
    		JLabel title = new JLabel();
    		title.setText("Please enter the name of object/NPC");
    		frame.add(title, BorderLayout.NORTH);
    		
    		JPanel centrePanel = new JPanel();
    		centrePanel.setLayout(new GridLayout(2, 1));
    		JPanel upperCentrePanel = new JPanel();
    		upperCentrePanel.setLayout(new GridLayout(1, 2));
    		centrePanel.add(upperCentrePanel);
    		
    		rsObject = new JRadioButton("Object");
    		rsNPC = new JRadioButton("NPC");
    		
    		upperCentrePanel.add(rsObject);
    		upperCentrePanel.add(rsNPC);
    		
    		getObjName = new JTextField("Enter object/NPC name here");
    		centrePanel.add(getObjName);
    		
    		frame.add(centrePanel, BorderLayout.CENTER);
    		
    		feedback = new JLabel();
    		feedback.setText("");
    		frame.add(feedback, BorderLayout.SOUTH);
    		
    		check = new JButton("Check");
    		frame.add(check, BorderLayout.EAST);
    		
    		frame.pack();
    		frame.setVisible(true);
    	}
    	
    	private void listeners() {
    		frame.addWindowListener(new java.awt.event.WindowAdapter() {
    			@Override
    			public void windowClosing(java.awt.event.WindowEvent winEvent) {
    				onExit();
    			}
    		});
    		
    		rsObject.addItemListener(new ItemListener() {
    			@Override
    			public void itemStateChanged(ItemEvent event) {
    				int state = event.getStateChange();
    				if (state == ItemEvent.SELECTED) {
    					rsNPC.setSelected(false);
    					checkForObject = true;
    				}
    			}
    		});
    		
    		rsNPC.addItemListener(new ItemListener() {
    			@Override
    			public void itemStateChanged(ItemEvent event) {
    				int state = event.getStateChange();
    				if (state == ItemEvent.SELECTED) {
    					rsObject.setSelected(false);
    					checkForObject = false;
    				}
    			}
    		});
    		
    		check.addActionListener(new ActionListener() {
    
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				// TODO Auto-generated method stub
    				if (getObjName.getText().equalsIgnoreCase("Enter object/NPC name here") || getObjName.getText().equalsIgnoreCase("")) {
    					feedback.setText("Please enter a name of object or NPC visible on your screen");
    				}
    				else {
    					checkForID(getObjName.getText());
    				}
    			}
    		});
    		
    		getObjName.addMouseListener(new MouseAdapter() {
    			@Override
    			public void mouseClicked(MouseEvent e) {
    				if (getObjName.getText().equalsIgnoreCase("Enter object/NPC name here")) {
    					getObjName.setText("");
    				}
    			}
    		});
    	}
    	
    	private void checkForID(String name) {
    		if (checkForObject) {
    			GameObject specifiedObj = this.getGameObjects().closest(obj -> obj != null && obj.getName().equalsIgnoreCase(name));
    			if (specifiedObj != null) {
    				int ID = specifiedObj.getID();
    				String objName = specifiedObj.getName();
    				Tile objTile = specifiedObj.getTile();
    				feedback.setText(objName + ". ID: " + ID + ". Tile: " + objTile.getX() + ", " + objTile.getY());
    			}
    			else {
    				feedback.setText("Couldnt find that object!");
    			}
    		}
    		else {
    			NPC specifiedNPC = this.getNpcs().closest(npc -> npc != null && npc.getName().equalsIgnoreCase(name));
    			if (specifiedNPC != null) {
    				int ID = specifiedNPC.getID();
    				String npcName = specifiedNPC.getName();
    				Tile npcTile = specifiedNPC.getTile();
    				feedback.setText(npcName + ". ID: " + ID + ". Tile: " + npcTile.getX() + ", " + npcTile.getY());
    			}
    			else {
    				feedback.setText("Couldnt find that NPC!");
    			}
    		}
    	}
    }

     

     

    *actually sorry, any obj or npc near you

    Link to comment
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
     Share

    ×
    ×
    • Create New...

    Important Information

    We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.