Jump to content

penumbra

Members
  • Posts

    33
  • Joined

  • Last visited

Posts posted by penumbra

  1. For those that come later:

    The following work for WOTLK

     

    hasDisease = Lua.LuaDoString<bool>("for i=1,40 do local _, _, _, _, debuffType = UnitDebuff('player', i); if debuffType == 'Disease' then return true; end end");
    
    	
    if (hasDisease && SpellManager.SpellUsableLUA("Abolish Disease") && ObjectManager.Me.ManaPercentage > 10 && !ObjectManager.Me.HaveBuff("Abolish Disease") && !ObjectManager.Me.InCombatFlagOnly) {
            Interact.InteractGameObject(ObjectManager.Me.GetBaseAddress);
            AbolishDisease.Launch();
            Lua.LuaDoString("ClearTarget();");
            hasDisease = false;
    }

     

  2. 8 minutes ago, Marsbar said:

    That's why you should run a little bit of LUA in your C#. There isn't an in built C# function for this. LUA is definitely the best way as it returns the specific debuff type.

    Thanks,

     

    Im trying the following
     

        public bool hasDisease = false;
    
        hasDisease = Lua.LuaDoString<bool>("for i=1,40 do local texture, count, debuffType = UnitDebuff('player', i); if debuffType == 'Disease' then return true break; end end");
    
        if (hasDisease && SpellManager.SpellUsableLUA("Abolish Disease") && ObjectManager.Me.ManaPercentage > 10 && !ObjectManager.Me.HaveBuff("Abolish Disease")) {
            Interact.InteractGameObject(ObjectManager.Me.GetBaseAddress);
            AbolishDisease.Launch();
            Lua.LuaDoString("ClearTarget();");
            hasDisease = false;
        }

    But that does not seem to work

     

  3. 28 minutes ago, The Smokie. said:

     

    Hey, this is a bit different. This looks for a specific debuff

    I am looking for function that can search through the debuffs for curse/magic etc. and then cast, I would not have the spell IDs of all the world afflictions

     

  4. Hello,

    I'm having problems with my script that it should stop executing when the bot is on it's way to a flight mater (preferably when it is close to it)

    I've noticed that the log produces a "11:35:55.664 - [FlightMaster] Try to take taxi at <location>" but I am unsure if i can use something like the below to see if the bot is in a "seek out flightmaster"-state

    robotManager.Helpful.Logging.Status == "Regeneration"

    Does anyone know, or is there some documentation regarding the functions that I can call to understand where the bot is going and the purpose?

    Thanks!

  5. Hello robot wizards!

    I am trying to improve my healer fightclass by understanding which classes are in the party

    The below should work in theory, but I cannot get it to work. Anyone have done a similar function before?

    Thanks in advance!

     

    private bool _Partyclass_Druid;
    
    public void UpdatePartyComposition()
    {
            _Partyclass_Druid = false;
    
            var partyMembers = Party.GetPartyGUIDHomeAndInstance();
            if (partyMembers.Any())
            {
                foreach (Int128 u in partyMembers)
                {
                    if (u.WowClass = "Druid") {
    					_Partyclass_Druid = true;
    				}
    				// Repeat for other clases
                }
            }
    }

     

  6. Hello

    I have been searching the forums but not been able to find a solution that works

    I am trying to have a fight class select the appropriate spell based on the ranks that are known, a dream scenario would be:

    public Spell Frostbolt = new Spell("Frostbolt");
    public Spell Firebolt = new Spell("Firebolt");
    
    if(Frostbolt.KnownRank > 4){
    	Frostbolt.Launch();
    } else {
    	Firebolt.Launch();
    }

    Does any one know how this would be possible to do given the functionality that is available?

    Thanks in advance!

  7. Hello

    I am trying to get the bot to look for if I have spawned a Stoneclaw totem (ID for Rank 2 is 3911)

    But the below does not seem to work, is it become a Totem is not a WowGameObject?

    Thanks in advance!

     

    if (ObjectManager.GetWoWGameObjectByyId(3911).Count > 0)
        {
            //  Stone Claw is up
        } else {
           // Stone Claw not up
        }

     

  8. Hello,

    When I launch Relogger.exe it does not boot up the relogger, but instead just goes to the normal WRobot login screen. I am using this for Vanilla wow

    I have tried deleting my Relogger.exe and let the botreupdate
    I have tried starting Relogger.exe both with and without a wrobot instance running, but in both cases it just goes to the normal "select a process" window

    This is the same issue as described in, but no reply was ever made??

     

  9. Hello,

    I have a mage on party mode to follow my warrior

    Mage is set to engage targets in combat, and assist party members

    I have set the follow distance for the mage to follow warrior quite large (30-40) as going closer looks artificial (bot stands on top of other)

    Once the warrior goes in combat, the mage spams the log as below 20-30 times, and looks to be shutter stepping between moving closer to the warrior and to the mob

    14:57:06 - [Fight] Player Attacked by Mob (level 20)
    14:57:07 - [Fight] Player Attacked by Mob (level 20)
    14:57:08 - [Fight] Player Attacked by Mob (level 20)
    x20

    Then suddenly when the mob is around 50% hp, the bot wakes up, mobes to the mob and engages perfectly

    It seems to work better (but not flawlessly) if the mob is in range of the mage once engaged and it does not need to move to get there - it does still spam the log though

    I've played around with most settings, but it seems the logic of "If warrior engages a target, then close distance to mob mob and attack" like it does when grinding is not working as intended in party mode

    Is this a known issue/setting I missed?

     

     

  10. Hello,

    Is there a way that I can add a check to see if the bot is in the "ToTown" state?

     

    I am tinkering with a bot pausing that I like as I find the functionality in advanced settings to be unreliable, which is a different issue. Even with 500 yards and 0 seconds run time it does not pause

    I would like to create a stopbot function that respects players vicinity and pauses straight away, however does not break the "totown" functionality

    I am using the below (from the StopBot.cs) to identify when a player is near, and adding a check for an extended pause duration

    The problem is that once the bot is on the way to town and encounters its first player, it goes into pause. Which would be fine since it will suppress after a duration. However, the bot upon supressing the pause has forgotten it was on the way to town and goes back to the grinding spot

    Is there a way that I can add a check to see if the bot was in the "ToTown" state, so that it does not force the bot to pause, but allows it to run

     

    Thanks!

    
                   foreach (var wowPlayer in ObjectManager.GetObjectWoWPlayer() )
                   {
                      if (wowPlayer.Name != null && wowPlayer.GetDistance<60 && !ObjectManager.Target.IsAlive)
                      {
                            playerPresent = 1;
                            Logging.Write("Other Player in range detected: "+wowPlayer.Name+" "+wowPlayer.GetDistance.ToString());
                            //Lua.LuaDoString("Dismount();");
                            //Thread.Sleep(10);
                            //Products.InPause = true;
                            
                        }
                   }
                   if (playerPresent == 0)
                    {
                        
                        Products.InPause = false;
                        Thread.Sleep(10);
                    } else {
    		    Logging.Write("Currently been waiting for: "+timeinpause);
    		    timeinpause = timeinpause +1;
    			Thread.Sleep(1000);
    		}
    
    	     if (timeinpause > 10) {
    		    Products.InPause = false;
    		    Logging.Write("I probably got stuck on my way to town, surpressing for 40 sec");
    		    timeinpause = 0;
                        Thread.Sleep(40000);
    
    	     } 

     

×
×
  • Create New...