Jump to content

Brian

Members
  • Posts

    92
  • Joined

  • Last visited

Posts posted by Brian

  1. Is it possible to get actual haste dot information through LUA?  I am playing 3.3.5, and with haste snapshotting, I want to know what I snapshotted.  Also, please do not say to just check when you cast, because it can come down to milliseconds so sometimes that messes up.  I want to know if it's possible to check my debuffs on boss, for example lets say Debuff ID 1234, and get the haste associated with that dot, or ticks per second, or something similiar.  Pseudo code:

     

    if (BossHasDebuffA) {
    	if(DebuffATicks >= ThreshHold){
    		DoNothing;
    	} else{
    		if(PlayerHasNeededHasteBuffs){
    			Cast DebuffA;
    		}
    	}
    
    } else{
    	Cast DebuffA;
    }

    In this pseudo code, how would I get DebuffATicks without assuming it snapshotted correctly(IE, checking buffs when cast because that is extremely unreliable)

     

    Also, how would you get the total time on a debuff rather than time remaining? (Again, I would prefer not checking this when applied and being able to check this whenever)

  2. 9 hours ago, iMod said:

    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.

    Thanks it does.  Does 

    p.IsValid

    check if online?  Also, CastSpellByID is protected, you are able to call protected LUA functions through wrobot?

  3. 14 minutes ago, saleh said:

    Do you play retail? Because I messed around with 

    Party.GetPartyHomeAndInstance();

    and it didn't work for me.  I got the playername of who I need to heal, just need to know how to target him or get the WoWPlayer object with just a playername

  4. 6 minutes ago, saleh said:

    The player needing to be targeted is constantly changing and isn't known initially, so I can't make a macro for it.  Can you cast a spell on a specific player with LUA? That would work as well.  I am trying to make a healing fightclass that supports raids, since raids are not supported by the bot, atleast in WOTLK, I can get the correct players name that needs to be healed via LUA, but I just need to cast a spell on him.

  5.  

    if (Corruption.IsSpellUsable && Corruption.IsDistanceGood && Corruption.KnownSpell)
             {
    
                 if (CorrAura.SpellId == )
                 {
                    Logging.Write("herea");
                    Corruption.Launch();
                     return;
                 }else if(corr20 == false && corr60 == false && ObjectManager.Me.HaveBuff("Eradication") && !ObjectManager.Me.HaveBuff("Bloodlust") && !ObjectManager.Me.HaveBuff("Heroism"))
                {
                    Logging.Write("hereb");
                    Corruption.Launch();
                    corr0 = false;
                    corr20 = true;
                    corr60 = false;
                    return;
                }else if(corr60 == false && ObjectManager.Me.HaveBuff("Eradication"))
                {
                    if(ObjectManager.Me.HaveBuff("Bloodlust") || ObjectManager.Me.HaveBuff("Heroism"))
                    {
                        Logging.Write("herec");
                        Corruption.Launch();
                        corr0 = false;
                        corr20 = false;
                        corr60 = true;
                        return;
                    }
                }
    
             }

    So, my issue is that it changes the variables (corr0/corr20/corr60) without actually Launching the spell. Because it loops through this while casting previous spell / on GCD.  Is it possible to do something like

    Corruption.Launch();
    //pseudo code
    if(launch is successful){
    	corr0 = false;
    	corr20 = false;
    	corr60 = true;
    }

    How would I check if the launch is successful? Its an instant spell, so I cant check current spell casting.  Also, I don't want to do something like 

     

    if(Not ON GCD || Not Casting) {

    }

    I do not want to do this because I will slow down the routine script way to much.  How else to fix issue?

  6. So, I know you can do this

    string name = Lua.LuaDoString<string>("name = UnitAura('player', 'BUFF_NAME'); return name; ");
    string rank = Lua.LuaDoString<string>("name,rank = UnitAura('player', 'BUFF_NAME'); return rank; ");
    string icon = Lua.LuaDoString<string>("name,rank,icon = UnitAura('player', 'BUFF_NAME'); return icon; ");
      //etc.. for all

    Is there a better way to return all the different properties of UnitAura into c# variables?

  7. So, just wondering if this is a server issue, or a bot issue, does this work for people on other servers? (3.3.5) On my server, it doesn't work.  For example, I play a lock, if I am the only lock, rotation works fine, but if another lock is using the same dots as I, the rotation breaks, some spells it registers some it doesn't.  It's safe to say something is wrong with TargetBuffCastedByMe for my server, is it working flawlessly for anyone on a different server?

  8. 1 hour ago, Droidz said:

    Hello,

    You can edit searches radius: in tab "General Settings" > "Advanced ..." > onglet "Looting and Farming options" > "Search Radius"

    To add objects at collect: Go to tab "General Settings", button advanced..., in new window go to tab "Looting and farming options" and add id of name of object in textbox "Harvest objects...".

    Thanks.. is there anyway to remove the auto blacklisting nodes with enemies near by?

×
×
  • Create New...