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

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

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

junxi

New Member
Joined
Jul 24, 2012
Messages
12
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