Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.rsbot.script.Script;
- import org.rsbot.script.ScriptManifest;
- import org.rsbot.script.wrappers.*;
- import org.rsbot.event.events.MessageEvent;
- import org.rsbot.event.listeners.MessageListener;
- import org.rsbot.script.methods.Mouse;
- @ScriptManifest (
- authors = { "WinblowsME" },
- keywords = { "runescape", "runecraft", "master", "slave" },
- name = ">>> Slave Crafter <<<",
- description = "Carries Essence to the Master Crafter at the Earth Altar",
- version = 1.5
- )
- public class slave extends Script implements MessageListener
- {
- private String MASTER_NAME = "Change Master Name";
- private int RUNE_ESS_ID = 1436;
- private int EARTH_RUNE_ID = 557;
- private int RUINS_ID = 2455;
- private int ALTAR_ID = 2481;
- private int PORTAL_ID = 2468;
- private int BANK_BOOTH_ID = 782;
- private RSTilePath ruins_path;
- private RSTilePath altar_path;
- private RSTile [] BANK_TO_RUINS = { new RSTile ( 3253, 3420 ),
- new RSTile ( 3253, 3423 ),
- new RSTile ( 3254, 3426 ),
- new RSTile ( 3257, 3428 ),
- new RSTile ( 3260, 3428 ),
- new RSTile ( 3263, 3428 ),
- new RSTile ( 3266, 3428 ),
- new RSTile ( 3269, 3428 ),
- new RSTile ( 3272, 3429 ),
- new RSTile ( 3275, 3430 ),
- new RSTile ( 3275, 3433 ),
- new RSTile ( 3275, 3436 ),
- new RSTile ( 3275, 3439 ),
- new RSTile ( 3275, 3442 ),
- new RSTile ( 3277, 3446 ),
- new RSTile ( 3280, 3446 ),
- new RSTile ( 3283, 3449 ),
- new RSTile ( 3286, 3452 ),
- new RSTile ( 3289, 3455 ),
- new RSTile ( 3291, 3458 ),
- new RSTile ( 3294, 3461 ),
- new RSTile ( 3296, 3464 ),
- new RSTile ( 3297, 3467 ),
- new RSTile ( 3300, 3470 ),
- new RSTile ( 3303, 3470 ),
- new RSTile ( 3304, 3472 ) };
- private RSArea bank_area = new RSArea ( new RSTile ( 3250, 3419 ), new RSTile ( 3257, 3423 ) );
- private RSArea ruins_area = new RSArea ( new RSTile ( 3303, 3470 ), new RSTile ( 3307, 3482 ) );
- private RSArea portal_area = new RSArea ( new RSTile ( 2647, 4830 ), new RSTile ( 2661, 4836 ) );
- private RSArea altar_area = new RSArea ( new RSTile ( 2652, 4837 ), new RSTile ( 2663, 4844 ) );
- private RSArea exit_area = new RSArea ( new RSTile ( 3299, 3477 ), new RSTile ( 3302, 3479 ) );
- ////////////////////////////////////////////////////////////////////////////////////
- // ON START
- ////////////////////////////////////////////////////////////////////////////////////
- public boolean onStart()
- {
- ruins_path = walking.newTilePath ( BANK_TO_RUINS );
- return true;
- }
- ////////////////////////////////////////////////////////////////////////////////////
- // LOOP
- ////////////////////////////////////////////////////////////////////////////////////
- public int loop()
- {
- main_function();
- return 0;
- }
- ////////////////////////////////////////////////////////////////////////////////////
- // MAIN FUNCTION
- ////////////////////////////////////////////////////////////////////////////////////
- private void main_function()
- {
- mouse.setSpeed ( random ( 7, 10 ) );
- anti_ban_camera();
- if ( walking.getEnergy() > random ( 50, 100 ) )
- {
- if ( !walking.isRunEnabled() )
- {
- walking.setRun ( true );
- }
- }
- if ( at_bank() )
- {
- if ( inventory.contains ( EARTH_RUNE_ID ) )
- {
- bank();
- }
- else if ( inventory.contains ( RUNE_ESS_ID ) )
- {
- walk_to_ruins();
- }
- else
- {
- bank();
- }
- }
- else if ( at_ruins() )
- {
- if ( inventory.contains ( RUNE_ESS_ID ) )
- {
- enter_ruins();
- }
- else
- {
- walk_to_bank();
- }
- }
- else if ( at_portal() )
- {
- if ( inventory.contains ( RUNE_ESS_ID ) )
- {
- walk_to_altar();
- }
- else
- {
- enter_portal();
- }
- }
- else if ( at_altar() )
- {
- if ( inventory.contains ( EARTH_RUNE_ID ) )
- {
- walk_to_portal();
- }
- if ( on_trade_window_1() )
- {
- trade_1();
- }
- if ( on_trade_window_2() )
- {
- trade_2();
- }
- }
- else if ( at_exit() )
- {
- if ( inventory.contains ( RUNE_ESS_ID ) )
- {
- walk_to_ruins();
- }
- else
- {
- walk_to_bank();
- }
- }
- else
- {
- if ( inventory.contains ( RUNE_ESS_ID ) )
- {
- walk_to_ruins();
- }
- else
- {
- walk_to_bank();
- }
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////
- // VALID MASTER
- ////////////////////////////////////////////////////////////////////////////////////
- private boolean valid_master ( String curr_player )
- {
- int result = curr_player.compareTo ( MASTER_NAME );
- if ( result == 0 || result == 128 )
- {
- return ( true );
- }
- else
- {
- return ( false );
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////
- // ACTIONS
- ////////////////////////////////////////////////////////////////////////////////////
- private void enter_ruins()
- {
- try
- {
- RSObject ruins = objects.getNearest ( RUINS_ID );
- ruins.doAction ( "Enter" );
- }
- catch ( Exception e ) {}
- }
- private void enter_portal()
- {
- try
- {
- RSObject portal = objects.getNearest ( PORTAL_ID );
- portal.doAction ( "Enter" );
- }
- catch ( Exception e ) {}
- }
- ////////////////////////////////////////////////////////////////////////////////////
- // LOCATION CHECK
- ////////////////////////////////////////////////////////////////////////////////////
- private boolean at_bank()
- {
- return ( bank_area.contains ( getMyPlayer().getLocation() ) );
- }
- private boolean at_altar()
- {
- return ( altar_area.contains ( getMyPlayer().getLocation() ) );
- }
- private boolean at_ruins()
- {
- return ( ruins_area.contains ( getMyPlayer().getLocation() ) );
- }
- private boolean at_portal()
- {
- return ( portal_area.contains ( getMyPlayer().getLocation() ) );
- }
- private boolean at_exit()
- {
- return ( exit_area.contains ( getMyPlayer().getLocation() ) );
- }
- ////////////////////////////////////////////////////////////////////////////////////
- // MOVEMENT
- ////////////////////////////////////////////////////////////////////////////////////
- private void walk_to_ruins()
- {
- ruins_path.traverse();
- }
- private void walk_to_bank()
- {
- ruins_path.reverse();
- ruins_path.traverse();
- ruins_path.reverse();
- }
- private void walk_to_altar()
- {
- int rand_x = random ( 2654, 2658 );
- int rand_y = random ( 4838, 4840 );
- RSTile [] TO_ALTAR = { new RSTile ( 2657, 4830 ),
- new RSTile ( 2657, 4833 ),
- new RSTile ( 2658, 4836 ),
- new RSTile ( rand_x, rand_y ) };
- altar_path = walking.newTilePath ( TO_ALTAR );
- altar_path.traverse();
- }
- private void walk_to_portal()
- {
- int rand_x = random ( 2654, 2658 );
- int rand_y = random ( 4838, 4840 );
- RSTile [] TO_ALTAR = { new RSTile ( 2657, 4830 ),
- new RSTile ( 2657, 4833 ),
- new RSTile ( 2658, 4836 ),
- new RSTile ( rand_x, rand_y ) };
- altar_path = walking.newTilePath ( TO_ALTAR );
- altar_path.reverse();
- altar_path.traverse();
- altar_path.reverse();
- }
- ////////////////////////////////////////////////////////////////////////////////////
- // BANK
- ////////////////////////////////////////////////////////////////////////////////////
- private void bank()
- {
- try
- {
- RSObject bank_booth = objects.getNearest ( BANK_BOOTH_ID );
- bank_booth.doAction ( "Use-quickly" );
- sleep ( 1000, 1500 );
- bank.depositAll();
- sleep ( 1000, 1200 );
- bank.withdraw ( RUNE_ESS_ID, 28 );
- sleep ( 1000, 1200 );
- bank.close();
- if ( inventory.getCount() != 28 )
- {
- bank();
- }
- }
- catch ( Exception e ) {}
- }
- ////////////////////////////////////////////////////////////////////////////////////
- // TRADE 1
- ////////////////////////////////////////////////////////////////////////////////////
- private void trade_1()
- {
- RSItem essence = inventory.getItem ( RUNE_ESS_ID );
- RSInterface trade_window_1 = interfaces.get ( 335 );
- RSComponent accept_button_1 = trade_window_1.getComponent ( 17 );
- RSComponent wealth_trans_1 = trade_window_1.getComponent ( 43 );
- RSComponent wealth_trans_2 = trade_window_1.getComponent ( 44 );
- sleep ( 200, 300 );
- if ( trade_window_1.isValid() )
- {
- sleep ( 200, 300 );
- while ( wealth_trans_1.getText().contains ( "Nothing" ) )
- {
- essence.doAction ( "Offer-All" );
- sleep ( 500, 750 );
- }
- while ( wealth_trans_2.getText().contains ( "Nothing" ) )
- {
- sleep ( 500, 750 );
- }
- accept_button_1.doAction ( "Accept" );
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////
- // TRADE 2
- ////////////////////////////////////////////////////////////////////////////////////
- private void trade_2()
- {
- RSInterface trade_window_2 = interfaces.get ( 334 );
- RSComponent trade_status = trade_window_2.getComponent ( 34 );
- RSComponent accept_button_2 = trade_window_2.getComponent ( 36 );
- sleep ( 200, 300 );
- if ( trade_window_2.isValid() )
- {
- sleep ( 200, 300 );
- while ( trade_status.getText().contains ( "player has accepted" ) )
- {
- accept_button_2.doAction ( "Accept" );
- }
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////
- // CHECK TRADE WINDOW 1
- ////////////////////////////////////////////////////////////////////////////////////
- private boolean on_trade_window_1()
- {
- return ( interfaces.get ( 335 ).isValid() );
- }
- ////////////////////////////////////////////////////////////////////////////////////
- // CHECK TRADE WINDOW 2
- ////////////////////////////////////////////////////////////////////////////////////
- private boolean on_trade_window_2()
- {
- return ( interfaces.get ( 334 ).isValid() );
- }
- ////////////////////////////////////////////////////////////////////////////////////
- // CHECK TRADE WINDOW
- ////////////////////////////////////////////////////////////////////////////////////
- private boolean on_trade_window()
- {
- return ( interfaces.get ( 334 ).isValid() || interfaces.get ( 335 ).isValid() );
- }
- ////////////////////////////////////////////////////////////////////////////////////
- // ANTI-BAN
- ////////////////////////////////////////////////////////////////////////////////////
- private void anti_ban_camera()
- {
- int randomNum = random ( 1, 50 );
- if ( randomNum == 1 || randomNum == 2 || randomNum == 3 )
- {
- camera.moveRandomly ( random ( 2000, 5500 ) );
- }
- if ( randomNum == 4 || randomNum == 5 )
- {
- camera.setAngle ( random ( 10, 40 ) );
- }
- if ( randomNum == 6 )
- {
- camera.setPitch ( random ( 40, 68 ) );
- }
- if ( randomNum == 7 )
- {
- camera.setPitch ( random ( 20, 45 ) );
- }
- if ( randomNum == 8 )
- {
- camera.setPitch ( random ( 68, 90 ) );
- }
- else
- {
- sleep ( 50, 70 );
- }
- }
- ////////////////////////////////////////////////////////////////////////////////////
- // MESSAGE RECEIVED
- ////////////////////////////////////////////////////////////////////////////////////
- public void messageReceived ( MessageEvent e )
- {
- String sender_name = e.getSender();
- int message_result = sender_name.compareTo ( MASTER_NAME );
- int rand_x = random ( 10, 200 );
- int rand_y = random ( 445, 455 );
- if ( message_result == 0 || message_result == 128 )
- {
- if ( !inventory.contains ( EARTH_RUNE_ID ) )
- {
- mouse.click ( rand_x, rand_y, true );
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement