Jump to content

kergudu

Members
  • Posts

    19
  • Joined

  • Last visited

Recent Profile Visitors

1042 profile views

kergudu's Achievements

Newbie

Newbie (1/14)

2

Reputation

  1. Alex007, what you mean the "same situation"? 1) With wrotation you cant join random BG even manually? or bot cant accept BG when it ready? 2) with battlegrounder bot rejoins queue? 3) Does plugin print something to log/console? Maybe your log could clarify the situation
  2. kergudu

    Sort conditions

    Hi! It would be nice add conditions sorting to fight class editor (with buttons "up" and "down" or with mouse). Robot checks conditions consequentially (with && operator), so is usefull to put some "heavy" C# conditions to the end of list, but in current implementation this is possible only by remove and add it back (or move strings in XML)
  3. It tricky but possible This is additional C#, nothing special, only proof (with egyptian brackets, because i am Java programmer ) And this is fight class: testClass.xml Load it, open Settings and type any known spell. For example, "Steady Shot" for hunter. Then go to target dumy and check. Just want to use the same "legally", without special names for settings class. Maybe one more property in fight class
  4. Hi! I did it with shortcut "Fight Class Editor". From wrobot all works fine
  5. Simply add LUA code to some points of your path like this: lua: Dismount() TargetNearestEnemy() CastSpellByName("Multi-Shot") Use any spell to attack nearest enemy, i used AOE "Multi-Shot" in example. This will break circle. No need to increase latency. Or use universal script (for any class): lua: Dismount() TargetNearestEnemy() AttackTarget() See also
  6. In current implementation i can add to XML fight class additional C# code like this and use settings window: [Serializable] public class ShadowPriestSettings : Settings{ ...bla bla bla } this works with settings class name exactly equals [FightClass]Settings where [FightClass] is name, declared in "General Settings" -> "Fight Class Name". It would be nice to use any name, with additional C# code like this: public void ShowConfiguration() { InnerSettings.Load(); InnerSettings.CurrentSetting.ToForm(); InnerSettings.CurrentSetting.Save(); } [Serializable] public class InnerSettings : Settings{ ... bla bla bla } For now, it not works, robot says "Type 'Main' already defines a member called 'ShowConfiguration' with the same parameter types" Is there any legal option to use settings with XML fight class?
  7. For ehample, i have some spell with condition: <FightClassCondition> <ContionType>IsSpellUsable</ContionType> <Param xsi:type="FightClassConditionStringBool"> <Name>Shadow Word: Death</Name> <Need>true</Need> </Param> </FightClassCondition> after convert to C# this condition is looks like this SpellManager.SpellUsableLUA("")
  8. maybe GetTalentTabInfo / GetSpecializationRole will help? But it requres to inspect player
  9. My variant (attacks only units in front of player +-90 degrees): public bool multiDot(string spell,int distance){ WoWUnit target = ObjectManager.GetWoWUnitHostile() .Where(o => o.IsAlive && o.IsValid && !o.HaveBuff(spell) && o.GetDistance <= distance) .OrderBy(o => o.Health) .FirstOrDefault(); WoWUnit oldFocus = ObjectManager.Target; if (target != null) { if (!MovementManager.IsFacing(ObjectManager.Me.Position, ObjectManager.Me.Rotation, target.Position, 1.6f)) return false; Interact.InteractGameObject(target.GetBaseAddress, true); SpellManager.CastSpellByNameOn(spell, "focus"); Usefuls.WaitIsCasting(); Interact.InteractGameObject(oldFocus.GetBaseAddress, true); return true; } return false; }
  10. C# variant (universal) public int craft(string profession, string matherial) { SpellManager.CastSpellByNameLUA(profession); Lua.LuaDoString("CloseTradeSkill()"); string command = String.Format( "toCraft=0 local q,n,_,a=\"{0}\" "+ "for i=1,GetNumTradeSkills() do n,_,a=GetTradeSkillInfo(i) if(n==q) then toCraft=a DoTradeSkill(i,a) break end end", matherial); int result = Lua.LuaDoString<int>(command,"toCraft"); return result; }
  11. instead of Thread.Sleep(...) try to use wManager.Wow.Helpers.Usefuls.WaitIsCasting() Sleep rotation for long time is not good, and with this function you alwais can break cast and start another spell.
  12. tested: IsFallingFar triggers too fast. Bot uses spell almost immediately (and dismount). So, solution with ~1 second delay after fall start is better
  13. Indeed. So, no need for 1), and for 3) C# conditions are ObjectManager.Me.IsFallingFar && !Me.HaveBuff("Levitate") // for levitate or some other levitate spells/trinkets ObjectManager.Me.BuffTimeLeft(new List<uint> {16593}) < 1000 // for Noggenfogger Elixir
  14. It would be nice to have C# conditions in fight class editor, but for now there is only LUA. Of course, in C# fight class ObjectManager.Me.IsFallingFar is the best choice
  15. Some classes has spells to avoid falling damage. For example, priest has "Levitate". Problem is to detect when this spell required 1) declare global LUA variable in additional C# code string fallTime=Lua.LuaDoString("fallTime=nil","fallTime"); 2) add spell "Levitate", with options: Can move during cast = Yes; Cast if mounted = true; Cast spell on = player; Combat only = false 3) add conditions for this spell: - Buff (Name=Levitate, Need=false) - Lua script, with return var "falling" and return value research "ok" falling="no" if(IsFalling()) then if (fallTime==nil) then fallTime=GetTime() elseif (GetTime()-fallTime>=1) then falling="ok" end else fallTime=nil end Thats all. When priest falls more than 1 second, bot automatically buffs him. Now you can queue Arathi Basin and go def LM But not all
×
×
  • Create New...