Jump to content

borg333

Members
  • Posts

    10
  • Joined

  • Last visited

Posts posted by borg333

  1. My focus is not empty,  therefore i cant use focus to target valid unit1, and thats why i ask about cast on units without target them in frame. Tell me please, whether there is a way to cast an unit as an game object and if not whether this possibility in the future for 3.3.5?

  2. If i do 

    InteractGameObject(unit1.GetBaseAddress, true)

    i will target 

    unit1

    in frame, but i want cast on enemy as focus/party1.../raid1.../ arena1... etc, without target them in frame. I know that i can focusing enemy end cast on focus but it is not a way out

  3. it was example and return true does not exists coz of testing, needs to work all the time, when it will work, i add return true. ok, i post func that works by targetting valid unit and dotting by the target:

     

            _StarFire = new Spell(48465);
    		_Swarm = new Spell(48468);
    		
    		#region DotList no shield
            public bool DotList()
            {
    
                List<WoWPlayer> listPlayersResult = new List<WoWPlayer>();
                List<WoWPlayer> allPlayers = ObjectManager.GetObjectWoWPlayer();
                foreach (var player in allPlayers)
                {
                    if (UnitCanAttack.CanAttack(player.GetBaseAddress, ObjectManager.Me.GetBaseAddress) 
                    && player.IsAlive
                    && !TraceLine.TraceLineGo(player.Position)
                    && (ObjectManager.Me.Guid != player.BuffCastedBy(_MoonFire.Name) 
                    || ObjectManager.Me.Guid != player.BuffCastedBy(_Swarm.Name)))
                        listPlayersResult.Add(player);
                }
    
                WoWPlayer unit1 = listPlayersResult.OrderBy(u => u.HealthPercent).FirstOrDefault(u => u.GetDistance <= 39);
    
                if (unit1 != null && ObjectManager.Me.Guid != unit1.BuffCastedBy(_MoonFire.Name))
                {
                    string unitName = unit1.Name.ToString();
                    Lua.LuaDoString("TargetUnit(\"" + unitName + "\")");
                    _MoonFire.Launch();
                }
                if (unit1 != null && ObjectManager.Me.Guid != unit1.BuffCastedBy(_Swarm.Name))
                {
                    string unitName = unit1.Name.ToString();
                    Lua.LuaDoString("TargetUnit(\"" + unitName + "\")");
                    _Swarm.Launch();               
                }
    		return false;
            }
            #endregion

    Yes, i dont use Interact.InteractGameObject(unit1.GetBaseAddress); it useless in pvp.

    This DotList() works but i dont want to target unit1, i want to cast spells on unit1 like on game object. Tryed 

    Lua.LuaDoString("CastSpellByName( GetSpellInfo(48468), \"" + unitName + "\")");

    and

    Lua.LuaDoString(String.Format("CastSpellByID({0}, \"{0}\")", _Swarm.Id, unit1.Name));

    not working

  4. If i use  WoWUnit and trying to add in list players -> Implicit conversion of type "System.Collections.Generic.List<wManager.Wow.ObjectManager.WoWPlayer>" in "System.Collections.Generic.List<wManager.Wow.ObjectManager.WoWUnit>"  impossible

    and i tryed to use WoWUnit unit = ObjectManager.GetWoWUnitHostile().OrderBy(u => u.HealthPercent).FirstOrDefault(u => u.GetDistance <= 39); and it returns only mobs

    CheckBS is my bool condition. i remove CheckBS and  unit.IsValid conditions

  5. I have .net framework  4.6.01586.

    Trying to do this:

     #region DotList test
            public bool DotListtest()
            {
    			Spell spell = new Spell("Moonfire");
                List<WoWPlayer> listPlayersResult = new List<WoWPlayer>();
                List<WoWPlayer> allPlayers = ObjectManager.GetObjectWoWPlayer();
                foreach (var player in allPlayers)
                {
                    if (UnitCanAttack.CanAttack(player.GetBaseAddress, ObjectManager.Me.GetBaseAddress) 
                    && player.IsValid 
                    && player.IsAlive
                    && CheckBS(player)
                    && !TraceLine.TraceLineGo(player.Position)
                    && (ObjectManager.Me.Guid != player.BuffCastedBy(spell.Name)))
                        listPlayersResult.Add(player);
                }
                WoWPlayer unit1 = listPlayersResult.OrderBy(u => u.HealthPercent).FirstOrDefault(u => u.GetDistance <= 39);
                
                    if (unit1 != null && ObjectManager.Me.Guid != unit1.BuffCastedBy(spell.Name))
                    {
                        WoWUnit target = unit1;
                        Lua.LuaDoString(String.Format("CastSpellByID({0}, \"{0}\")", spell.Id, target.Name));
                    }
            return false;
            }
    #endregion

    and nothing happens and no errors.

  6. Hi, whether there is a way to cast any spell to object with out target?

    For example:

    I have list of enemy players and i want to doting everyone who don't have my dots:

    WoWPlayer unit = listPlayersResult.OrderBy(u => u.HealthPercent).FirstOrDefault(u => u.GetDistance <= 39);

    if (dot conditions)

    string tarname = unit.Name.ToString();

    and then cast on object

    Lua.LuaDoString("CastSpellByName(GetSpellInfo(48463), \"" + tarname + "\")"); 

    I know that tarname must be player, target, raid1 e.t.c and name of target in my party, but i want to cast spells on targets wich not in my party and dont target them.

  7. Hello.

    The first question. I'm trying to use

    MovementManager.Face(ObjectManager.Target)

    with

    MovementManager.IsFacing(ObjectManager.Me.Position, ObjectManager.Me.Rotation, ObjectManager.Target.Position, 3.1f) == false

    condition and it works but if once condition is true, my char facing to target every time while i dont move. I want facing once per condition is true. How i can to do it?

    The second question. I'm using !TraceLine.TraceLineGo(ObjectManager.Target.Position) and some times i can cast through barriers (mountains) on private server, and i want do check on the Z coordinate. For example in Probably Engine exists function

    function LoS_Check(ax, ay, az, bx, by, bz)
        if ax ~= nil and bx ~= nil then
        local los = TraceLine(ax, ay, az+1, bx, by, bz+1)
        return los == nil
        end
        return false
    end

    As you can see i can change coordinates manualy. In that way i can change Z, for example Z+10 and check can i cast through mountains. And that the question: how can i get Z coordinate and use it with TraceLineGo? I think about

    Vector3 targetZ = ObjectManager.GetTargetPosition();
    
    !TraceLine.TraceLineGo(nearestPlayerEnemy.targetZ+10)

    or something like this.

    And other question is about wrobot api. Where i can find list of conditions and functions like?

    Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause or Conditions.IsAttackedAndCannotIgnore

    For example i want check spell cd and trying to use Conditions.CounterSpell("Spell name") and i guess it is wrong form. Tried use lua

    var resultLua =
               Lua.LuaDoString(
                   "ret = \"false\"; spell, rank, displayName, icon, startTime, endTime, isTradeSkill, castID, interrupt = UnitChannelInfo(\"player\"); if spell ~='Hurricane' then ret = \"true\" end",
                   "ret");

    and condition is working but it ignored when checking all conditions, even if all conditions is true and lua condition (resultLua) is false, the function still performed.
    Coding on C# on 3.3.5

    Thanks in Advance

×
×
  • Create New...