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
  • Need help with understanding Dreambot client debug system.


    austin_m

    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

    Oh jeez, that makes sense now. Yah I've never seen that before, I'll play around with it some more. You were really helpful man thank you. 

    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

    Archived

    This topic is now archived and is closed to further replies.

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