Jump to content

thepecher

Members
  • Posts

    895
  • Joined

  • Last visited

  • Feedback

    100%

Posts posted by thepecher

  1. So yeah basically i was bored and decided to come back to osbot after like 2 years. Ill probably be making a couple of scripts again at a later day but to get used to the API i made a couple of scripts. 

    So i present to you PHillGiants, the simplest Hill Giant killer possible.

    Features:

    -Kills Hill Giants

    -Banks for food

    How to use:

    - Have desired food in bank as well as a brass key

    - Start script and fill in GUI

    - Click on the start button

    REMARKS:

    -This script was created very quickly and barely tested, i will probably not support it any further but it should work fine now.

    -Only tested on F2P where it struggled to find Hill Giants consistently because it was so populated. Will probably work a lot better on P2P or on rather empty worlds.

    DOWNLOAD: http://www.filedropper.com/phillgiants

    SOURCE:

    Spoiler
    
    import org.osbot.rs07.api.map.Area;
    import org.osbot.rs07.api.map.constants.Banks;
    import org.osbot.rs07.api.model.NPC;
    import org.osbot.rs07.api.ui.Skill;
    import org.osbot.rs07.script.Script;
    import org.osbot.rs07.script.ScriptManifest;
    
    import java.awt.*;
    import java.util.Random;
     
    @ScriptManifest(author = "Thepecher", info = "Kills HillGiants", name = "PHillGiants", version = 0, logo = "")
    public class Main extends Script {
    	public boolean looper=true;
    	Random randomGenerator;
    	Area giants = new Area(3095,9820,3126,9851);//z==0
    	Area giantsCenter = new Area(3114,9838,3117,9841);//z==0
    	int exp;
    	String food="Salmon";
    	long time;
    	String status;
    	public boolean started;
    	GUI gui;
        @Override
        public void onStart() {
            log("Let's get started!");
            exp=skills.getExperience(Skill.ATTACK) + skills.getExperience(Skill.STRENGTH) + skills.getExperience(Skill.DEFENCE);
            randomGenerator = new Random();
            time=System.currentTimeMillis();
            gui = new GUI(this);
            started=false;
            gui.setVisible(true);
            
            
        }
     
        @Override
        public int onLoop() throws InterruptedException {
        	if(!started){
        		return 200;
        	}
        	food=gui.textField.getText();
        	gui.setVisible(false);
        	
        	status=getState();
        	switch (status){
        	case "FIGHTING":
        		NPC hillgiant=null;
        		if(!myPlayer().isAnimating() && !myPlayer().isUnderAttack() && !myPlayer().isMoving()){
        			for(NPC npc : getNpcs().getAll()) {
        				log("Testing "+npc.getName());
        				log("/"+npc.getName()+"/");
        				if(!npc.isUnderAttack() && npc.getName().equals("Hill Giant")){
        					log("Found one");
        					hillgiant=npc;
        					break;
        				}
        			}
    
        			if(hillgiant !=null){
        				hillgiant.interact("Attack");
        				sleep(random(1500,2000));
        			}
        		}
        		if(myPlayer().getHealthPercent()<50){
        			inventory.interact("Eat", food);
        		}
        		break;
        	case "BANKING":
        		if(!getBank().isOpen()){
        			getBank().open();
        		}else if(!getInventory().contains(food) && !getInventory().contains("Brass key")){
        			getBank().depositAll();
        			getBank().withdraw(food,27);
        			getBank().withdraw("Brass key", 1);
        		}
        		break;
        	case "GOING TO BANK":
        		getWalking().webWalk(Banks.VARROCK_WEST);
        		break;
        	case "GOING TO GIANTS":
        		getWalking().webWalk(giantsCenter);
        		break;
        	}
        	
            return random(2400, 3000);
        }
     
        @Override
        public void onExit() {
            log("Mad gains?");
        }
     
        @Override
        public void onPaint(Graphics2D g) {
        	g.drawString("Combat EXP gained: " + (skills.getExperience(Skill.ATTACK) + skills.getExperience(Skill.STRENGTH) + skills.getExperience(Skill.DEFENCE)-exp), 20, 300);
        	g.drawString("Time running: "+ formatTime(System.currentTimeMillis()-time), 20, 280);
        	g.drawString("Status :"+status, 20, 260);
        }
        
        public String getState(){
        	if(giants.contains(myPosition()) && myPlayer().getHealthPercent()>30){
        		return "FIGHTING";
        	}else if(Banks.VARROCK_WEST.contains(myPosition()) && !inventory.contains(food)){
        		return "BANKING";
        	}else if(giants.contains(myPosition()) && !inventory.contains(food) && myPlayer().getHealthPercent()<30){
        		return "GOING TO BANK";
        	}else{return "GOING TO GIANTS";}
        	
        }
        public final String formatTime(final long ms){
            long s = ms / 1000, m = s / 60, h = m / 60;
            s %= 60; m %= 60; h %= 24;
            return String.format("%02d:%02d:%02d", h, m, s);
        }
    }

    GUI class (same package):

    
    
    
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.border.EmptyBorder;
    import javax.swing.JLabel;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    import javax.swing.JTextField;
    import javax.swing.JButton;
    
    public class GUI extends JFrame {
    
    	private JPanel contentPane;
    	public JTextField textField;
    	JButton btnStartScript;
    
    
    	/**
    	 * Create the frame.
    	 */
    	public GUI(Main main) {
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		setBounds(100, 100, 448, 222);
    		contentPane = new JPanel();
    		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    		setContentPane(contentPane);
    		contentPane.setLayout(null);
    		
    		JLabel lblPhillgiants = new JLabel("PHillGiants");
    		lblPhillgiants.setFont(new Font("Tahoma", Font.BOLD, 17));
    		lblPhillgiants.setBounds(180, 11, 108, 34);
    		contentPane.add(lblPhillgiants);
    		
    		JLabel lblPleaseEnterThe = new JLabel("Please enter the desired food: ");
    		lblPleaseEnterThe.setBounds(10, 68, 159, 22);
    		contentPane.add(lblPleaseEnterThe);
    		
    		textField = new JTextField();
    		textField.setBounds(180, 69, 159, 21);
    		contentPane.add(textField);
    		textField.setColumns(10);
    		
    		btnStartScript = new JButton("Start Script");
    		btnStartScript.setBounds(180, 133, 89, 23);
    		btnStartScript.addActionListener(new ActionListener() { 
    			  public void actionPerformed(ActionEvent e) {
    				  main.log("Pressed start");
    				  main.started=true;
    			  } 
    			} );
    		contentPane.add(btnStartScript);
    	}
    }

     

     

     

    PS: ANYONE HAVE SCRIPT IDEAS?

    • Like 2
  2. Hey guys, wow it's been a while. Alot of stuff happened these past couple of months positives and negatives but hey im (kinda) back smile.png

     

    So what is this thread about? Well i want to go back into scripting the problem with this is i don't want to put my legit accounts at risk while script development. Because yes, i am one of the few that actually plays legit in the botting scene and i've put 100's of hours in my 2 accounts. And i always wanted to set myself a challenge so i was thinking why not kill 2 bugs with one stone (thats an english expression right?)

     

    Introducing: F2p IronBotMan! The goal is making a f2p ironman and getting most of my skills to 60-70 before i revert it back to regular memeber and start developing scripts with it.

     

    The current goals are : 66 magic for revamping my old air orbs script, 50-50-50  mellee to make a new druids script (old one was garbage)-like 40 smithing to make a cannonball script (already made actually just needs testing), etc...

     

    Day one:

    Did vampire slayer for attack xp and stronghold of security for geepees and i also got some levels from cooking my food etc...

     

    17cfa12ff9dcc9cb9b2f886cf3efb647.png

     

     

    Did some grininding and questing, now i need to start crating to make money for armour and weapons and stuff

     

    499cf4b9e62ed7cc456b6d446897c843.png

    Gl me

     

     

    OMFGGGGGGGGGGGGGGGGG

     

    Slaved couple of hours to get this:

    3e5c2a4f469e77b1aead119b44f20f54.png then this: 26a60f15dde69bca5d56934ff849c9e7.png

     

    Went to sell all that to bandit camp and got pked for them. So pissed right now, so pissed

     

    TL;DR: This account was a total fail. ill just continue to max out my legit account :p 

    • Like 2
  3. Maybe, maybe not. (95% of people don't know how to use this)

     

    Nice contribution Xerion!

    90% probably doesn't even know how to use this. Also zybez merching will become useless in the near future anyway.

     

    Not sure, from a mercher way of looking the trading post is bs. You can't add comments (like "Come dont PM)and people will always sort offers by cheapest. Also a seller can't select how many items he wishes to sell in the trade screen, just the offer he wants to trade. IMO the trading post is just a lesser zybez but then again it's in-game. Only time will tell what will happen

  4. Warning: hqdefault.jpg Ahead!


     


     


    So guys i decided to release my Zybez poster.


     


    This tool posts offers on zybez on a regular interval so that your offer always stays on top. This insures you to always have plenty of trades to merch on. To my tests the results are amazing. I tried with different base cash stacks and results vary from 1m/h to almost 10m/h. CRAZY! 


     


    Here is how it looks like:


    01d0cd29e22de54dea1b643495f2051d.png


     


     


     


     


    What you get:


    -The zybez poster


    -Direct support from me


    -Updates and improvements


     


    How to get it:


    Add my skype: the1and.only.pecher


     


    Pricing:


    -Base package=20$ : You get the program as it is (fully working).


    -Premium package=25$ You get the program as it is + you can ask me to add features and i will add them. For example: You are like: Thepecher! I need it to be able to sell barrows sets! Add it now! And i am like: Coming up!


     


    Too pricey? I don't think so, 20$ is about 6m , this is made back in 2 hours of merching or even 1 hour is you have a large base stack (50-100m)


     


    a677ac2dd63d5cec736ba85b0d6620df.png FOR d8f5f586e03f60c4459ade40103610ce.png


     


     


    About OSBot rules: This is not a script, this is a stand alone program. I have checked the rules and there are no rules concerning selling a tool/program.


  5. Yes hello, i have requested the (temporarly?) removal of the script because i do not have the time anymore to update it. If you want to talk about it and maybe we can figure somthing out. Add my skype: the1and.only.pecher

  6. The problem with a program like this is, it is only GOOD if you/a couple people have it. Also if I did release it I don't think I would do it for free. This program so far has made my buyers life so much easier. Along with making him easy millions. 

     

    Always wanted to make something like this, too bad i lack the knowledge

×
×
  • Create New...