Guest User

Untitled

a guest
Jun 3rd, 2012
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.77 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading;
  6.  
  7. using D3;
  8. using rndWalker.Common;
  9. using rndWalker.Bots;
  10.  
  11. namespace rndWalker {
  12. class rndWalker {
  13. public static rndWalker Instance { get; set; }
  14. private Thread thread;
  15. private Thread guardian;
  16. private Logger logger;
  17. private int gameCounter = 0;
  18. private Bot bot;
  19. private int run_start = 0;
  20.  
  21. const int SECONDS_BEFORE_RESTART = 70;
  22.  
  23. public rndWalker() {
  24. this.thread = new Thread(this.ExecutingThread);
  25. this.guardian = new Thread(this.GuardianThread);
  26. this.logger = new Logger("rndWalker");
  27.  
  28. Game.OnTickEvent += new TickEventHandler(Game_OnTickEvent);
  29. }
  30.  
  31. void Game_OnTickEvent(EventArgs e) {
  32. if (Game.Ingame) {
  33. if (/*Me.WorldId != 0xFFFFFFFF &&*/ Me.WorldId != 0 && Me.Life == 0) {
  34. Console.WriteLine("I died! Exitting game");
  35. Bot.ExitGame();
  36. // hard reset
  37. rndWalker.Instance.Restart();
  38. }
  39. }
  40. }
  41.  
  42. public void Start() {
  43. this.thread.Start();
  44. this.guardian.Start();
  45. }
  46.  
  47. public void Stop() {
  48. this.thread.Abort();
  49. this.guardian.Abort();
  50. }
  51.  
  52. public void Restart() {
  53. this.thread.Abort();
  54. this.thread = new Thread(this.ExecutingThread);
  55. this.thread.Start();
  56. }
  57.  
  58. private void GuardianThread() {
  59. while (true)
  60. {
  61. Thread.Sleep(5000);
  62. if ((System.Environment.TickCount - run_start) / 1000 > SECONDS_BEFORE_RESTART && bot != null)
  63. {
  64. bot = null;
  65. Restart();
  66. }
  67. }
  68. }
  69.  
  70. private void ExecutingThread() {
  71. Thread.Sleep(500);
  72.  
  73. bot = new RoyalCryptsMinions();
  74. //bot = new Sarkoth();
  75. //bot = new a4chest();
  76.  
  77. while (true) {
  78. Thread.Sleep(1000);
  79.  
  80. int start = System.Environment.TickCount;
  81. run_start = start;
  82.  
  83. try {
  84. bot.Execute();
  85. Thread.Sleep(5000);
  86. } catch (Exception e) {
  87. this.logger.Log(e);
  88. //ExitGame();
  89. }
  90.  
  91. int diff = System.Environment.TickCount - start;
  92.  
  93. Game.Print(string.Format("Run took {0} seconds. Total Runs: {1}", diff / 1000, (gameCounter++)));
  94. Thread.Sleep(3000);
  95. }
  96. }
  97. }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment