PierreDeRosette 13 Posted August 12, 2014 Share Posted August 12, 2014 Hello I'm looking for a tip to : Attack only a player Target. I have that to avoid neutral targets : if (ObjectManager.Target.IsValid && ObjectManager.Target.Reaction <= Reaction.Neutral && UnitCanAttack.CanAttack(ObjectManager.Target.GetBaseAddress, ObjectManager.Me.GetBaseAddress)) Perhaps we can do better to test if a target is an hostile Player ? --------------------------------------------------------------------------------------------- Anymore, is there a code to target "ObjectManager.Me.Target" ? I've tryed this : Interact.InteractGameObject(ObjectManager.Me.GetBaseAddress); but we can't adapt this with "ObjectManager.Me.Target" So perhaps you have another solution ? Instead of that i use a Lua code to scan targets \targetEnnemyPlayer until obtain the good target. It's not the best choice. Thank you very much :))) Link to comment https://wrobot.eu/forums/topic/1547-hi-have-you-an-easy-tip-for/ Share on other sites More sharing options...
Droidz 2738 Posted August 13, 2014 Share Posted August 13, 2014 Hello, To get if it is enemy player: if (ObjectManager.Target.Type == WoWObjectType.Player) { if (((WoWPlayer) ObjectManager.Target).PlayerFaction != ObjectManager.Me.PlayerFaction) { // Is enemy player } } To interact with your current target (this is useless because it is already your target): Interact.InteractGameObject(ObjectManager.Target.GetBaseAddress); I ignore exactly what is your objective, but if you want search and interact with an enemy player you can use code like: List<WoWPlayer> enemyPlayerList; if (ObjectManager.Me.IsAlliance) enemyPlayerList = ObjectManager.GetWoWUnitHorde(); else enemyPlayerList = ObjectManager.GetWoWUnitAlliance(); WoWPlayer nearestPlayerEnemy = ObjectManager.GetNearestWoWPlayer(enemyPlayerList); if (nearestPlayerEnemy.IsValid && nearestPlayerEnemy.IsAlive && nearestPlayerEnemy.GetDistance < 150) { Interact.InteractGameObject(nearestPlayerEnemy.GetBaseAddress); if (ObjectManager.Me.Target == nearestPlayerEnemy.Guid) { // OK } } To get the nearest attackable NPC: List<WoWUnit> unitList = ObjectManager.GetObjectWoWUnit(); List<WoWUnit> enemyUnitList = new List<WoWUnit>(); foreach (var woWUnit in unitList) { if (woWUnit.IsValid && woWUnit.IsAlive && woWUnit.Reaction <= Reaction.Neutral && UnitCanAttack.CanAttack(woWUnit.GetBaseAddress, ObjectManager.Me.GetBaseAddress)) enemyUnitList.Add(woWUnit); } WoWUnit nearestUnitEnemy = ObjectManager.GetNearestWoWUnit(enemyUnitList); if (nearestUnitEnemy.IsValid && nearestUnitEnemy.IsAlive && nearestUnitEnemy.GetDistance < 150) { Interact.InteractGameObject(nearestUnitEnemy.GetBaseAddress); if (ObjectManager.Me.Target == nearestUnitEnemy.Guid) { // OK } } PierreDeRosette and Pudge 2 Link to comment https://wrobot.eu/forums/topic/1547-hi-have-you-an-easy-tip-for/#findComment-7972 Share on other sites More sharing options...
PierreDeRosette 13 Posted August 13, 2014 Author Share Posted August 13, 2014 Hi and thank you very much for your very quick answer. Yes perhaps you need more informations but you gived me the right answer. I'm working for a script -On battlegrounds a list of ennemy players is build and always updated with their Pv -If several members of this list are at good range, the choosed target will be the lesser PV target and the choosed target will be always targeted first That's why i need this code to target something with his ID. :)) I just want to be more efficient and sometimes to be efficient we must choose the right target. Droidz 1 Link to comment https://wrobot.eu/forums/topic/1547-hi-have-you-an-easy-tip-for/#findComment-7974 Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now