What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

How do i make this plugin work with the current hb release?

junxi

New Member
Joined
Jul 24, 2012
Messages
12
Reaction score
0
Im wondering if anyone knows what i need to do to make this plugin work again. Thanks

Code:
using System;
using System.Collections.Generic;
using System.Text;
using Styx.Plugins;
using Styx.Logic;
using Styx.Plugins.PluginClass;
using Styx;
using Styx.Helpers;
using Styx.WoWInternals;
using Styx.WoWInternals.WoWObjects;
using System.Diagnostics;
using System.Threading;
using System.Drawing;

namespace eGuildCreator
{
	class eGuildCreator : HBPlugin
	{
		// Variables
		Dictionary<string, int> playerRequests = new Dictionary<string, int>();
		List<string> PlayerRequested = new List<string>();
		Stopwatch sw = new Stopwatch();
		bool _StartInvites = false;
		int SignaturesMinRequired = 0;
		int SignaturesCurrentCount = 0;
		string ButtonValue = "Start";
		private readonly LocalPlayer Me = ObjectManager.Me;

		// HB Overrides
		public override string Author { get { return "v1: erenion v2: thedrunk"; } }
		public override bool WantButton { get { return true; } }
		public override string Name { get { return "eGuildCreator HB2"; } }
		public override Version Version { get { return new Version(2, 1); } }
		public override string ButtonText { get { return ButtonValue; } }
		public override void OnButtonPress()
		{
			if (_StartInvites)
			{
				slog("Stopping guild invites");
				_StartInvites = false;
				ButtonValue = "Start";
			}
			else
			{
				slog("Starting guild invites");
				_StartInvites = true;
				ButtonValue = "Stop";
			}
		}

		// Main
		public override void Pulse()
		{
			if (!_StartInvites || Me.Combat)
			{
				return;
			}
			if (sw.Elapsed.TotalSeconds > 5 || !sw.IsRunning)
			{
				// Setup Guild Charter
				while (Convert.ToInt32(Lua.LuaGetReturnValue("if (PetitionFrame and PetitionFrame:IsVisible()) then return 1 else return 0 end", "guild.lua")[0]) != 1)
				{
					slog("Opening Guild Charter");
					Lua.DoString("UseItemByName(\"Guild Charter\")");
				}

				// How many signatures do we need?
				if (SignaturesMinRequired == 0)
				{
					SignaturesMinRequired = Convert.ToInt32(Lua.LuaGetReturnValue("return select(7, GetPetitionInfo());", "guild.lua")[0]) + 1;
				}
				if (SignaturesCurrentCount == 0)
				{
					SignaturesCurrentCount = Convert.ToInt32(Lua.LuaGetReturnValue("return GetNumPetitionNames()", "guild.lua")[0]) + 1;
				}

				// Find players to guild invite
				slog("Finding players...");
				List<WoWPlayer> Players = ObjectManager.GetObjectsOfType<WoWPlayer>().FindAll(obj => (obj.Distance < 50 && obj.IsPlayer && obj.IsFriendly && !PlayerRequested.Contains(obj.Name)));
				if (Players.Count > 0)
				{
					slog("Found {0} valid players", Players.Count);
					foreach (WoWPlayer p in Players)
					{
						// Do we have enough signatures?
						SignaturesCurrentCount = Convert.ToInt32(Lua.LuaGetReturnValue("return GetNumPetitionNames()", "guild.lua")[0]) + 1;
						if (SignaturesCurrentCount >= SignaturesMinRequired)
						{
							slog("({0}/{1}): Have all the signatures needed for guild!", SignaturesCurrentCount, SignaturesMinRequired);
							OnButtonPress();
							break;
						}

						// Add player to invited players
						PlayerRequested.Add(p.Name);

						// Target
						int i = 0;
						while (Me.CurrentTargetGuid != p.Guid && ++i < 10)
						{
							p.Target();
							Thread.Sleep(300);
						}

						// Invite player - if we targeted him
						if (Me.CurrentTargetGuid == p.Guid)
						{
							slog("({0}/{1}): Requesting signature from: {2}", SignaturesCurrentCount, SignaturesMinRequired, p.Name);
							Lua.DoString("OfferPetition()");
							Thread.Sleep(300);
						}
						else
						{
							slog("({0}/{1}): Failed to target: {2}", SignaturesCurrentCount, SignaturesMinRequired, p.Name);
						}
					}
				}

				// Reset timer
				sw.Reset();
				sw.Start();
			}
		}

		private void slog(string format, params object[] args)
		{
			Logging.Write(Color.FromName("Green"), "[eGuildCreator]: " + format, args);
		}
	}
}
 
Back
Top