Jump to content

Ordush

Elite user
  • Posts

    1178
  • Joined

  • Last visited

Posts posted by Ordush

  1. Fightclass: TBC - Mage - Fire:
    The mage fireclass is the next in lien to get an overhaul.
    I'm rewriting the fightclass in CS, just like i did the hunter.
    Stay tuned!

  2. Fightclass: TBC - Hunter - Beast Mastery:
    Version 2.0.0. has been released!
    2.0.0 - Rewrite of all the code
    - All of my code has been rewritten in C#
    - Fixed some bugs, that was not fixable in xml here are some of them: The UI does not bug first time you use the fightclass. - You can now ReloadUI even without stopping the bot.
    - When you pause the rotation in-game WRobot itself will pause; The bot doesn't try to auto-shoot anymore!
    - The bot will not attack CC'ed mobs.
    - Volley Mob Amount has been added, where you can change the amount of mobs that needs to be in a cluster for the bot to use volley.
    - The bot no longer interupts drinking uless you have full mana.
    - More tight rotation, meaning higher dps and faster use of cooldowns.
    - Much more has been tightened up.
    - Removed Ranged Attack Speed from GUI, since this is now automaticly calculated.

  3. Fightclass: TBC - Hunter - Beast Mastery:
    I am rewritting the whole Hunter fightclass into C# instead of xml.
    The reason i am doing this, is so i can make my code utilize more of WRobots functions, and to make it run a lot more smooth. (No more crashes because of logs!)

  4. FAQ (Frequently Asked Questions).
    Here you will find the answers to most of your questions.
    If your issue is not in this list, feel free to seek help in the support channel that fits the fightclass you're using.

    [Q] = Questions
    [A] = Answer

    [Q]: The xml file is only containing 1 line of code, is this a scam?
    [A]: No, this is not a scam. All my fightclasses are encrypted, WRobot reads the encryption key then it loads all my code.

    [Q]: I have loaded the file, but nothing happens in-game (no interface).?
    [A]: This can be because of a few reasons:
    1) Your game client is not English.
    2) Your WRobot is only trial version If it's not any of these two then get help in the support.
    3) You have wow addons that are messing stuff up (Disable all addons when you use bot)
    4) You have the settings stored from a pre v2.0.0, they are messing with the new version. Go to wrobot/settings folder and delete anything with "Ordush" in the name.
    5) Your WRobot setup, has a setting set to something that breaks the fightclass. Try making a new WRobot install, in a new folder.

    [Q]: All other fightclasses works fine, why doesn't your?
    [A]: Most other fightclasses are not nearly as advanced as mine is. My fightclasses utilizes a lot more functions from WRobot. This means more can go worng with your install.
    Making a fresh install of WRobot is the safest bet to make sure nothing is wrongly set up.

    [Q]: I am getting this error: (May look slightly different if your computer language is not English)

    [My fightclass] ERROR: System.FormatException: Input string was not in a correct format.
    at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
    at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
    at LuaUtils.GetSpellRemainingCD(String spellName)
    at Main.CombatRotationRanged()
    at Main.Rotation()

    [A]: This error is a false positive. It's basically saying: The code you wrote to check cooldowns... It isn't working.
    However, if the code i wrote did not work. Then the bot would not cast any spells. Ignore the message. It does nothing.

  5. Fightclass: TBC - Hunter - Beast Mastery:
    Version 1.3.0 has been released
    - The fightclass will now save your settings between sessions. So if you have turned off some abiltiies and turn off your game. Then later when you load the game and the FC the settings will return to what they were. (The first time you load the FC it MAY bug out as it writes the settings file. just do /run ReloadUI()
    - Your attack speed is now automaticly calculated, even if you have speed buffs this will change so it fits. (try opening the settings and use Rapid Fire).

  6. Hey all
    Does anyone know if it's possible to use the hitbox when using Vector3?

    I use this to backtrack from mobs, but if the mob has a big hitbox, it'll cause problems.

    Because Target Position does not include the mobs hitbox?

    var tar = ObjectManager.Target;
    Vector3 newPos = new Vector3(tar.Position.X + posX, tar.Position.Y + posY, tar.Position.Z);

    The code below gives the distance between me and target hitbox.

    ObjectManager.Target.GetDistance - ObjectManager.Target.CombatReach - ObjectManager.Me.CombatReach

    I also use the Vector3 to check TraceLine, but this also doesn't check far enough on mobs with big hitboxes.

    (!TraceLine.TraceLineGo(ObjectManager.Target.Position, newPos))

    Hope any of this made any sense, otherwise please ask. :)

    I'd love to get help on this!
     

    	public static double PosX(int angle)
    	{
    		return 0 + 18 * System.Math.Cos(angle * System.Math.PI / 180);
    	}
    
    	public static double PosY(int angle)
    	{
    		return 0 + 18 * System.Math.Sin(angle * System.Math.PI / 180);
    	}

    The number "18" is the range between the vector and the mob. it has to be 18 in order to be 8 yards from a mob with a big hitbox (Raptors in Un'Guru, is an example).
    I could make a variable that changed number based on target hitbox size, but i don't know how to get that either. :P

  7. 29 minutes ago, CocoChanel said:

    I have been using WRobot recently, and I have gotten warden banned on K3.

    All bans occured while my char was looting. This is not a common issue, but I have had it happen twice now.

    I can assure you that this is 100% a warden ban, because I got banned after my client crashed when using the bot. I also checked my account status, and it confirmed that it was a warden ban. Please fix:)

     

     

    Can you Screen Shot that it says warden ban?
    I just got a char banned there, and it says "botting" not "warden ban". So if you were 'detected' could it be some other third party software you have on?

  8. 14 minutes ago, Zan said:

    This doesn't work?

    
    public float Range { get { return FightClassSettingsHere; } }

     

    Well, yes it does. But since it's read-only i can only set it once. I wanted to change Range based on conditions. :)

    Edit: LoL.Brainfart.. nevermind.. how did i not see the "return" rofl..
    Works fine. :)

  9. Hey all

    I set the combat range in the top of my C# With the code @Droidz has provided.

    public float Range { get { return CombatRange; } }

    It seems that, it doesn't work if i don't set it as read-only (get).
    I want to be able to change the range from fightclass settings, does anyone know how to get this to work? :)

    Added this here, since it's more a all around thing, than vanilla only. :)

  10. 9 minutes ago, Marsbar said:

    I say you do it the LoS way with TraceLine, you wouldn't want to walk around a wall and then not be able to shoot your target right? Because the result success would give you a true if it can make a path even if that means going around a wall.

    Then if you don't have LoS adjust your vector either direction until you do, sort of how I explained here: https://wrobot.eu/forums/topic/7507-solved-move-after-frost-nova-is-it-really-that-hard/?do=findComment&comment=34304

    THEN to make it even better check if there are hostiles where your path will go and adjust again. Maybe also add a failsafe so that if it cannot find a path, stay in melee? It's what a legitimate user would do too rather than run into other mobs.

    Mine is checking for both, so if it can't find a path, but it is in LoS then it won't try.
    I gave it 4 seconds to find it's way to a spot it thinks it can go to (failsafe). :)

  11. 12 minutes ago, Matenia said:

    PathFinder.FindPath has an API for checking if the path it made is valid. You can also use !TraceLine.Go(vector3) to check that LoS is available to the vector from your position.
    Using those tools, you should be able to find a vector where no enemy is in sight (by periodicially checking LoS and enemy positions in ObjectManager) around your character. 

    You can also use PathFinder.ReportDangerArea(vector3, radius) to tell the pathfinder to avoid this area (e.g. mob + aggro radius) while running away. But in my experience this is iffy and you should do your own "pathfinding" for small paths when not runnign very far away.

    Cheers @Matenia

    I will try see if i can get something to work with this. :)
    Vector3 to, out bool resultSucess is what i'd use to see if it can go to Vector3 right?

  12. @Droidz

    I thought it would be better to necro this thread, than making a new one

    Is there a way to check if there is any viable spots available?
    Instead of using backtrack I have tried using the pathfinder with
     

    var xvector = (ObjectManager.Me.Position.X) - (ObjectManager.Target.Position.X);
    var yvector = (ObjectManager.Me.Position.Y) - (ObjectManager.Target.Position.Y);
    
    Vector3 newpos = new Vector3()
    {
      	X = ObjectManager.Me.Position.X + (float)((xvector * (25 / ObjectManager.Target.GetDistance) - xvector)),
    	Y = ObjectManager.Me.Position.Y + (float)((yvector * (25 / ObjectManager.Target.GetDistance) - yvector)),
    	Z = ObjectManager.Me.Position.Z
    };
    	MovementManager.Go(PathFinder.FindPath(newpos), false);
    	Thread.Sleep(1700);

    This is ofc. in a loop.
    Now this will move my char 8-9 yards from the target walking in a straight line backwards using the pathfinder. However the issue remains the same, that if i hit a wall it will keep going. Here i can use your code written above to stop moving.

    Instead of this, is there a way that i can, using the pathfinder: Find a place where there is 9 yards free from the target instead?

  13. Imagine your fightclass being a text with instruments, where each instrument can't be read without reading the other instruments coming before it first.
    So it reads form top to buttom, then it repeats. (Loop).

    The amount of instructions it has to read through determines how fast it reads the page.
    So if you have a shit ton of conditions, it'll slow down the reading process. Reading from memory goes faster than looking for in-game lua conditions.
    So if you want the 'reading speed' to increase, you want to decrease the amount of in-game lua conditions or make your overall conditions smarter.
    I will make an example here for you on how you can make your conditions smarter (faster).

    Say you have 4 spells after eachother.
    Spell1 (Cast this if if not in combat, cast this if mana is x%)
    Spell2 (Cast this if not in combat, cast this if mana is y%)
    Spell3 (Cast this if not in combat, cast this if mana is z%)
    Spell4 (Cast this if not in combat, cast this if mana is w%)
    You change this to be smarter like this:
    My4Spells (Cast this if not in combat)
    {
    Spell1 (Cast this if mana is x%)
    Spell2 (cast this if mana is y%)
    Spell3 (cast this if mana is z%)
    Spell4 (cast this if mana is w%)
    }

    this is a very very rough and stupid example, but it should get the point out.
    So in short, to speed up the condition reading. You want:
    1. Memory > Lua conditions
    2. Smart code
    3. If you look at my Vanilla/TBC hunter fightclasses (or any fightclass i have made) you will see right away that i have used TONS of Lua.
    So it can be done, but you want to read through lua as few times as possible. :)
    4. The higher FPS your fightclass has the faster it reads through the page (FRAMES). So increasing the FPS both for the fightclass AND in-game will add a little speed (just like Droidz said it).

    Hope this helps.

  14. Your in-game macro is not using UseItemByName, it's taking what you have in container slot 0,1. This means it will only try to feed your pet with whatever is in that slot.

    You can do the same with your bot with the following Code:

    if GetPetHappiness() < 3 then
      CastSpellByName("Feed Pet")
      PickupContainerItem(0,1)
    end  

    This will make the bot feed the pet with whatever you have in slot 0,1 in your bags (like your macro) if the pet is not happy. :)

    Edit: For the first code snippet to work, you could make a foreach loop and check every slot in your bag for itemname. :)

  15. 4 hours ago, Droidz said:

    Hello, WRobot method "IsSpellUsable" check if spell is not gray in action bar (mana, cooldown, usable on target, ...: https://wow.gamepedia.com/API_IsUsableSpell and https://wow.gamepedia.com/API_GetSpellCooldown ).

    if it is not a spell at cast on self, you need to check if target is in "line of sight" and target distance:

    
    var notInLineOfSight = TraceLine.TraceLineGo(ObjectManager.ObjectManager.Target.Position);
    var isGoodDistance  = spell.IsDistanceGood;

     

    Ah cool.
    @Droidz The most important thing for me was just to know whether or not  it was trying to cast while casting.
    (UnitCastingInfo("player") == nil) :)

  16. Hey all
    i've begun rewritting my fightclases to C#.
    I am using IsSpellUsable which is all nice and good.
    I've looked in the dll, which is obviously obfusticated.
    I can't seem to find heads and toe on what IsSpellUsable does?
    I know that it checks if you have cooldown on spell, and i'm guessing that it checks if target is in line of sight.
    Does it also check if you are already casting something?
    Because i for some spells like frost bolt etc. you don't want to wait with casting till you are not casting, due to the lag making you able to cast faster if you spam the button. :)
    Also what about launch? CastSpellByName ?

×
×
  • Create New...