Jump to content

Aeonx

Trade With Caution
  • Posts

    197
  • Joined

  • Last visited

  • Feedback

    50%

Everything posted by Aeonx

  1. Awesome, thank you!
  2. Alright, thanks. Could you then make logging out optional?
  3. Hey, could you please add a feature so once Tutorial island is done, it runs a specified script?
  4. Ok I rewrote the whole API as previous one was pretty much a dev. version. Added Remove Friend method and pretty much fixed all the possible bugs and so it's reliable. Enjoy
  5. Thanks! I'm adding Remove friend later as well ;)
  6. Hey, just wrote a few methods to control your friends list so thought to share. RandomSleep(); // Your sleeping methods private void AddFriend(String name) throws InterruptedException { if(tabs.getOpen() != Tab.FRIENDS) { tabs.open(Tab.FRIENDS); RandomSleep(); } if(IsFriend(name)) return; RS2Widget widget = widgets.get(429, 7); if(widget == null) return; if(widget.isVisible()) widget.interact(); RandomSleep(); widget = widgets.get(162, 33); if(widget != null && widget.isVisible()) { keyboard.typeString(name); keyboard.pressKey(13); } } private boolean RemoveFriend(String name) throws InterruptedException { if(tabs.getOpen() != Tab.FRIENDS) { tabs.open(Tab.FRIENDS); RandomSleep(); } if(!IsFriend(name)) return false; RS2Widget widget = widgets.get(429, 3); if(widget == null) return false; RS2Widget[] friends; if((friends = widget.getChildWidgets()) != null) { for(RS2Widget w : friends) { if(w.getMessage().equals(name) && w.isVisible()) return w.interact("Delete"); } } return false; } private void MessageFriend(String name, String message) throws InterruptedException { if(tabs.getOpen() != Tab.FRIENDS) { tabs.open(Tab.FRIENDS); RandomSleep(); } RS2Widget widget = widgets.get(429, 3); if(widget == null) return; RS2Widget[] friends; if((friends = widget.getChildWidgets()) == null) return; for(RS2Widget w : friends) { if(w.getMessage().equals(name) && w.isVisible()) w.interact("Message"); } RandomSleep(); widget = widgets.get(162, 33); if(widget != null && widget.isVisible()) { keyboard.typeString(message); keyboard.pressKey(13); } } private boolean IsFriend(String name) { RS2Widget widget = widgets.get(429, 3); if(widget == null) return false; RS2Widget[] friends; if((friends = widget.getChildWidgets()) != null) { for(RS2Widget w : friends) { if(w.getMessage().equals(name)) return true; } } return false; } private boolean IsFriendOnline(String name) { if(!IsFriend(name)) return false; RS2Widget widget = widgets.get(429, 3); if(widget == null) return false; RS2Widget[] friends; int child = 0; if((friends = widget.getChildWidgets()) != null) { for(RS2Widget w : friends) { if(w.getMessage().equals(name)) return (!friends[child + 1].getMessage().equals("Offline")); child++; } } return false; }
  7. Nvm, found a solution
  8. Hi, so I've been having all kind of issues when implementing trading... from trade trade.acceptTrade() to trade.didOtherAcceptTrade() not working correctly. #1 It manages to accept trade only when client is freshly loaded. Anything after, moves to decline button and randomly movies doing nothing. #2 Sometimes it does return true, sometimes not. Has anyone had simiar issues or does know how to solve, workaround these? Thanks
  9. Hi, is anyone else having trouble with stability lately? I'm running stealth injection, so if I run another bot client while already in game with one, everything freezes up, eventually closing itself, no error or anything. The only way it works fine is if at start I launch more bots without logging into the game and only then do so. Any ideas? P.S Also webwalking is causing like serious freezes when initializing... Thanks!
  10. 1. Pictures of the account stats 2. Pictures of the login details 3. Pictures of the total wealth (if there is any) 4. Pictures of the quests completed 5. The price you will be starting bids at 60M 6. The A/W (Auto-win) for your account 120M 7. The methods of payment you are accepting RSGP 8. Your trading conditions Middle Man 9. Pictures of the account status 10. Original/previous owners AND Original Email Address I'm the only owner, yes.
  11. Aeonx

    Clay Miner

    Hi, it doesn't drop nothing. It trades the mule.
  12. Just place it under scripts in OSBOT, that's it
  13. Sick! Do you accept work requests maybe?
  14. Use AutoIt, if you haven't yet found a solution for that AutoClicker.
  15. Hey, check out snippets, that should help you understand it better.
  16. Exactly what I've been looking for, thanks! To add: alphacoders.com really neat stuff there ;)
  17. Aeonx

    Fruity NMZ

    Hey Fruity, I wonder whether signatures still work? As I just tried to post one proggy and failed to load. Thanks!
  18. Aeonx

    Clay Miner

    Thanks man! Yeah it's great, just make an army of accounts that way and bans have no much meaning, profit
  19. Aeonx

    Clay Miner

    Hey guys, just sharing one script I've made really quick, it Mines clay in West Varrock, then banks it. After x clay, it trades mule standing in West Bank Area. Might help someone import java.awt.*; import java.lang.String; import java.text.Normalizer; import org.osbot.rs07.api.Bank; import org.osbot.rs07.api.map.Area; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import org.osbot.rs07.api.model.NPC; import org.osbot.rs07.api.model.Player; import org.osbot.rs07.api.model.RS2Object; import org.osbot.rs07.api.ui.Tab; import javax.swing.*; @ScriptManifest(author = "YourName", info = "Miner", name = "Miner", version = 0, logo = "") public class main extends Script { // Areas private final Area WEST_VARROCK_BANK = new Area(3185, 3439, 3182, 3433); private final Area WEST_MINING_ZONE = new Area(3182, 3378, 3184, 3377); private final Area TRADING_AREA = new Area(3185, 3437, 3181, 3434); private enum State { CHECK, MINE, BANK, GRAB_LOAD, TRADE, UNLOAD } private Window window; private State state = State.GRAB_LOAD; private boolean isRunning = false; private int runs, cooldown, clayNum, world; private long elapsed; private void Check() throws InterruptedException { if(worlds.getCurrentWorld() != world) { worlds.hop(world); return; } if(inventory.isFull()) { if(tabs.getOpen() != Tab.INVENTORY) { tabs.open(Tab.INVENTORY); } if(!WEST_VARROCK_BANK.contains(myPlayer())) { RandomSleep(); MoveToZone(WEST_VARROCK_BANK); } state = State.BANK; } else { if(!WEST_MINING_ZONE.contains(myPlayer())) { RandomSleep(); MoveToZone(WEST_MINING_ZONE); } state = State.MINE; } } private void Mine() throws InterruptedException { RS2Object node = objects.closest(WEST_MINING_ZONE, 7454); if(node != null) { if(!node.isVisible()) { camera.toEntity(node); sleep(450, 850); } node.hover(); sleep(10, 25); if(node.interact("Mine")) { RandomizeMouse(); sleep(850, 1250); while(myPlayer().isAnimating() && node.exists()) sleep(50); sleep(250, 450); } } state = State.CHECK; } private void Bank() throws InterruptedException { if(!bank.isOpen()) { RS2Object bankx = objects.closest("Bank booth"); if(bankx != null) { if(!bankx.isVisible()) { camera.toEntity(bankx); sleep(650, 1250); } if(bankx.interact("Bank")) { sleep(2450, 3250); RandomizeMouse(); RandomSleep(); } } return; } else { if(!bank.depositAllExcept(1271)) return; runs++; sleep(450, 650); RandomizeMouse(); RandomSleep(); if(runs >= cooldown) { bank.enableMode(Bank.BankMode.WITHDRAW_NOTE); sleep(250, 500); RandomizeMouse(); sleep(1250, 1850); bank.withdrawAll(434); RandomSleep(); } bank.close(); sleep(1250, 1850); } if(runs >= cooldown) { runs = 0; cooldown = random(16, 32); state = State.TRADE; } else { state = State.CHECK; } } private void GrabLoad() throws InterruptedException { log("load"); } private void Trade() throws InterruptedException { if(isTrading()) { state = State.UNLOAD; } else { if(getWorlds().getCurrentWorld() != 308) { worlds.hop(308); sleep(8*1000, 14*1000); return; } if(!TRADING_AREA.contains(myPlayer())) { MoveToZone(TRADING_AREA); return; } Player player = players.closest("YourMuleName"); if(player != null) { if(!player.isVisible()) camera.toEntity(player); sleep(1850, 3450); player.hover(); sleep(100, 350); if(player.interact("Trade with")) { sleep(450, 650); RandomizeMouse(); sleep(4500, 6500); } } } } private void Unload() throws InterruptedException { if(isTrading()) { if(trade.isFirstInterfaceOpen()) { if(!trade.offer(435, inventory.getItem(435).getAmount())) return; sleep(450, 850); RandomizeMouse(); RandomSleep(); trade.acceptTrade(); sleep(150, 300); RandomizeMouse(); while(isTrading() && !trade.didOtherAcceptTrade()); } if(trade.isSecondInterfaceOpen()) { RandomSleep(); trade.acceptTrade(); sleep(150, 300); RandomizeMouse(); while(isTrading() && !trade.didOtherAcceptTrade()); } return; } state = State.CHECK; } @Override public int onLoop() throws InterruptedException { switch(state) { case CHECK: log("State: Check"); Check(); break; case MINE: log("State: Mine"); Mine(); break; case BANK: log("State: Bank"); Bank(); break; case GRAB_LOAD: log("State: Grab Load"); GrabLoad(); break; case TRADE: log("State: Trade"); Trade(); break; case UNLOAD: log("State: Unload"); Unload(); break; } return random(150, 200); } @Override public void onStart() { //String input = getClass().getResource("talk").getFile(); //File file = new File(input); isRunning = true; cooldown = random(18, 32); world = worlds.getCurrentWorld(); Thread runTimeThread = new Thread() { @Override public void run() { try { RunTime(); } catch (Exception e) { log(e.getMessage()); } } }; runTimeThread.start(); } @Override public void onExit() { isRunning = false; } @Override public void onPaint(Graphics2D g) { int x = getMouse().getPosition().x; int y = getMouse().getPosition().y; g.drawLine(0, y, 765, y); g.drawLine(x, 0, x, 503); DrawUpdate(g); } private void DrawUpdate(Graphics2D g) { g.setColor(new Color(0, 0, 0, 80)); g.fillRect(4, 280, 512, 58); g.setColor(Color.white); g.setFont(new Font("Consolas", Font.PLAIN, 12)); g.drawString("RunTime: " + GetRunTime(), 14, 300); g.drawString("Clay collected: " + clayNum, 170, 300); } private void RunTime() throws InterruptedException { long startTime = System.currentTimeMillis(); while(isRunning) { elapsed = (System.currentTimeMillis() - startTime); sleep(1000); } } private void LaunchGUI() { } private void CloseGUI() { } private void sleep(int min, int max) throws InterruptedException { sleep(random(min, max)); } private String GetRunTime() { long hours = (elapsed / (1000 * 60 * 60)) % 24; long minutes = (elapsed / (1000 * 60)) % 60; long seconds = (elapsed / 1000) % 60; return String.format("%02d:%02d:%02d", hours, minutes, seconds); } @SuppressWarnings("deprecation") private void MoveToZone(Area zone) throws InterruptedException { walking.webWalk(zone.getRandomPosition()); } private boolean isTrading() { return trade.isCurrentlyTrading(); } private boolean isInRadius(NPC npc) { Player me = myPlayer(); int x = me.getX(), y = me.getY(); return new Area(x + 1, y + 1, x - 1, y - 1).contains(npc); } private void RandomizeMouse() { switch(random(0, 5)) { case 0: mouse.moveRandomly(); break; case 1: mouse.moveOutsideScreen(); break; case 2: mouse.moveSlightly(); break; } } private void RandomSleep() throws InterruptedException { switch(random(0, 5)) { case 0: sleep(650, 1250); break; case 1: sleep(1450, 2050); break; case 2: sleep(2250, 2850); break; case 3: sleep(3050, 3850); break; } } }
  20. Aeonx

    GFX Tag

    Looking great, nice job man
  21. Yep, it supports pretty much everything, besides it's fully customizable, fell in love with it few years ago.
×
×
  • Create New...