Advertisement
Guest User

Untitled

a guest
Apr 21st, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.55 KB | None | 0 0
  1. import org.dreambot.api.methods.Calculations;
  2. import org.dreambot.api.methods.map.Tile;
  3. import org.dreambot.api.script.AbstractScript;
  4. import org.dreambot.api.script.ScriptManifest;
  5. import org.dreambot.api.script.Category;
  6. import org.dreambot.api.wrappers.interactive.GameObject;
  7. import org.dreambot.api.script.*;
  8. import org.dreambot.api.wrappers.interactive.Player;
  9. import org.dreambot.api.wrappers.items.Item;
  10.  
  11. import java.util.ArrayList;
  12. import java.util.List;
  13. import java.util.Timer;
  14.  
  15. @ScriptManifest(author = "You", name = "Custom Script", version = 1.0, description = "Dicing Script", category = Category.MONEYMAKING)
  16. public class main extends AbstractScript {
  17.     Timer timer;
  18.     State state;
  19.     int betAmmount = 0;
  20.     boolean acceptedBet = false;
  21.     private long startGP = 0;
  22.     int sleepCycles = 0;// # of times it will sleep before blacklisting
  23.  
  24.     int maxSleepCycles = 30;// max #of sleep cycles before blacklisting cfg item eventually
  25.     int runDistance = 30;//max distance from start tile cfg item eventually
  26.  
  27.     Tile startTile;
  28.     List<Player> gamblerList = new ArrayList<Player>();
  29.     List<Player> blackList = new ArrayList<Player>();
  30.     List<Player> whales = new ArrayList<Player>();
  31.     Item[] theirTradeItems = null;
  32.     int minBet = 0;
  33.  
  34.  
  35.  
  36.  
  37.     public void onStart() {
  38.         startGP = getInventory().count("Coins");
  39.         timer = new Timer();
  40.         startTile = getLocalPlayer().getTile();
  41.     }
  42.  
  43.     private enum State {
  44.         TRADE, WAITING, PAYOUT, RETURN, BETTING
  45.     }
  46.  
  47.     private State getState() {
  48.         if(true/*todo::check if a trade has been recieved or if a trade is in proccess*/) {
  49.             return State.TRADE;
  50.         }
  51.         if(getClient().getDestination().distance(startTile) > runDistance){
  52.             return State.RETURN;
  53.         }
  54.         return State.WAITING;
  55.  
  56.     }
  57.     public void onExit() {
  58.  
  59.     }
  60.  
  61.     @Override
  62.     public int onLoop() {
  63.         if(!getClient().isLoggedIn()){
  64.             return Calculations.random(300,500);
  65.         }
  66.         int gp = getInventory().count("Coins");
  67.         if(getLocalPlayer().isMoving() && getClient().getDestination() != null && getClient().getDestination().distance(getLocalPlayer().getTile()) > 3)
  68.             return Calculations.random(200,300);
  69.         switch (getState()) {
  70.             case TRADE:
  71.                 if (!gamblerList.isEmpty() && !getTrade().isOpen()) /*checks if there is a gambler & no trade open*/{
  72.                     getTrade().tradeWithPlayer(gamblerList.get(0).getName());
  73.                 }
  74. //todo:: add a check for trade declining spam possibly with a list of soft warns, removed on successful gamble
  75.                 if (!gamblerList.isEmpty() && getTrade().isOpen()) /*checks if there is a gamblerthere is a trade open open*/{
  76.                     if (sleepCycles == 0) /*checks is trade has taken too long, todo:: add maxsleepcycle to trade event & */{
  77.                         getTrade().close();
  78.                         blackList.add(gamblerList.get(0));
  79.                         gamblerList.remove(0);
  80.                         sleepCycles = maxSleepCycles;
  81.                     }
  82.                     if (getTrade().isOpen(2)) {
  83.                         if (getTrade().verifyTrade(false, theirTradeItems)) {
  84.                             getTrade().acceptTrade(2);
  85.                             //todo:: check if trade was successful? & run BetEnum
  86.                         }else {
  87.                             log("had a verification missmatch, they tried to yoinK?");
  88.                         }
  89.  
  90.                     }
  91.  
  92.  
  93.                     if (getTrade().contains(false, minBet, "Coins")) {
  94.                         theirTradeItems = getTrade().getTheirItems();
  95.                         if (theirTradeItems.length == 1) {
  96.                             betAmmount = theirTradeItems[0].getAmount();
  97.                             getTrade().acceptTrade(1);
  98.                         } else {
  99.                             log("too many items in trade cancling");
  100.                         }
  101.  
  102.                     } else {
  103.                         log("minbet not met");
  104.                     }
  105.                 }
  106.                 break;
  107.             case WAITING:
  108. //code to wait for a trade
  109.                 break;
  110.             case PAYOUT:
  111. //code to trade user 2x inital bet here
  112.             case RETURN:
  113.                 blackList.add(gamblerList.get(0));
  114.                 gamblerList.remove(0);
  115.                 getWalking().walk(startTile);
  116.                 break;
  117.         }
  118.         return Calculations.random(500, 600);
  119.     }
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement