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;
- namespace PickIt
- {
- public class Program
- {
- private static int _frameCount = 0;
- public static void Main(string[] args)
- {
- Game.Print("PickIt: Now monitoring drops");
- Game.OnTickEvent += new TickEventHandler(Game_OnTickEvent);
- }
- private static void Game_OnTickEvent(EventArgs e)
- {
- if(++_frameCount % 20 != 0)
- {
- return;
- }
- PickItems();
- }
- private static void PickItems()
- {
- List<Unit> items = GetItems();
- foreach (Unit item in items)
- {
- if(GetDistance(Me.X, Me.Y, item.X, item.Y) < 5)
- {
- Game.Print("Picking: " + item.Name);
- Me.UsePower(SNOPowerId.Axe_Operate_Gizmo, item);
- }
- }
- }
- private static List<Unit> GetItems()
- {
- List<Unit> items = new List<Unit>();
- foreach(Unit u in Unit.Get())
- {
- if(CheckItem(u) && u.ItemContainer == Container.Unknown)
- {
- items.Add(u);
- }
- }
- return items;
- }
- private static bool CheckItem(Unit unit)
- {
- return
- unit.ActorId == SNOActorId.healthPotion_Minor
- || unit.ActorId == SNOActorId.healthPotion_Lesser
- || unit.ActorId == SNOActorId.healthPotion_Normal
- || unit.ActorId == SNOActorId.healthPotion_Greater
- || unit.ActorId == SNOActorId.healthPotion_Super
- || unit.Name.Contains("Topaz") // stones
- || unit.Name.Contains("Amethyst")
- || unit.Name.Contains("Emerald")
- || unit.Name.Contains("Ruby")
- || unit.Name.Contains("Book of") // crafting materials (add "page"?)
- || unit.Name.Contains("Page of")
- || unit.Name.Contains("Tome")
- || unit.Name.Contains("Mythic") // Health potions
- || unit.ItemQuality >= UnitItemQuality.Magic1;
- }
- public static float GetDistance(float x, float y, float x2, float y2)
- {
- return (float)Math.Sqrt(Math.Pow(x - x2, 2) + Math.Pow(y - y2, 2));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement