Advertisement
Guest User

ok_Planker

a guest
Dec 7th, 2013
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.23 KB | None | 0 0
  1. package scripts;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Font;
  5. import java.awt.Graphics;
  6. import java.awt.Graphics2D;
  7. import java.awt.Image;
  8. import java.awt.Polygon;
  9. import java.io.IOException;
  10. import java.net.URL;
  11.  
  12. import javax.imageio.ImageIO;
  13.  
  14. import org.tribot.api.General;
  15. import org.tribot.api.Timing;
  16. import org.tribot.api.input.Mouse;
  17. import org.tribot.api.types.generic.Condition;
  18. import org.tribot.api2007.Banking;
  19. import org.tribot.api2007.Camera;
  20. import org.tribot.api2007.Equipment;
  21. import org.tribot.api2007.GameTab;
  22. import org.tribot.api2007.Inventory;
  23. import org.tribot.api2007.Login;
  24. import org.tribot.api2007.Player;
  25. import org.tribot.api2007.Screen;
  26. import org.tribot.api2007.Skills;
  27. import org.tribot.api2007.GameTab.TABS;
  28. import org.tribot.api2007.types.RSItem;
  29. import org.tribot.script.Script;
  30. import org.tribot.script.ScriptManifest;
  31. import org.tribot.script.interfaces.Painting;
  32. import org.tribot.script.interfaces.Pausing;
  33. import org.tribot.script.interfaces.RandomEvents;
  34.  
  35. @ScriptManifest(authors = { "Okokokok" }, category = "ok_Scripts", name = "ok_Planker")
  36. public class ok_Planker extends Script implements Painting {
  37.  
  38. private final double version = 1.00;
  39.  
  40. private boolean waitGUI = true;
  41.  
  42. private String whichPlank = "",
  43. logsToUse = "";
  44.  
  45. private final String[] whichPlankArray = {"Mahogany plank", "Teak plank"};
  46.  
  47. private final String natureRune = "Nature rune",
  48. astralRune = "Astral rune",
  49. coinName = "Coins";
  50.  
  51. private final Polygon bankArea = new Polygon(
  52. new int[] {2665, 2670, 2670, 2665},
  53. new int[] {2656, 2656, 2653, 2653},
  54. 4);
  55.  
  56.  
  57. // MISC METHODS
  58.  
  59. public boolean waitFor(Condition c, long timeout) {
  60. Timer t = new Timer(timeout);
  61. while (t.isRunning()) {
  62. if (c.active()) {
  63. return true;
  64. }
  65. sleep(60, 80);
  66. }
  67. return false;
  68. }
  69.  
  70. public boolean loggedOut() {
  71. return (Login.getLoginState() == Login.STATE.LOGINSCREEN)
  72. && (!Screen.getColorAt(100, 200).equals(new Color(0, 0, 0)));
  73. }
  74.  
  75. public boolean logout() {
  76. if (Login.getLoginState() == Login.STATE.INGAME)
  77. {
  78. Login.logout();
  79. for(int x = 0; x < 6; x++)
  80. {
  81. if(loggedOut())
  82. {
  83. return true;
  84. }
  85. sleep(490,510);
  86. }
  87. }
  88. return false;
  89. }
  90.  
  91. public void antiBan(int rotation) {
  92. int number = General.random(1, 500);
  93. sleep(200);
  94. switch (number) {
  95. case 1:
  96. case 2:
  97. case 3:
  98. case 4:
  99. case 5:
  100. Camera.setCameraRotation(Camera.getCameraRotation() + rotation);
  101. break;
  102. case 20:
  103. case 21:
  104. case 22:
  105. case 23:
  106. case 24:
  107. case 25:
  108. case 26:
  109. case 27:
  110. case 28:
  111. case 29:
  112. case 30:
  113. case 31:
  114. Camera.setCameraRotation(Camera.getCameraRotation() + rotation);
  115. sleep(200);
  116. break;
  117. case 50:
  118. GameTab.open(TABS.INVENTORY);
  119. sleep(200);
  120. break;
  121. case 75:
  122. GameTab.open(TABS.STATS);
  123. sleep(300);
  124. Mouse.moveBox(678, 386, 725, 366);
  125. sleep(1000, 1500);
  126. GameTab.open(TABS.INVENTORY);
  127. break;
  128. case 76:
  129. GameTab.open(TABS.FRIENDS);
  130. sleep(2000, 3000);
  131. GameTab.open(TABS.INVENTORY);
  132. break;
  133. case 89:
  134. case 90:
  135. case 91:
  136. case 92:
  137. case 93:
  138. case 94:
  139. Camera.setCameraAngle(Camera.getCameraRotation() + rotation);
  140. sleep(200, 400);
  141. break;
  142. case 95:
  143. case 96:
  144. case 97:
  145. case 98:
  146. case 99:
  147. case 100:
  148. Camera.setCameraAngle(Camera.getCameraRotation() + rotation);
  149. sleep(200, 400);
  150. break;
  151. }
  152. }
  153.  
  154.  
  155. //AREA CHECKS
  156.  
  157. private boolean areaContainsPlayer(Polygon area){
  158. return area.contains(Player.getPosition().getX(), Player.getPosition().getY());
  159. }
  160.  
  161. // BANKING METHODS
  162.  
  163. private boolean openBank() {
  164. if (!Banking.isBankScreenOpen()) {
  165. return Banking.openBankBooth();
  166. } else {
  167. if (Banking.isBankScreenOpen());
  168. return false;
  169. }
  170. }
  171.  
  172. private boolean withdrawItem(int amount, String itemName){
  173. RSItem[] item = Banking.find(itemName);
  174. if (item != null && item.length > 0){
  175. return Banking.withdraw(amount, itemName);
  176. }
  177. return false;
  178. }
  179.  
  180. private boolean depositItem(int amount, String itemName){
  181. RSItem[] item = Inventory.find(itemName);
  182. if (item != null && item.length > 0){
  183. return Banking.deposit(amount, itemName);
  184. }
  185. return false;
  186. }
  187.  
  188. // ITEM METHODS
  189.  
  190. public boolean haveStaff(String itemName){
  191. RSItem[] staff = Equipment.find(itemName);
  192. return staff != null && staff.length > 0;
  193. }
  194.  
  195. private boolean itemInvAmount(int amount, String itemName){
  196. RSItem[] item = Inventory.find(itemName);
  197. if (item != null && item.length > 0){
  198. for (int i = 0; i < item.length; i++){
  199. if (item[i].getStack() > amount){
  200. return true;
  201. }
  202. }
  203. }
  204. return false;
  205. }
  206.  
  207. public boolean gotAllPlanks(String[] plankName) {
  208. int invCount = Inventory.getCount(plankName);
  209. return invCount == 25;
  210. }
  211.  
  212. private boolean haveLogs(String itemName){
  213. RSItem[] item = Inventory.find(itemName);
  214. return item != null && item.length > 0;
  215. }
  216.  
  217. // PLANKING METHODS
  218.  
  219. private boolean mageBookOpen(){
  220. boolean book = TABS.MAGIC.isOpen();
  221. return book;
  222. }
  223.  
  224. private void openBook(){
  225. TABS.MAGIC.open();
  226. }
  227.  
  228. private void clickSpell(){
  229. Mouse.clickBox(684, 337, 696, 347, 1);
  230. }
  231.  
  232. private void clickLogs(String itemName){
  233. RSItem[] plank = Inventory.find(itemName);
  234. boolean spell = org.tribot.api2007.Game.isUptext("Plank make ->");
  235. if (plank != null && plank.length > 0){
  236. if (plank[0].hover()){
  237. if (spell){
  238. Mouse.click(1);
  239. waitFor(new Condition(){
  240. @Override
  241. public boolean active(){
  242. return Player.getAnimation() == -1;
  243. }
  244. }, 3000);
  245. }
  246. }
  247. }
  248. }
  249.  
  250. private boolean clickedSpell(){
  251. boolean spell = org.tribot.api2007.Game.isUptext("Plank make ->");
  252. if (spell){
  253. return true;
  254. }
  255. return false;
  256. }
  257.  
  258. // GUI
  259.  
  260. /**
  261. *
  262. * @author lberkemeijer
  263. */
  264. @SuppressWarnings("serial")
  265. public class ok_PlankerGUI extends javax.swing.JFrame {
  266.  
  267. /**
  268. * Creates new form ok_PlankerGUI
  269. */
  270. public ok_PlankerGUI() {
  271. initComponents();
  272. }
  273.  
  274. /**
  275. * This method is called from within the constructor to initialize the form.
  276. * WARNING: Do NOT modify this code. The content of this method is always
  277. * regenerated by the Form Editor.
  278. */
  279. @SuppressWarnings({ "unchecked", "rawtypes" })
  280. // <editor-fold defaultstate="collapsed" desc="Generated Code">
  281. private void initComponents() {
  282.  
  283. jScrollPane1 = new javax.swing.JScrollPane();
  284. jTextArea1 = new javax.swing.JTextArea();
  285. jLabel1 = new javax.swing.JLabel();
  286. jPanel2 = new javax.swing.JPanel();
  287. jPanel1 = new javax.swing.JPanel();
  288. jLabel2 = new javax.swing.JLabel();
  289. plankSort = new javax.swing.JComboBox();
  290. start = new javax.swing.JButton();
  291.  
  292. jTextArea1.setColumns(20);
  293. jTextArea1.setRows(5);
  294. jScrollPane1.setViewportView(jTextArea1);
  295.  
  296. jLabel1.setFont(new java.awt.Font("Calibri", 3, 24)); // NOI18N
  297. jLabel1.setForeground(new java.awt.Color(255, 0, 0));
  298. jLabel1.setText("ok_Planker GUI");
  299.  
  300. jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
  301.  
  302. jLabel2.setFont(new java.awt.Font("Calibri", 3, 18)); // NOI18N
  303. jLabel2.setForeground(new java.awt.Color(255, 0, 0));
  304. jLabel2.setText("Plank to make?");
  305.  
  306. plankSort.setFont(new java.awt.Font("Calibri", 1, 14)); // NOI18N
  307. plankSort.setForeground(new java.awt.Color(255, 0, 0));
  308. plankSort.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Mahogany", "Teak" }));
  309.  
  310. javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  311. jPanel1.setLayout(jPanel1Layout);
  312. jPanel1Layout.setHorizontalGroup(
  313. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  314. .addGroup(jPanel1Layout.createSequentialGroup()
  315. .addContainerGap(56, Short.MAX_VALUE)
  316. .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 134, javax.swing.GroupLayout.PREFERRED_SIZE)
  317. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  318. .addComponent(plankSort, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)
  319. .addGap(65, 65, 65))
  320. );
  321. jPanel1Layout.setVerticalGroup(
  322. jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  323. .addGroup(jPanel1Layout.createSequentialGroup()
  324. .addContainerGap()
  325. .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  326. .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
  327. .addComponent(plankSort, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  328. .addContainerGap(20, Short.MAX_VALUE))
  329. );
  330.  
  331. javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
  332. jPanel2.setLayout(jPanel2Layout);
  333. jPanel2Layout.setHorizontalGroup(
  334. jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  335. .addGroup(jPanel2Layout.createSequentialGroup()
  336. .addContainerGap()
  337. .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  338. .addContainerGap())
  339. );
  340. jPanel2Layout.setVerticalGroup(
  341. jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  342. .addGroup(jPanel2Layout.createSequentialGroup()
  343. .addContainerGap()
  344. .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  345. .addContainerGap())
  346. );
  347.  
  348. start.setFont(new java.awt.Font("Calibri", 3, 14)); // NOI18N
  349. start.setForeground(new java.awt.Color(255, 0, 0));
  350. start.setText("Start!");
  351. start.addActionListener(new java.awt.event.ActionListener() {
  352. public void actionPerformed(java.awt.event.ActionEvent evt) {
  353. startActionPerformed(evt);
  354. }
  355. });
  356.  
  357. javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  358. getContentPane().setLayout(layout);
  359. layout.setHorizontalGroup(
  360. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  361. .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
  362. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  363. .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 182, javax.swing.GroupLayout.PREFERRED_SIZE)
  364. .addGap(103, 103, 103))
  365. .addGroup(layout.createSequentialGroup()
  366. .addContainerGap()
  367. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  368. .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  369. .addComponent(start, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  370. .addContainerGap())
  371. );
  372. layout.setVerticalGroup(
  373. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  374. .addGroup(layout.createSequentialGroup()
  375. .addContainerGap()
  376. .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
  377. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  378. .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 79, javax.swing.GroupLayout.PREFERRED_SIZE)
  379. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  380. .addComponent(start, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)));
  381. pack();
  382. }// </editor-fold>
  383.  
  384. private void startActionPerformed(java.awt.event.ActionEvent evt) {
  385.  
  386. if (plankSort.getSelectedItem().toString().equals("Mahogany")){
  387. whichPlank = "Mahogany plank";
  388. logsToUse = "Mahogany logs";
  389. } else {
  390. if (plankSort.getSelectedItem().toString().equals("Teak")){
  391. whichPlank = "Teak plank";
  392. logsToUse = "Teak logs";
  393. }
  394. }
  395.  
  396. waitGUI = false;
  397. }
  398.  
  399. // Variables declaration - do not modify
  400. private javax.swing.JLabel jLabel1;
  401. private javax.swing.JLabel jLabel2;
  402. private javax.swing.JPanel jPanel1;
  403. private javax.swing.JPanel jPanel2;
  404. private javax.swing.JScrollPane jScrollPane1;
  405. private javax.swing.JTextArea jTextArea1;
  406. @SuppressWarnings("rawtypes")
  407. private javax.swing.JComboBox plankSort;
  408. private javax.swing.JButton start;
  409. // End of variables declaration
  410. }
  411.  
  412.  
  413.  
  414. // PAINT METHODS
  415.  
  416. private Image getImage(String url) {
  417. try {
  418. return ImageIO.read(new URL(url));
  419. } catch (IOException e) {
  420. return null;
  421. }
  422. }
  423.  
  424. private final Image img = getImage("http://i43.tinypic.com/6hsy7p.jpg");
  425. private static final long startTime = System.currentTimeMillis();
  426. Font font = new Font("Calibri", Font.BOLD, 16);
  427. private State SCRIPT_STATE = getState();
  428. @SuppressWarnings("deprecation")
  429. private final int startXP = Skills.getXP("magic");
  430. private int START_XP;
  431.  
  432. @SuppressWarnings("deprecation")
  433. @Override
  434. public void onPaint(Graphics g) {
  435.  
  436. Graphics2D gg = (Graphics2D) g;
  437. gg.drawImage(img, 9, 345, null);
  438.  
  439. long timeRan = System.currentTimeMillis() - startTime;
  440. double multiplier = timeRan / 3600000D;
  441. int currentLvl = Skills.getActualLevel("magic");
  442. int xpToNextLvl = Skills.getXPToNextLevel("magic");
  443. int xpGained = Skills.getXP("magic") - START_XP;
  444. int planks = xpGained / 90;
  445.  
  446. g.setFont(font);
  447. g.setColor(new Color(255,0,0));
  448. g.drawString("ok_Planker V" + version, 14, 360);
  449. g.drawString("Action: " + SCRIPT_STATE, 14, 425);
  450. g.drawString("Time running: " + Timing.msToString(timeRan), 14, 440);
  451. g.drawString("Planks p/h: " + (int) (planks / multiplier) + " p/h", 14, 455);
  452. g.drawString("Planks made: " + planks, 14, 470);
  453.  
  454. g.drawString("XP Gained p/h: " + (int) (xpGained / multiplier), 286, 425);
  455. g.drawString("XP Gained: " + (int) xpGained, 286, 440);
  456. g.drawString("Current level: " + currentLvl, 286, 455);
  457. g.drawString("XP to Next Level: " + xpToNextLvl, 286, 470);
  458. }
  459.  
  460. public enum State{
  461. OPENING_BANK, DEPOSITING_PLANKS, CLOSING_BANK,
  462. WITHDRAWING_CASH, WITHDRAWING_NATURES,
  463. WITHDRAWING_ASTRALS, WITHDRAWING_LOGS,
  464. OPENING_BOOK, SELECTING_PLANK_MAKE,
  465. PLANKING, LOGING_OUT;
  466. }
  467.  
  468.  
  469. private State getState(){
  470. if (areaContainsPlayer(bankArea)){
  471. if (!itemInvAmount(20, natureRune)){
  472. if (!Banking.isBankScreenOpen()){
  473. return State.OPENING_BANK;
  474. }
  475. if (Banking.isBankScreenOpen()){
  476. return State.WITHDRAWING_NATURES;
  477. }
  478. }
  479. if (!itemInvAmount(40, astralRune)){
  480. if (!Banking.isBankScreenOpen()){
  481. return State.OPENING_BANK;
  482. }
  483. if (Banking.isBankScreenOpen()){
  484. return State.WITHDRAWING_ASTRALS;
  485. }
  486. }
  487. if (!itemInvAmount(5000, coinName)){
  488. if (!Banking.isBankScreenOpen()){
  489. return State.OPENING_BANK;
  490. }
  491. if (Banking.isBankScreenOpen()){
  492. return State.WITHDRAWING_CASH;
  493. }
  494. }
  495. if (!haveLogs(logsToUse) && gotAllPlanks(whichPlankArray)){
  496. if (!Banking.isBankScreenOpen()){
  497. return State.OPENING_BANK;
  498. }
  499. if (Banking.isBankScreenOpen()){
  500. return State.DEPOSITING_PLANKS;
  501. }
  502. }
  503. if (!haveLogs(logsToUse)){
  504. if (!Banking.isBankScreenOpen()){
  505. return State.OPENING_BANK;
  506. }
  507. if (Banking.isBankScreenOpen()){
  508. return State.WITHDRAWING_LOGS;
  509. }
  510. }
  511. if (haveLogs(logsToUse)){
  512. if (Banking.isBankScreenOpen()){
  513. return State.CLOSING_BANK;
  514. }
  515. if (clickedSpell() && !mageBookOpen() && !Banking.isBankScreenOpen()){
  516. return State.PLANKING;
  517. }
  518. if (!clickedSpell() && !mageBookOpen() && !Banking.isBankScreenOpen()){
  519. return State.OPENING_BOOK;
  520. }
  521. if (!clickedSpell() && mageBookOpen() && !Banking.isBankScreenOpen()){
  522. return State.SELECTING_PLANK_MAKE;
  523. }
  524. }
  525. }
  526. return State.LOGING_OUT;
  527. }
  528.  
  529. @SuppressWarnings("deprecation")
  530. @Override
  531. public void run() {
  532. ok_PlankerGUI g = new ok_PlankerGUI();
  533. g.setVisible(true);
  534. while (waitGUI)
  535. sleep(300);
  536.  
  537. START_XP = startXP;
  538. println("Started ok_miningGuilder");
  539. super.setRandomSolverState(false);
  540.  
  541. while(true){
  542. if (loggedOut()) {
  543. super.setLoginBotState(active);
  544. } else {
  545. while (!loggedOut()) {
  546. SCRIPT_STATE = getState();
  547. int mSpeed = General.random(105, 115);
  548. Mouse.setSpeed(mSpeed);
  549.  
  550. switch (SCRIPT_STATE) {
  551.  
  552. case DEPOSITING_PLANKS:
  553. depositItem(25, whichPlank);
  554. sleep (400, 500);
  555. break;
  556.  
  557. case OPENING_BANK:
  558. int rotation7 = General.random(90, 200);
  559. antiBan(rotation7);
  560.  
  561. openBank();
  562. sleep (50, 100);
  563. break;
  564.  
  565. case OPENING_BOOK:
  566. int rotation6 = General.random(90, 200);
  567. antiBan(rotation6);
  568.  
  569. openBook();
  570. sleep (50, 100);
  571. break;
  572.  
  573. case PLANKING:
  574. int rotation5 = General.random(90, 200);
  575. antiBan(rotation5);
  576.  
  577. clickLogs(logsToUse);
  578. break;
  579.  
  580. case SELECTING_PLANK_MAKE:
  581. clickSpell();
  582. sleep (100, 150);
  583. break;
  584.  
  585. case WITHDRAWING_ASTRALS:
  586. int rotation4 = General.random(90, 200);
  587. antiBan(rotation4);
  588.  
  589. withdrawItem(2000, astralRune);
  590. sleep (400, 500);
  591. Banking.close();
  592. sleep (100, 150);
  593. break;
  594.  
  595. case WITHDRAWING_CASH:
  596. int rotation3 = General.random(90, 200);
  597. antiBan(rotation3);
  598.  
  599. withdrawItem(200000, coinName);
  600. sleep (400, 500);
  601. Banking.close();
  602. sleep (100, 150);
  603. break;
  604.  
  605. case WITHDRAWING_LOGS:
  606. int rotation2 = General.random(90, 200);
  607. antiBan(rotation2);
  608.  
  609. withdrawItem(25, logsToUse);
  610. sleep (400, 500);
  611. break;
  612.  
  613. case WITHDRAWING_NATURES:
  614. int rotation = General.random(90, 200);
  615. antiBan(rotation);
  616.  
  617. withdrawItem(1000, natureRune);
  618. sleep (400, 500);
  619. Banking.close();
  620. sleep (100, 150);
  621. break;
  622.  
  623. case CLOSING_BANK:
  624. Banking.close();
  625. sleep (50, 100);
  626. break;
  627.  
  628. case LOGING_OUT:
  629. logout();
  630. stopScript();
  631. break;
  632. }
  633. }
  634. }
  635. }
  636. }
  637. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement