Advertisement
Guest User

XMAS.java

a guest
Dec 17th, 2015
419
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 24.21 KB | None | 0 0
  1. package scripts.XMas;
  2.  
  3. import org.tribot.api.Timing;
  4. import org.tribot.api2007.Equipment;
  5. import org.tribot.api2007.Game;
  6. import org.tribot.api2007.Inventory;
  7. import org.tribot.api2007.Login;
  8. import org.tribot.api2007.NPCChat;
  9. import org.tribot.api2007.NPCs;
  10. import org.tribot.api2007.Objects;
  11. import org.tribot.api2007.Player;
  12. import org.tribot.api2007.Players;
  13. import org.tribot.api2007.Skills;
  14. import org.tribot.api2007.Skills.SKILLS;
  15. import org.tribot.api2007.Trading;
  16. import org.tribot.api2007.Walking;
  17. import org.tribot.api2007.WebWalking;
  18. import org.tribot.api2007.Equipment.SLOTS;
  19. import org.tribot.api2007.types.RSItem;
  20. import org.tribot.api2007.types.RSNPC;
  21. import org.tribot.api2007.types.RSObject;
  22. import org.tribot.api2007.types.RSPlayer;
  23. import org.tribot.api2007.types.RSTile;
  24. import org.tribot.script.Script;
  25. import org.tribot.script.ScriptManifest;
  26. import org.tribot.script.interfaces.MessageListening07;
  27.  
  28. @ScriptManifest(authors = { "Genka" }, category = "XMAS", name = "XMAS")
  29. public class XMAS extends Script implements MessageListening07{
  30.     private boolean alive = true;
  31.     private int antiGiftID = 13345;
  32.     private int vialOfTearsID = 13347;
  33.     private int tears1 = 13348;
  34.     private int tears2 = 13349;
  35.     private int tears3 = 13350;
  36.     private int tearsfull = 13351;
  37.     private int tearmachine = 13352;
  38.     private int blackSantaID = 13343;
  39.     private int giftID = 13346;
  40.     private RSTile santaPosition = new RSTile(2973, 3341);
  41.     private String status = "N/A";
  42.     private RSTile antiMachine = new RSTile(3207, 3471);
  43.     private RSTile firstKidTile = new RSTile(3219, 3424);
  44.     private RSTile secondKidTile = new RSTile(3215, 3418);
  45.     private RSTile vcastleStairs1 = new RSTile(3212, 3473);
  46.     private RSTile vcastleStairs2 = new RSTile(3212, 3474);
  47.     private RSTile vcastleDoor2 = new RSTile(3219, 3472, 1);
  48.     private RSTile vcastleLadder2 = new RSTile(3224, 3472);
  49.     private RSTile vcastleDoor3 = new RSTile(3218, 3472, 2);
  50.     private RSTile antiGiftTable = new RSTile(3212, 3468);
  51.     private RSTile giftTable = new RSTile(2977, 3338);
  52.     private RSTile vialCrate = new RSTile(3209, 3468);
  53.     private RSTile thirdKidDoor = new RSTile(3239, 3391);
  54.     private RSTile fourthKidDoor = new RSTile(3243, 3396); // 2 objects
  55.     private RSTile fourthKidOutDoor = new RSTile(3248, 3396);
  56.     private int foodID[] = new int[] {2309, 315};
  57.    
  58.     @Override
  59.     public void run() {
  60.         onStart();
  61.         while(alive){
  62.             if(Skills.getCurrentLevel(SKILLS.HITPOINTS) < 6){
  63.                 RSItem food[] = Inventory.find(foodID);
  64.                 if(food.length > 0){
  65.                     food[0].click("Eat");
  66.                     int hp = Skills.getCurrentLevel(SKILLS.HITPOINTS);
  67.                     long t = System.currentTimeMillis();
  68.                     while(Skills.getCurrentLevel(SKILLS.HITPOINTS) == hp && Timing.timeFromMark(t) < 2000){
  69.                         sleep(10,100);
  70.                     }
  71.                 }
  72.             }
  73.             if(NPCChat.getMessage() != null){
  74.                 NPCChat.clickContinue(false);
  75.                 sleep(600,800);
  76.             }
  77.             setStatus();
  78.             doShit();          
  79.             sleep(10,50);
  80.         }      
  81.     }
  82.    
  83.     private void onStart(){
  84.         equipItem(1277, SLOTS.WEAPON);
  85.         equipItem(1171, SLOTS.SHIELD);
  86.     }
  87.    
  88.     private void equipItem(int ID, SLOTS slot){
  89.         RSItem[] item = Inventory.find(ID);
  90.         if(Equipment.getItem(slot) == null){
  91.             if(item.length > 0){
  92.                 item[0].click("W");
  93.                 long t = System.currentTimeMillis();
  94.                 while(Equipment.getItem(slot) == null && Timing.timeFromMark(t) < 2000){
  95.                     sleep(10,100);
  96.                 }
  97.             }
  98.         }
  99.     }
  100.    
  101.     private int getSetting(){
  102.         return Game.getSetting(1314);
  103.     }
  104.    
  105.     private void setStatus(){
  106.         if(getSetting() == 0){
  107.             status = "Not started";
  108.         }
  109.         if(getSetting() == 10){
  110.             status = "Talk to antisanta";
  111.         }
  112.         if(getSetting() == 20){            
  113.             if(Inventory.getCount(antiGiftID) == 4 && Inventory.getCount(vialOfTearsID) == 1){
  114.                 status = "N/A";
  115.             } else {
  116.                 status = "Take anti supplies";
  117.             }
  118.         }
  119.         if(Inventory.getCount(tearmachine) == 1 && Inventory.getCount(blackSantaID) == 0){
  120.             status = "Use machine";
  121.         }
  122.         if(notContainsItems() && Player.getPosition().getPlane() == 2 && getSetting() != 20){
  123.             status = "Talk to antisanta";
  124.         }
  125.         if(Inventory.getCount(blackSantaID) == 1 && !status.equals("Get gifts")){
  126.             status = "To real santa";
  127.         }
  128.         if(Inventory.getCount(giftID) > 0){
  129.             status = "To kids";
  130.         }
  131.         if(Inventory.getCount(13174) == 2){
  132.             println("Event finished");
  133.             tradeLoot();
  134.         }
  135.     }
  136.    
  137.     private void tradeLoot(){
  138.         while(alive){
  139.             RSPlayer[] mule = Players.find("Krissu10");
  140.             if(mule.length > 0){
  141.                 if(mule[0].isOnScreen() && mule[0].isClickable() && !isTradeOpen()){
  142.                     mule[0].click("Trade with " + mule[0].getName());
  143.                     long t = System.currentTimeMillis();
  144.                     while(!isTradeOpen() && Timing.timeFromMark(t) < 6000){
  145.                         sleep(10,300);
  146.                     }
  147.                 } else if(!mule[0].isClickable() && !isTradeOpen()){
  148.                     Walking.blindWalkTo(mule[0].getPosition());
  149.                 }
  150.                 if(isTradeOpen() && Trading.getOfferedItems(false).length < 3){
  151.                     Trading.offer(2, "Partyhat set");
  152.                     Trading.offer(2, "Santa hat");
  153.                     Trading.offer(2, "Christmas cracker");
  154.                 }
  155.                 if(Trading.getOfferedItems(false).length == 3){
  156.                     Trading.accept();
  157.                 }
  158.             }
  159.         }
  160.         println("Event done");
  161.     }
  162.    
  163.     private boolean isTradeOpen(){
  164.         return Trading.getWindowState() != null;
  165.     }
  166.    
  167.     private boolean notContainsItems(){
  168.         return Inventory.getCount(new int[] {tearmachine, blackSantaID, antiGiftID, vialOfTearsID, tears1, tears2, tears3, tearsfull, giftID}) == 0;
  169.     }
  170.    
  171.     private void doShit(){
  172.         if(status.equals("Not started") || status.equals("To real santa")){
  173.             if(Player.getPosition().distanceTo(santaPosition) > 10 && Player.getPosition().getPlane() == 0 && Player.getPosition().distanceTo(santaPosition) < 1000){
  174.                 WebWalking.walkTo(santaPosition);
  175.             } else if(Player.getPosition().distanceTo(santaPosition) <=10) {
  176.                 RSNPC[] santa = NPCs.find("Santa Claus");
  177.                 if(santa.length > 0){
  178.                     if(NPCChat.getMessage() == null && NPCChat.getOptions() == null){
  179.                         if(santa[0].isOnScreen() && santa[0].isClickable()){
  180.                             santa[0].click("Talk-to");
  181.                             long t = System.currentTimeMillis();
  182.                             while(NPCChat.getMessage() == null && Timing.timeFromMark(t) < 3000){
  183.                                 sleep(10,200);
  184.                             }
  185.                         } else if (!santa[0].isClickable() && !Player.isMoving()){
  186.                             Walking.blindWalkTo(santa[0].getPosition());
  187.                             sleep(1000);
  188.                         }
  189.                     } else {
  190.                         if(NPCChat.getMessage() != null && (NPCChat.getMessage().startsWith("What am I supposed") || NPCChat.getMessage().startsWith("You need to cheer up"))){
  191.                             status = "Get gifts";
  192.                         }
  193.                         NPCChat.clickContinue(false);
  194.                         chatNPC("Is there anything");
  195.                         chatNPC("Perhaps I could find out");
  196.                     }
  197.                 }
  198.             }
  199.         }
  200.         if(status.equals("Talk to antisanta") || Inventory.getCount(tearsfull) == 1){
  201.             if(Player.getPosition().distanceTo(vcastleStairs1) > 3 && Player.getPosition().getPlane() == 0){
  202.                 WebWalking.walkTo(vcastleStairs1);
  203.             } else if (Player.getPosition().distanceTo(vcastleStairs1) <= 3 && Player.getPosition().getPlane() == 0){
  204.                 RSObject[] stairs = Objects.getAt(vcastleStairs1);
  205.                 if(stairs.length > 0 && !Player.isMoving()){
  206.                     stairs[0].click("Climb-up");
  207.                     long t = System.currentTimeMillis();
  208.                     while(Player.getPosition().getPlane() == 0 && Timing.timeFromMark(t) < 1000){
  209.                         sleep(10,200);
  210.                     }
  211.                 }
  212.             } else if (Player.getPosition().distanceTo(vcastleLadder2) < 15 && Player.getPosition().getPlane() == 1){
  213.                 RSObject[] door = Objects.getAt(vcastleDoor2);
  214.                 RSObject[] ladder = Objects.getAt(vcastleLadder2);
  215.                 if(door.length > 0){
  216.                     if(door[0].isClickable() && !Player.isMoving()){
  217.                         door[0].click("Open");
  218.                         sleep(1000);
  219.                     } else {
  220.                         Walking.blindWalkTo(door[0].getPosition());
  221.                     }
  222.                 } else {
  223.                     if(Player.getPosition().distanceTo(vcastleLadder2) > 3 && !Player.isMoving()){
  224.                         Walking.blindWalkTo(vcastleLadder2);
  225.                         sleep(1000);
  226.                     } else if (Player.getPosition().distanceTo(vcastleLadder2) < 4){
  227.                         if(ladder.length > 0){
  228.                             if(ladder[0].isClickable() && !Player.isMoving()){
  229.                                 ladder[0].click("Climb");
  230.                                 sleep(1000);
  231.                             }
  232.                         }
  233.                     }
  234.                 }
  235.             } else if (Player.getPosition().distanceTo(vcastleDoor3) < 15 && Player.getPosition().getPlane() == 2){
  236.                 RSObject[] seconddoor = Objects.getAt(vcastleDoor3);
  237.                 if(seconddoor.length > 1){
  238.                     if(Player.getPosition().distanceTo(vcastleDoor3) > 1 && !Player.isMoving()){
  239.                         Walking.blindWalkTo(vcastleDoor3);
  240.                         sleep(1000);
  241.                     } else {
  242.                         seconddoor[1].click("Open");
  243.                         sleep(1000);
  244.                     }
  245.                 } else if(Player.getPosition().distanceTo(antiGiftTable) > 5 && !Player.isMoving()){
  246.                     Walking.blindWalkTo(antiGiftTable);
  247.                     sleep(1000);
  248.                 } else {
  249.                     RSNPC[] antisanta = NPCs.find("Anti-Santa");
  250.                     if(antisanta.length > 0){
  251.                         if(NPCChat.getMessage() == null && NPCChat.getOptions() == null){
  252.                             if(antisanta[0].isOnScreen() && antisanta[0].isClickable()){
  253.                                 antisanta[0].click("Talk-to");
  254.                                 long t = System.currentTimeMillis();
  255.                                 while(Player.isMoving() && Timing.timeFromMark(t) < 3000){
  256.                                     sleep(10,200);
  257.                                 }
  258.                             }
  259.                         } else {
  260.                             if(NPCChat.getMessage() != null && NPCChat.getMessage().startsWith("I've purified")){
  261.                                 status = "Use machine";
  262.                             }
  263.                             NPCChat.clickContinue(false);
  264.                             chatNPC("Wait");
  265.                             chatNPC("I've grown");
  266.                             chatNPC("I seek to");
  267.                         }
  268.                     }
  269.                 }
  270.             }
  271.         }
  272.         if (status.equals("Take anti supplies")){
  273.             if(Inventory.getCount(antiGiftID) < 4){
  274.                 RSObject[] table = Objects.getAt(antiGiftTable);
  275.                 if(table.length > 0){
  276.                     if(table[0].isOnScreen() && table[0].isClickable()){
  277.                         table[0].click("Take-present");
  278.                         long t = System.currentTimeMillis();
  279.                         int count = Inventory.getCount(antiGiftID);
  280.                         while(Inventory.getCount(antiGiftID) == count && Timing.timeFromMark(t) < 2000){
  281.                             sleep(10,200);
  282.                         }
  283.                     }
  284.                 }
  285.             } else if (Inventory.getCount(antiGiftID) == 4 && Inventory.getCount(vialOfTearsID) == 0){
  286.                 RSObject[] crate = Objects.getAt(vialCrate);
  287.                 if(crate.length > 0){
  288.                     if(crate[0].isOnScreen() && crate[0].isClickable()){
  289.                         crate[0].click("Search");
  290.                         long t = System.currentTimeMillis();
  291.                         while(Inventory.getCount(vialOfTearsID) == 0 && Timing.timeFromMark(t) < 2000){
  292.                             sleep(10,200);
  293.                         }
  294.                     }
  295.                 }
  296.             }
  297.         }
  298.         if(status.equals("N/A") || status.equals("To real santa")){
  299.             if((Inventory.getCount(antiGiftID) == 4 && Inventory.getCount(vialOfTearsID) == 1) || status.equals("To real santa")){
  300.                 if(Player.getPosition().getPlane() == 2){
  301.                     RSObject[] seconddoor = Objects.getAt(vcastleDoor3);
  302.                     if(seconddoor.length > 1){
  303.                         if(Player.getPosition().distanceTo(vcastleDoor3) > 1 && !Player.isMoving()){
  304.                             Walking.blindWalkTo(vcastleDoor3);
  305.                             sleep(1000);
  306.                         } else {
  307.                             seconddoor[1].click("Open");
  308.                             sleep(1000);
  309.                         }
  310.                     } else {
  311.                         RSObject[] ladder = Objects.getAt(vcastleLadder2);
  312.                         if(ladder.length > 0){
  313.                             if(ladder[0].isOnScreen() && ladder[0].isClickable() && !Player.isMoving()){
  314.                                 ladder[0].click("Climb");
  315.                                 sleep(1000);
  316.                             } else if(!Player.isMoving()){
  317.                                 Walking.blindWalkTo(ladder[0].getPosition());
  318.                                 sleep(1000);
  319.                             }
  320.                         }
  321.                     }
  322.                 } else if (Player.getPosition().getPlane() == 1){
  323.                     RSObject[] door = Objects.getAt(vcastleDoor2);
  324.                     RSObject[] stairs = Objects.getAt(vcastleStairs2);
  325.                     if(door.length > 0){
  326.                         if(door[0].isClickable() && !Player.isMoving()){
  327.                             door[0].click("Open");
  328.                             sleep(1000);
  329.                         } else {
  330.                             Walking.blindWalkTo(door[0].getPosition());
  331.                         }
  332.                     } else {
  333.                         if(Player.getPosition().distanceTo(vcastleStairs2) > 2 && !Player.isMoving()){
  334.                             Walking.blindWalkTo(vcastleStairs2);
  335.                             sleep(600);
  336.                         }
  337.                         if (Player.getPosition().distanceTo(vcastleStairs2) < 6){
  338.                             if(stairs.length > 0){
  339.                                 if(stairs[0].isClickable() && !Player.isMoving()){
  340.                                     stairs[0].click("Climb-down");
  341.                                     sleep(1000);
  342.                                 }
  343.                             }
  344.                         }
  345.                     }
  346.                 } else if (Player.getPosition().getPlane() == 0 && !status.equals("To real santa")){
  347.                     if(Player.getPosition().distanceTo(firstKidTile) > 2){
  348.                         WebWalking.walkTo(firstKidTile);
  349.                     } else {
  350.                         RSNPC[] kid = NPCs.find("Happy gnome child");
  351.                         if(kid.length > 0){
  352.                             if(kid.length > 0){
  353.                                 if(NPCChat.getMessage() == null && NPCChat.getOptions() == null){
  354.                                     if(kid[0].isOnScreen() && kid[0].isClickable()){
  355.                                         kid[0].click("Talk-to");
  356.                                         sleep(1000);
  357.                                         long t = System.currentTimeMillis();
  358.                                         while(NPCChat.getMessage() == null && Timing.timeFromMark(t) < 3000){
  359.                                             sleep(10,200);
  360.                                         }
  361.                                     }
  362.                                 } else {
  363.                                     NPCChat.clickContinue(false);
  364.                                     chatNPC("What are you");
  365.                                     chatNPC("Well, that");
  366.                                     chatNPC("Give Anti");
  367.                                 }
  368.                             }
  369.                         }
  370.                     }
  371.                 }
  372.             } else if (Inventory.getCount(antiGiftID) == 3 && Inventory.getCount(vialOfTearsID) == 1){
  373.                 RSNPC[] kid = NPCs.find("Crying gnome child");
  374.                 if(kid.length > 0){
  375.                     if(kid[0].isClickable()){
  376.                         kid[0].click("Collect-tears");
  377.                         sleep(1400);
  378.                     }
  379.                 }
  380.             } else if (Inventory.getCount(antiGiftID) == 3 && Inventory.getCount(tears1) == 1){
  381.                 if(Player.getPosition().distanceTo(secondKidTile) > 2){
  382.                     WebWalking.walkTo(secondKidTile);
  383.                 } else {
  384.                     RSNPC[] kid = NPCs.find("Happy child");
  385.                     if(kid.length > 0){
  386.                         if(kid.length > 0){
  387.                             if(NPCChat.getMessage() == null && NPCChat.getOptions() == null){
  388.                                 if(kid[0].isOnScreen() && kid[0].isClickable()){
  389.                                     kid[0].click("Talk-to");
  390.                                     sleep(1000);
  391.                                     long t = System.currentTimeMillis();
  392.                                     while(NPCChat.getMessage() == null && Timing.timeFromMark(t) < 3000){
  393.                                         sleep(10,200);
  394.                                     }
  395.                                 }
  396.                             } else {
  397.                                 NPCChat.clickContinue(false);
  398.                                 chatNPC("What are you");
  399.                                 chatNPC("Santa doesn");
  400.                                 chatNPC("Give Anti");
  401.                             }
  402.                         }
  403.                     }
  404.                 }
  405.             } else if (Inventory.getCount(antiGiftID) == 2 && Inventory.getCount(tears1) == 1){
  406.                 RSNPC[] kid = NPCs.find("Crying child");
  407.                 if(kid.length > 0){
  408.                     if(kid[0].isClickable()){
  409.                         kid[0].click("Collect-tears");
  410.                         sleep(1400);
  411.                     }
  412.                 }
  413.             } else if (Inventory.getCount(antiGiftID) == 2 && Inventory.getCount(tears2) == 1){
  414.                 if(Player.getPosition().distanceTo(thirdKidDoor) > 5){
  415.                     WebWalking.walkTo(thirdKidDoor);
  416.                 } else {
  417.                     RSObject[] door = Objects.getAt(thirdKidDoor);
  418.                     if(door.length > 0){
  419.                         if(door[0].isClickable() && !Player.isMoving()){
  420.                             door[0].click("Open");
  421.                             sleep(1000);
  422.                         } else {
  423.                             Walking.blindWalkTo(door[0].getPosition());
  424.                         }
  425.                     } else {                   
  426.                         RSNPC[] kid = NPCs.find("Happy child");
  427.                         if(kid.length > 0){
  428.                             if(kid.length > 0){
  429.                                 if(NPCChat.getMessage() == null && NPCChat.getOptions() == null){
  430.                                     if(kid[0].isOnScreen() && kid[0].isClickable()){
  431.                                         kid[0].click("Talk-to");
  432.                                         sleep(1000);
  433.                                         long t = System.currentTimeMillis();
  434.                                         while(NPCChat.getMessage() == null && Timing.timeFromMark(t) < 3000){
  435.                                             sleep(10,200);
  436.                                         }
  437.                                     }
  438.                                 } else {
  439.                                     NPCChat.clickContinue(false);
  440.                                     chatNPC("Is that your");
  441.                                     chatNPC("That's not");
  442.                                     chatNPC("Give Anti");
  443.                                 }
  444.                             }
  445.                         }
  446.                     }
  447.                 }
  448.             } else if (Inventory.getCount(antiGiftID) == 1 && Inventory.getCount(tears2) == 1){
  449.                 RSNPC[] kid = NPCs.find("Crying child");
  450.                 if(kid.length > 0){
  451.                     if(kid[0].isClickable()){
  452.                         kid[0].click("Collect-tears");
  453.                         sleep(1400);
  454.                     }
  455.                 }
  456.             } else if (Inventory.getCount(antiGiftID) == 1 && Inventory.getCount(tears3) == 1){
  457.                 RSObject[] door = Objects.getAt(fourthKidDoor);
  458.                 if(door.length > 1){
  459.                     if(door[1].isClickable()){
  460.                         door[1].click("Open");
  461.                     }
  462.                 } else {
  463.                     RSNPC[] kid = NPCs.find("Happy child");
  464.                     if(kid.length > 0){
  465.                         if(kid.length > 0){
  466.                             if(NPCChat.getMessage() == null && NPCChat.getOptions() == null){
  467.                                 if(kid[0].isOnScreen() && kid[0].isClickable()){
  468.                                     kid[0].click("Talk-to");
  469.                                     sleep(1000);
  470.                                     long t = System.currentTimeMillis();
  471.                                     while(NPCChat.getMessage() == null && Timing.timeFromMark(t) < 3000){
  472.                                         sleep(10,200);
  473.                                     }
  474.                                 } else if(!Player.isMoving()) {
  475.                                     Walking.blindWalkTo(new RSTile(3244, 3393));
  476.                                     sleep(1000);
  477.                                 }
  478.                             } else {
  479.                                 NPCChat.clickContinue(false);
  480.                                 chatNPC("What are you");
  481.                                 chatNPC("Santa doesn");
  482.                                 chatNPC("Give Anti");
  483.                             }
  484.                         }
  485.                     }
  486.                 }
  487.             } else if (Inventory.getCount(antiGiftID) == 0 && Inventory.getCount(tears3) == 1){
  488.                 RSNPC[] kid = NPCs.findNearest("Crying child");
  489.                 if(kid.length > 0){
  490.                     if(kid[0].isClickable()){
  491.                         kid[0].click("Collect-tears");
  492.                         sleep(1400);
  493.                     }
  494.                 }
  495.             } else if (Inventory.getCount(tearsfull) == 1 && Player.getPosition().getPlane() == 0){
  496.                 if(Player.getPosition().distanceTo(fourthKidOutDoor) < 10){
  497.                     RSObject[] door = Objects.getAt(fourthKidOutDoor);
  498.                     if(door.length > 0){
  499.                         if(door[0].isClickable() && !Player.isMoving()){
  500.                             door[0].click("Open");
  501.                             sleep(1000);
  502.                         }
  503.                     } else if(Player.getPosition().distanceTo(vcastleStairs1) > 3){
  504.                         WebWalking.walkTo(vcastleStairs1);
  505.                     }
  506.                 } else if (Player.getPosition().distanceTo(vcastleStairs1) <= 3){
  507.                     RSObject[] stairs = Objects.getAt(vcastleStairs1);
  508.                     if(stairs.length > 0){
  509.                         stairs[0].click("Climb-up");
  510.                         sleep(1000);
  511.                     }
  512.                 } else if(Player.getPosition().distanceTo(vcastleStairs1) > 3){
  513.                     WebWalking.walkTo(vcastleStairs1);
  514.                 }
  515.             }
  516.         }
  517.         if(status.equals("Use machine")){
  518.             RSObject[] machine = Objects.getAt(antiMachine);
  519.             RSItem[] vial = Inventory.find(tearmachine);
  520.             if(machine.length > 0){
  521.                 if(machine[0].isClickable() && machine[0].isOnScreen() && NPCChat.getMessage() == null && !Player.isMoving()){
  522.                     if(vial.length > 0){
  523.                         vial[0].click("Use");
  524.                         sleep(100,300);
  525.                         machine[0].click("Use");
  526.                         long t = System.currentTimeMillis();
  527.                         while(NPCChat.getMessage() == null && Timing.timeFromMark(t) < 2000){
  528.                             sleep(10,300);
  529.                         }
  530.                     }
  531.                 } else {
  532.                     if(!machine[0].isClickable()){
  533.                         Walking.blindWalkTo(machine[0].getPosition());
  534.                     }
  535.                     NPCChat.clickContinue(false);
  536.                 }
  537.             }
  538.         }
  539.         if(status.equals("Talk to antisanta")){
  540.             RSNPC[] antisanta = NPCs.find("Anti-Santa");
  541.             if(antisanta.length > 0){
  542.                 if(NPCChat.getMessage() == null && NPCChat.getOptions() == null){
  543.                     if(antisanta[0].isOnScreen() && antisanta[0].isClickable()){
  544.                         antisanta[0].click("Talk-to");
  545.                         long t = System.currentTimeMillis();
  546.                         while(Player.isMoving() && Timing.timeFromMark(t) < 3000){
  547.                             sleep(10,200);
  548.                         }
  549.                     }
  550.                 } else {
  551.                     if(NPCChat.getMessage() != null && NPCChat.getMessage().startsWith("I've purified")){
  552.                         status = "Use machine";
  553.                     }
  554.                     NPCChat.clickContinue(false);
  555.                     chatNPC("Wait");
  556.                     chatNPC("I've grown");
  557.                     chatNPC("I seek to");
  558.                 }
  559.             }
  560.         }
  561.         if (status.equals("Get gifts")){
  562.             if(Player.getPosition().distanceTo(giftTable) > 2){
  563.                 Walking.blindWalkTo(giftTable);
  564.             } else {
  565.                 int tries = 0;
  566.                 while(Inventory.getCount(giftID) < 4){
  567.                     RSObject[] table = Objects.getAt(giftTable);
  568.                     if(table.length > 0){
  569.                         if(table[0].isOnScreen() && table[0].isClickable()){
  570.                             table[0].click("Take-present");
  571.                             long t = System.currentTimeMillis();
  572.                             int count = Inventory.getCount(giftID);
  573.                             while(Inventory.getCount(giftID) == count && Timing.timeFromMark(t) < 2000){
  574.                                 sleep(10,200);
  575.                             }
  576.                         }
  577.                     }
  578.                     tries++;
  579.                     if(tries > 500){
  580.                         break;
  581.                     }
  582.                 }
  583.             }
  584.         } if (status.equals("To kids")){
  585.             if(Inventory.getCount(giftID) == 4){
  586.                 if(Player.getPosition().distanceTo(firstKidTile) > 2){
  587.                     WebWalking.walkTo(firstKidTile);
  588.                 } else {
  589.                     RSNPC[] kid = NPCs.find("Crying gnome child");
  590.                     if(kid.length > 0){
  591.                         if(kid.length > 0){
  592.                             if(NPCChat.getMessage() == null && NPCChat.getOptions() == null){
  593.                                 if(kid[0].isOnScreen() && kid[0].isClickable()){
  594.                                     kid[0].click("Talk-to");
  595.                                     sleep(1000);
  596.                                     long t = System.currentTimeMillis();
  597.                                     while(NPCChat.getMessage() == null && Timing.timeFromMark(t) < 3000){
  598.                                         sleep(10,200);
  599.                                     }
  600.                                 }
  601.                             } else {
  602.                                 NPCChat.clickContinue(false);
  603.                                 chatNPC("Give present");
  604.                             }
  605.                         }
  606.                     }
  607.                 }
  608.             }
  609.             if(Inventory.getCount(giftID) == 3){
  610.                 if(Player.getPosition().distanceTo(secondKidTile) > 2){
  611.                     WebWalking.walkTo(secondKidTile);
  612.                 } else {
  613.                     RSNPC[] kid = NPCs.find("Crying child");
  614.                     if(kid.length > 0){
  615.                         if(kid.length > 0){
  616.                             if(NPCChat.getMessage() == null && NPCChat.getOptions() == null){
  617.                                 if(kid[0].isOnScreen() && kid[0].isClickable()){
  618.                                     kid[0].click("Talk-to");
  619.                                     sleep(1000);
  620.                                     long t = System.currentTimeMillis();
  621.                                     while(NPCChat.getMessage() == null && Timing.timeFromMark(t) < 3000){
  622.                                         sleep(10,200);
  623.                                     }
  624.                                 }
  625.                             } else {
  626.                                 NPCChat.clickContinue(false);
  627.                                 chatNPC("Give present");
  628.                             }
  629.                         }
  630.                     }
  631.                 }
  632.             }
  633.             if(Inventory.getCount(giftID) == 2){
  634.                 if(Player.getPosition().distanceTo(thirdKidDoor) > 5){
  635.                     WebWalking.walkTo(thirdKidDoor);
  636.                 } else {
  637.                     RSObject[] door = Objects.getAt(thirdKidDoor);
  638.                     if(door.length > 0){
  639.                         if(door[0].isClickable() && !Player.isMoving()){
  640.                             door[0].click("Open");
  641.                             sleep(1000);
  642.                         } else {
  643.                             Walking.blindWalkTo(door[0].getPosition());
  644.                         }
  645.                     } else {                   
  646.                         RSNPC[] kid = NPCs.find("Crying child");
  647.                         if(kid.length > 0){
  648.                             if(kid.length > 0){
  649.                                 if(NPCChat.getMessage() == null && NPCChat.getOptions() == null){
  650.                                     if(kid[0].isOnScreen() && kid[0].isClickable()){
  651.                                         kid[0].click("Talk-to");
  652.                                         sleep(1000);
  653.                                         long t = System.currentTimeMillis();
  654.                                         while(NPCChat.getMessage() == null && Timing.timeFromMark(t) < 3000){
  655.                                             sleep(10,200);
  656.                                         }
  657.                                     }
  658.                                 } else {
  659.                                     NPCChat.clickContinue(false);
  660.                                     chatNPC("Give present");
  661.                                 }
  662.                             }
  663.                         }
  664.                     }
  665.                 }
  666.             }
  667.             if(Inventory.getCount(giftID) == 1){
  668.                 RSObject[] door = Objects.getAt(fourthKidDoor);
  669.                 if(door.length > 1){
  670.                     if(door[1].isClickable()){
  671.                         door[1].click("Open");
  672.                     }
  673.                 } else {
  674.                     RSNPC[] kid = NPCs.find("Crying child");
  675.                     if(kid.length > 0){
  676.                         if(kid.length > 0){
  677.                             if(NPCChat.getMessage() == null && NPCChat.getOptions() == null){
  678.                                 if(kid[0].isOnScreen() && kid[0].isClickable()){
  679.                                     kid[0].click("Talk-to");
  680.                                     sleep(1000);
  681.                                     long t = System.currentTimeMillis();
  682.                                     while(NPCChat.getMessage() == null && Timing.timeFromMark(t) < 3000){
  683.                                         sleep(10,200);
  684.                                     }
  685.                                 } else if(!Player.isMoving()){
  686.                                     Walking.blindWalkTo(new RSTile(3244, 3393));
  687.                                     sleep(1000);
  688.                                 }
  689.                             } else {
  690.                                 NPCChat.clickContinue(false);
  691.                                 chatNPC("Give present");
  692.                             }
  693.                         }
  694.                     }
  695.                 }
  696.             }
  697.         }
  698.     }
  699.    
  700.     private void chatNPC(String option){
  701.         NPCChat.selectOption(option, true);
  702.         long t = System.currentTimeMillis();
  703.         while(NPCChat.getMessage() == null && NPCChat.getOptions() == null && Timing.timeFromMark(t) < 3000){
  704.             sleep(10,200);
  705.         }
  706.     }
  707.  
  708.     @Override
  709.     public void clanMessageReceived(String arg0, String arg1) {
  710.         // TODO Auto-generated method stub
  711.        
  712.     }
  713.  
  714.     @Override
  715.     public void duelRequestReceived(String arg0, String arg1) {
  716.         // TODO Auto-generated method stub
  717.        
  718.     }
  719.  
  720.     @Override
  721.     public void personalMessageReceived(String arg0, String arg1) {
  722.         // TODO Auto-generated method stub
  723.        
  724.     }
  725.  
  726.     @Override
  727.     public void playerMessageReceived(String arg0, String arg1) {
  728.         // TODO Auto-generated method stub
  729.        
  730.     }
  731.  
  732.     @Override
  733.     public void serverMessageReceived(String arg0) {
  734.         if(arg0.startsWith("Accepted trade")){
  735.             Login.logout();
  736.             alive = false;
  737.         }
  738.        
  739.     }
  740.  
  741.     @Override
  742.     public void tradeRequestReceived(String arg0) {
  743.         // TODO Auto-generated method stub
  744.        
  745.     }
  746.    
  747.  
  748. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement