Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading;
- using D3;
- using rndWalker.Common;
- using rndWalker.Bots;
- namespace rndWalker {
- class rndWalker {
- public static rndWalker Instance { get; set; }
- private Thread thread;
- private Thread guardian;
- private Logger logger;
- private int gameCounter = 0;
- private Bot bot;
- private int run_start = 0;
- const int SECONDS_BEFORE_RESTART = 70;
- public static UIElement[] _elements = UIElement.Get();
- public rndWalker() {
- this.thread = new Thread(this.ExecutingThread);
- this.guardian = new Thread(this.GuardianThread);
- this.logger = new Logger("rndWalker");
- Game.OnTickEvent += new TickEventHandler(Game_OnTickEvent);
- }
- void Game_OnTickEvent(EventArgs e) {
- _elements = UIElement.Get();
- if (Game.Ingame) {
- if (/*Me.WorldId != 0xFFFFFFFF &&*/ Me.WorldId != 0 && Me.Life == 0) {
- Console.WriteLine("I died! Exitting game");
- Bot.ExitGame();
- // hard reset
- rndWalker.Instance.Restart();
- }
- }
- }
- public void Start() {
- this.thread.Start();
- this.guardian.Start();
- }
- public void Stop() {
- this.thread.Abort();
- this.guardian.Abort();
- }
- public void Restart() {
- this.thread.Abort();
- this.thread = new Thread(this.ExecutingThread);
- this.thread.Start();
- }
- private void GuardianThread() {
- while (true)
- {
- Thread.Sleep(5000);
- if ((System.Environment.TickCount - run_start) / 1000 > SECONDS_BEFORE_RESTART && bot != null)
- {
- bot = null;
- Restart();
- }
- }
- }
- private void ExecutingThread() {
- Thread.Sleep(500);
- bot = new RoyalCryptsMinions();
- //bot = new Sarkoth();
- //bot = new a4chest();
- while (true) {
- Thread.Sleep(1000);
- int start = System.Environment.TickCount;
- run_start = start;
- try {
- bot.Execute();
- Thread.Sleep(5000);
- } catch (Exception e) {
- this.logger.Log(e);
- //ExitGame();
- }
- int diff = System.Environment.TickCount - start;
- Game.Print(string.Format("Run took {0} seconds. Total Runs: {1}", diff / 1000, (gameCounter++)));
- Thread.Sleep(3000);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement