Jump to content

iMod

Elite user
  • Posts

    581
  • Joined

  • Last visited

Posts posted by iMod

  1. Die meisten hier benutzen ein InGame Addon (TopFit), der Bot selber hat die Funktionalität leider nicht. Du koenntest dir sonst selber noch ein Plugin in C# schreiben als alternative.

  2. 16 hours ago, kobo said:

    Hm, I'm not getting it to fight. Just following. 

     

    Edit: Got it working somewhat.

    I'm a caster with a melee support, not very good. The supporter kinda moves foward, back and fourth real fast.

    Yeah i know has something todo with the range. i need to change the movement routine a bit.
    Thats why i said its an alpha version i made it in around 15 min. ;)

  3. 16 hours ago, testender said:

    Also er rennt wie ein richtiger Bot im BG rum ohne aufsicht und selbst damit wird er sehr bald deteced sein. Spells tut er auch keine einsetzen. richtig enttäuschend ....

    Jemand der mal gebottet hat erkennt so gut wie jeden bot ;) es gibt dinge die kann man einfach nicht "menschlich" erscheinen lassen. Was das angreifen betrifft, das ist alles eine Sache der Einstellungen.

  4. Maybe its something you are looking for... it is just an alpha version ;)

    https://dl.dropboxusercontent.com/u/108189699/iSupport.zip

    Put the dll into the Plugin folder and use the settings to set it up. (Follow range should be somethig around 30 as caster und maybe 5-10 for a melle)
    SpellDistance is important now to set
    Use WRotation and set "Manage character movement" to false.

    I just test it with a boomkin(supporter) and a low melee

    It has no mount support atm but this will come later.

    Feedback and bugs are wellcome
    Greez iMod

  5. Since there is no method to get the specialization of the character in wotlk i took another way to find it out.
    It wont be 100% accurate if you use mixed talends but for the most spec's it should work.

            /// <summary>
            /// Returns the talent tree with the most invested points
            /// </summary>
            /// <returns>Returns the tree index</returns>
            public static int GetSpecialization()
            {
                KeyValuePair<int, int> highestPointTree = new KeyValuePair<int, int>(0, 0);
    
                // Process talent trees
                for (int i = 1; i <= 3; i++)
                {
                    // Get current talent points
                    int treePointValue = Lua.LuaDoString<int>($"local _, _, talentPoints = GetTalentTabInfo({i}); return talentPoints;");
    
                    // Bigger than old value?
                    if (treePointValue > highestPointTree.Value)
                    {
                        // Set new value
                        highestPointTree = new KeyValuePair<int, int>(i, treePointValue);
                    }
                }
    
                // Return
                return highestPointTree.Key;
            }

    This will give you the the talent tree with the most invested points.

     

    Now you just need to define each talent tree based on the wow class

    For example DK:

    	    if(ObjectManager.Me.WowClass != WoWClass.DeathKnight)
                {
                	throw new NotSupportedException("You need to be a DK to use this rotation.");
                }
    
    	    // Get the main talent tree
                int mainTalent = GetSpecialization();
    
                // Choose the right rotation
                switch (mainTalent)
                {
                    case 1:
                        {
                            // Set rotation
                            this._rotation = new Blood();
                            Logging.WriteDebug("Choosing Blood rotation.");
                            break;
                        }
                    case 2:
                        {
                            // Set rotation
                            this._rotation = new Frost();
                            Logging.WriteDebug("Choosing Frost rotation.");
                            break;
                        }
                    case 3:
                        {
                            // Set rotation
                            this._rotation = new Unholy();
                            Logging.WriteDebug("Choosing Unholy rotation.");
                            break;
                        }
                    default:
                        {
                            this._rotation = null;
                            throw new NotSupportedException("Your spec is not supported.");
                        }
                }

    This is just a small and fast coded example but hope it helps some ppl.

    Greez iMod

  6. Get player object by name:

    WoWPlayer player = ObjectManager.GetObjectWoWPlayer().Where(p => p.IsValid && p.Name == "PlayerName").FirstOrDefault();

     

    Target player:

    Interact.InteractGameObject(player.GetBaseAddress, true);

    Cast spell at the specified target:

    string targetName = "blubb";
    int spellID = 999;
    Lua.LuaDoString($"CastSpellByID({spellID}, \"{targetName}\")");

     

    Hope it helps.

  7. 16 minutes ago, Gellaberlin2016 said:

    Mist...

    Mein englisch ist zu schlecht,kann da jemand auf deutsch weiterhelfen?

    Ich kann dir anbieten das wir mal eine teamviewer session machen die tage. allerdings kann ich dir noch nicht zu 100% zusagen fuer morgen zB da ich variable arbeitszeiten habe. spätestens am sonntag sollte ich aber zeit haben. ich schreib dir dann einfach eine private message.

  8.  protected WoWPlayer GetPartyTank()
            {
                WoWPlayer tank;
    
                var lua = new[]
                              {
                                "partyTank = \"\";",
                                "for groupindex = 1,MAX_PARTY_MEMBERS do",
                                "	if (UnitInParty(\"party\" .. groupindex)) then",
                                "		local role = UnitGroupRolesAssigned(\"party\" .. groupindex);",
                                "		if role == \"TANK\" then",
                                "			local name, realm = UnitName(\"party\" .. groupindex);",
                                "			partyTank = name;",
                                "			return;",
                                "		end",
                                "	end",
                                "end",
                            };
    
                // Get tank name
                string tankName = Lua.LuaDoString(lua, "partyTank");
    
                if (string.IsNullOrEmpty(tankName))
                {
                    // Set us as tank
                    tank = this.Me;
                }
                else
                {
                    // Set tank
                    tank = this.GetPartyMember().Single(p => p.Name == tankName);
                }
    
                return tank;
            }

    i'm looking for a way to get the tank object of a party or raid. it seems i'm something missing couz i get an empty string back.

×
×
  • Create New...