Advertisement
Guest User

Main

a guest
Oct 3rd, 2015
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.10 KB | None | 0 0
  1. package scripts.Cannon;
  2.  
  3. import javax.swing.JFrame;
  4. import org.tribot.api.General;
  5. import org.tribot.api.input.Mouse;
  6. import org.tribot.api2007.Game;
  7. import org.tribot.api2007.Inventory;
  8. import org.tribot.api2007.Player;
  9. import org.tribot.api2007.Skills;
  10. import org.tribot.api2007.Skills.SKILLS;
  11. import org.tribot.script.Script;
  12. import org.tribot.script.ScriptManifest;
  13. import org.tribot.script.interfaces.MessageListening07;
  14. import org.tribot.script.interfaces.Painting;
  15.  
  16. import java.awt.*;
  17. import javax.imageio.ImageIO;
  18. import java.io.IOException;
  19. import java.net.URL;
  20.  
  21. @ScriptManifest(authors = { "Netami" }, category = "Combat", name = "Netami's Cannonner", version = 1.00, description = "Uses your cannon for you! Supports cannon decay and food usage", gameMode = 1)
  22.  
  23.  
  24. public class Main extends Script implements MessageListening07, Painting{
  25.  
  26. @Override
  27. public void run() {
  28. Methods.GetNextLoad(Variables.NextLoad);
  29. Methods.GetNextEat(Variables.NextEat);
  30.  
  31. CannonGUI GUI = new CannonGUI();
  32. JFrame f = new JFrame();
  33. f.getContentPane();
  34. f.add(GUI);
  35. f.setVisible(true);
  36. Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize();
  37. int screenW = (screensize.width) / 2;
  38. int screenH = (screensize.height / 2);
  39. f.setLocation(screenW / 2, screenH / 2);
  40. f.setSize(385,175);
  41.  
  42. while(Variables.GUI_Complete == false){
  43. sleep(250);
  44. }
  45. f.setVisible(false);
  46. Mouse.setSpeed(Variables.MouseSpeed);
  47. Variables.CannonSpot = Player.getPosition();
  48.  
  49. while (Variables.RunScript){
  50. sleep(100,250);
  51. stateHandler();
  52. }
  53. }
  54.  
  55. enum State {
  56. PUT_DOWN_CANNON,
  57. LOAD_CANNON,
  58. PICK_UP_CANNON,
  59. EAT_FOOD,
  60. WAIT;
  61. }
  62.  
  63. public static State getState(){
  64. if(Methods.OurCannon().length > 0){
  65. if(Skills.getCurrentLevel(SKILLS.HITPOINTS) <= Variables.NextEat && Methods.randomPercent(80, 100)){
  66. Methods.GetNextEat(Variables.NextEat);
  67. return State.EAT_FOOD;
  68. }
  69. if(Variables.NeedPickup){
  70. return State.PICK_UP_CANNON;
  71. }
  72. if(Variables.NeedReload){
  73. if(Inventory.find("Cannonball").length > 0){
  74. return State.LOAD_CANNON;
  75. }else{
  76. return State.PICK_UP_CANNON;
  77. }
  78.  
  79. }
  80. if(Game.getSetting(3) <= Variables.NextLoad && Methods.randomPercent(70,100)){
  81. Methods.GetNextLoad(Variables.NextLoad);
  82. return State.LOAD_CANNON;
  83. }else
  84. {
  85. return State.WAIT;
  86. }
  87. }else{
  88. if(Inventory.find("Cannonball").length > 0){
  89. return State.PUT_DOWN_CANNON;
  90. }else{
  91. General.println("We have no cannonballs! Ending script...");
  92. Variables.RunScript = false;
  93. return State.WAIT;
  94. }
  95. }
  96. }
  97.  
  98. public static void stateHandler(){
  99. switch (getState()){
  100. case PUT_DOWN_CANNON:
  101. Methods.PutDownCannon();
  102. break;
  103. case LOAD_CANNON:
  104. Methods.LoadCannon();
  105. break;
  106. case PICK_UP_CANNON:
  107. Methods.PickUpCannon();
  108. break;
  109. case WAIT:
  110. Methods.Wait();
  111. break;
  112. case EAT_FOOD:
  113. Methods.Eat();
  114. break;
  115. }
  116. }
  117.  
  118. //START: Code generated using Enfilade's Easel
  119. private Image getImage(String url) {
  120. try {
  121. return ImageIO.read(new URL(url));
  122. } catch(IOException e) {
  123. return null;
  124. }
  125. }
  126.  
  127. private final Color white = new Color(255, 255, 255);
  128. private final Color darkGray = new Color(29, 29, 29);
  129.  
  130. private final BasicStroke stroke1 = new BasicStroke(1);
  131.  
  132. private final Font font1 = new Font("Arial", 1, 13);
  133. private final Font font2 = new Font("Arial", 1, 10);
  134.  
  135. private final Image img1 = getImage("http://ge.2007hq.com/img/items/large/2.png");
  136.  
  137.  
  138. public void onPaint(Graphics g1) {
  139. final RenderingHints antialias = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  140. double percent = (double)128 * ((double)Skills.getPercentToNextLevel(Skills.SKILLS.RANGED) / (double)100);
  141. Graphics2D g = (Graphics2D)g1;
  142. g.setRenderingHints(antialias);
  143. g.setColor(darkGray);
  144. g.fillRoundRect(354, 348, 136, 100, 16, 16);
  145. g.setColor(white);
  146. g.setStroke(stroke1);
  147. g.drawRoundRect(354, 348, 136, 100, 16, 16);
  148. g.setFont(font1);
  149. g.drawString("Netami's Cannonner", 358, 365);
  150. g.drawImage(img1, 276, 373, null);
  151. g.drawImage(img1, 238, 372, null);
  152. g.drawImage(img1, 257, 336, null);
  153. g.setFont(font2);
  154. g.drawString("Current Range: " + Skills.getCurrentLevel(SKILLS.RANGED), 358, 385);
  155. g.drawString("XP Gained: " + (Skills.getXP(SKILLS.RANGED) - Variables.StartingXP), 358, 400);
  156. g.setColor(Color.white);
  157. g.fillRoundRect(358, 424, (int)percent,15,9,9);
  158. g.drawRoundRect(358, 424, 128, 15,9,9);
  159. g.drawString("Cannonballs left: " + Inventory.find("Cannonball")[0].getStack(), 358, 415);
  160. }
  161. //END: Code generated using Enfilade's Easel
  162.  
  163. public void serverMessageReceived(String message) {
  164. if(message.equals("That isn't your cannon!")){
  165. println("We clicked on someone elses cannon!");
  166. Variables.RunScript = false;
  167. }
  168. if(message.contains("decay")){
  169. Variables.NeedPickup = true;
  170. }
  171. if(message.equals("Your cannon is out of ammo!")){
  172. Variables.NeedReload = true;
  173. }
  174. if(Variables.NeedPickup && message.equals("You pick up the cannon. It's really heavy.")){
  175. Variables.NeedPickup = false;
  176. }
  177. if(Variables.NeedReload && message.contains("You load")){
  178. Variables.NeedReload = false;
  179. }
  180. if(Variables.NeedReload && message.contains("Your cannon is already")){
  181. if(Methods.PickUpCannon()){
  182. Variables.RunScript = false;
  183. }
  184. }
  185. if(message.contains("There isn't enough")){
  186. println("Can't place a cannon here!");
  187. Variables.RunScript = false;
  188. }
  189. }
  190.  
  191.  
  192. @SuppressWarnings("serial")
  193. public class CannonGUI extends javax.swing.JPanel {
  194.  
  195. /**
  196. * Creates new form CannonGUI
  197. */
  198. public CannonGUI() {
  199. initComponents();
  200. }
  201.  
  202. /**
  203. * This method is called from within the constructor to initialize the form.
  204. * WARNING: Do NOT modify this code. The content of this method is always
  205. * regenerated by the Form Editor.
  206. */
  207. @SuppressWarnings("unchecked")
  208. // <editor-fold defaultstate="collapsed" desc="Generated Code">
  209. private void initComponents() {
  210.  
  211. jLabel1 = new javax.swing.JLabel();
  212. jButton2 = new javax.swing.JButton();
  213. jSlider1 = new javax.swing.JSlider();
  214. jLabel2 = new javax.swing.JLabel();
  215. jLabel3 = new javax.swing.JLabel();
  216. jLabel4 = new javax.swing.JLabel();
  217.  
  218. jLabel1.setFont(new java.awt.Font("Segoe UI", 0, 36)); // NOI18N
  219. jLabel1.setText("Netami's Cannonner");
  220.  
  221. jButton2.setText("Start!");
  222. jButton2.addActionListener(new java.awt.event.ActionListener() {
  223. public void actionPerformed(java.awt.event.ActionEvent evt) {
  224. jButton2ActionPerformed(evt);
  225. }
  226. });
  227.  
  228. jSlider1.setMaximum(110);
  229. jSlider1.setMinimum(90);
  230. jSlider1.setMinorTickSpacing(1);
  231. jSlider1.setValue(100);
  232. jSlider1.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
  233.  
  234. jLabel2.setText("Mouse Speed:");
  235.  
  236. jLabel3.setText("90");
  237.  
  238. jLabel4.setText("110");
  239.  
  240. javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
  241. this.setLayout(layout);
  242. layout.setHorizontalGroup(
  243. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  244. .addGroup(layout.createSequentialGroup()
  245. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  246. .addGroup(layout.createSequentialGroup()
  247. .addGap(91, 91, 91)
  248. .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 131, javax.swing.GroupLayout.PREFERRED_SIZE))
  249. .addGroup(layout.createSequentialGroup()
  250. .addContainerGap()
  251. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  252. .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
  253. .addComponent(jLabel2)
  254. .addGap(34, 34, 34)
  255. .addComponent(jLabel3)
  256. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  257. .addComponent(jSlider1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  258. .addComponent(jLabel1))
  259. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  260. .addComponent(jLabel4)))
  261. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  262. );
  263. layout.setVerticalGroup(
  264. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  265. .addGroup(layout.createSequentialGroup()
  266. .addContainerGap()
  267. .addComponent(jLabel1)
  268. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  269. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  270. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  271. .addComponent(jLabel2)
  272. .addComponent(jLabel3))
  273. .addComponent(jSlider1, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE)
  274. .addComponent(jLabel4))
  275. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 24, Short.MAX_VALUE)
  276. .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)
  277. .addContainerGap())
  278. );
  279. }// </editor-fold>
  280.  
  281. private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
  282. Variables.CannonSpot = Player.getPosition();
  283. Variables.GUI_Complete = true;
  284. Variables.MouseSpeed = jSlider1.getValue();
  285. }
  286.  
  287.  
  288. // Variables declaration - do not modify
  289. private javax.swing.JButton jButton2;
  290. private javax.swing.JLabel jLabel1;
  291. private javax.swing.JLabel jLabel2;
  292. private javax.swing.JLabel jLabel3;
  293. private javax.swing.JLabel jLabel4;
  294. private javax.swing.JSlider jSlider1;
  295. // End of variables declaration
  296. }
  297.  
  298.  
  299. public void clanMessageReceived(String arg0, String arg1) {
  300. }
  301. public void duelRequestReceived(String arg0, String arg1) {
  302. }
  303. public void personalMessageReceived(String arg0, String arg1) {
  304. }
  305. public void playerMessageReceived(String arg0, String arg1) {
  306. }
  307. public void tradeRequestReceived(String arg0) {
  308. }
  309.  
  310.  
  311.  
  312. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement