Jump to content

Seminko

Members
  • Posts

    225
  • Joined

  • Last visited

Reputation Activity

  1. Thanks
    Seminko reacted to Apexx in [SOLVED] Move after Frost Nova - is it really that hard?   
    Not sure if you have seen this post -> move back if... add code in fightclass editor
  2. Thanks
    Seminko reacted to Marsbar in [SOLVED] Move after Frost Nova - is it really that hard?   
    Try adding 
    FightEvents.OnFightLoop += (unit, cancelable) => { if (ObjectManager.Target.GetDistance < 8) { 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 * (20 / ObjectManager.Target.GetDistance) - xvector)), Y = ObjectManager.Me.Position.Y + (float)((yvector * (20 / ObjectManager.Target.GetDistance) - yvector)), Z = ObjectManager.Me.Position.Z }; MovementManager.Go(PathFinder.FindPath(newpos), false); Thread.Sleep(1500); } }; edit: the thread.sleep is a bit of a workaround to stop whatever else is interfering
    you may also want to increase that if distance to higher than 8
  3. Thanks
    Seminko reacted to reapler in sending a shift+right-click to an inventory-item   
    Hello, since you are using vanilla i assume the method doesn't work correctly but i'm not sure("DoString" is obfuscated).
    You also can't use the "/use <item>" it wasn't implemented on vanilla. So you need to iterate the items in your bag with lua.
    I tried this on 3.3.5a but since the used api functions is also present on vanilla, it should also work:
    public void UseItemByName(string name, bool lootItem = true) { if (lootItem) { Task.Run(async delegate { robotManager.Helpful.Keyboard.DownKey(wManager.Wow.Memory.WowMemory.Memory.WindowHandle, System.Windows.Forms.Keys.ShiftKey); await Task.Delay(2000); robotManager.Helpful.Keyboard.UpKey(wManager.Wow.Memory.WowMemory.Memory.WindowHandle, System.Windows.Forms.Keys.ShiftKey); }); } wManager.Wow.Helpers.Lua.LuaDoString( @" for b=0,4 do for s=1,GetContainerNumSlots(b) do if (string.find(tostring(GetContainerItemLink(b,s) or """"), """+wManager.Wow.Helpers.ItemsManager.GetIdByName(name)+@""" )) then UseContainerItem(b,s, onSelf); end end end " ); } Usage:
    UseItemByName("Hearthstone", false); or
    UseItemByName("Heavy Crate", true);  
  4. Thanks
    Seminko reacted to camelot10 in Avoid ban or minimize risk   
    Seems like blizzard avoid/fear to scan hardware ids or ip. There are huge amount of proofs that each WoW instalation have unique ID, and if one account catched in botting (see algorythm below) others account used in same wow instalation in danger.
    This mean: all accounts who interact (trade, mails, guild banking, leveling) with catched account and have same WoW ID goes to ban with catched account.
    RULE #1: DIFFERENT WOW INSTALLATION FOR EACH ACCOUNT. IF ACCOUNT COMPROMISED REMOVE THAT WOW FOLDER AND INSTALL NEW FROM FRESH
    How they catch botting?
    1. Client Side Detection.
    If bot doesnt have enought protection then wow/blizzard detect it. Nothing you can do about it. Account flagged, all linked account flagged too (see rule #1)
     
    2. Server Side Detection
    Everyone should google about AI and heatmaps. Here brief example: youtube
    blizzard doesnt ban/catch/watch by ip or hardware id. when you have millions of users, you can get heatmaps of users interactions. and when some part of your userbase start acting like on alghorythm, and you can predict what and when they do and what they gonna do next. this is main problem with popular bots/profiles: 100 000 users go to X,Y get quest AA or gather node BB, then all of them go to X2,Y2 and get quest CC or node DD and so on. after few hours/days/weeks blizzard have heatmap algorythm. and if someone: even if that player login for 20min, but in this 20min that player do same steps/action that other botts do -> blizzard mark your character for banwave and all linked accounts (see rule #1).
    that why banwaves apprear once per 6-12 months. Its a gigantic job to calculcate bots heatmaps, its like a trump ace on your hands, you gonna rise till max and only then reveal it.
    RULE #2: AVOID PUBLIC GATHER/GRINDER PROFILES
    no public profiles -> even if someone posted good profile -> mimic it: download profile, run for 1 secs, make screenshot from radar, delete profile, make own profile according to screenshot. event that method i would't suggest. make all profiles by hands. its a 2-5min to make good route
    never make profiles with one lap (loop/circle): made something like olympic rings, 2-5 circles
     
    grinding only on "hotspots" - > no path
    Each time you got banned-> remove and forget profiles used
    RULE #3: RUN DIFFERENT TASKS/PROFILES
    especialy actual content. i mean do: reputations, daily, dungeons, timewalking, lfr, mythics, darkmoon. everything that breaks your farm heatmaps routine (grind/gather)
     
    TINFOIL HAT RULE: Differect PC/Virtual PC + IP/Provider/VPN
    that doesnt help much. but! BUT!
  5. Thanks
    Seminko reacted to reapler in Find NPC by ID (longer than visible range)   
    Hello, this is a limitation from the server itself, other servers could also have a dynamic object scope(performance reasons).
  6. Thanks
    Seminko reacted to Matenia in Making Range a variable   
    You have it correct.

    Now if you have a bool for your fightclass like this
    private bool _IsLaunched = false; private bool ChangeRange = false; private static WoWLocalPlayer Me = ObjectManager.Me; public float Range { get { if(ChangeRange) { return 29f; } return 5f; } } private void Pulse() { while(_IsLaunched) { //check if player not in combat yet, but bot wants to fight its current target //then set ChangeRange to true if target is further away than 12 yards, otherwise false ChangeRange = !Me.InCombat && Fight.InFight && ObjectManager.Target.GetDistance >= 12; Thread.Sleep(100); } } Then you need to call Pulse once in your Initialize method (in your fightclass).
    Pulse should basically be executing your rotation. You can take a look at existing fightclasses like Eeny's to get a better idea at how they work. 
     
    Anyway, that should change your range accordingly. It's possible, that the bot won't react to this right away. If that's the case, you basically have to intercept events and change the range before they fire.
  7. Thanks
    Seminko reacted to Droidz in Rogue ranged pull with Throw / Shoot Bow   
    Hello, put bigger range in your fightclass setting
  8. Thanks
    Seminko reacted to iMod in Warlock keeping multiple targets dotted   
    Yes i just tried to demonstrate what the expression does in the background. The first one is with expression and the other one without.
  9. Like
    Seminko reacted to Matenia in Warlock keeping multiple targets dotted   
    public static bool CastSpell(RotationSpell spell, WoWUnit unit, bool force) { // targetfinder function already checks that they are in LoS if (unit != null && spell.IsKnown() && spell.CanCast() && unit.IsValid && !unit.IsDead) { if (wManager.wManagerSetting.CurrentSetting.IgnoreFightGoundMount && ObjectManager.Me.IsMounted) return false; Lua.LuaDoString("if IsMounted() then Dismount() end"); if (ObjectManager.Me.GetMove && spell.Spell.CastTime > 0) MovementManager.StopMoveTo(false, 500); if (ObjectManager.Me.IsCast && !force) return false; if (force) Lua.LuaDoString("SpellStopCasting();"); if (AreaSpells.Contains(spell.Spell.Name)) { /*spell.Launch(true, true, false); Thread.Sleep(Usefuls.Latency + 50); ClickOnTerrain.Pulse(unit.Position);*/ SpellManager.CastSpellByNameOn(spell.FullName(), GetLuaId(unit)); //SpellManager.CastSpellByIDAndPosition(spell.Spell.Id, unit.Position); ClickOnTerrain.Pulse(unit.Position); } else { if (unit.Guid != ObjectManager.Me.Guid) { MovementManager.Face(unit); } SpellManager.CastSpellByNameOn(spell.FullName(), GetLuaId(unit)); //Interact.InteractObject also works and can be used to target another unit } return true; } return false; } This is the function I use to cast spells and make sure my bot stops walking, if required.
    Here, spell.IsKnown() and spell.CanCast() are shorthand functions on my spell class to make sure that the spell is not on cooldown and IsSpellUsable is true.
    AreaSpells is just a list of strings containing spell names like Blizzard, Rain of Fire and other targeting AoE spells.
    Then when deciding whether to use buffs (or like combat spells on an enemy), I just check as follows:
    if(Fight.InFight || ObjectManager.Me.InCombat) { //Rotation here, for example CastSpell("Corruption", ObjectManager.Target) }else { //use buffs }  
  10. Like
    Seminko reacted to reapler in How to check if inventory is full   
    @Seminko it's "wManager.Wow.Helpers.Bag.GetContainerNumFreeSlots"  &  "wManager.Wow.ObjectManager.ObjectManager.Me.IsCast"
    If you are looking for more functions you can search in a decompiler(https://wrobot.eu/forums/topic/6103-frost-dk-rotation-help-needed/#comment-27890).
    It's easy to search something for example, searched "cast" as keyword:
     
    Edit: This may differ from expansion to expansion
  11. Like
    Seminko reacted to Droidz in Automatic rebuff - why doesn't it work   
    Use 
    SpellManager.SpellUsableLUA("spell name") http://wowwiki.wikia.com/wiki/API_IsUsableSpell
  12. Like
    Seminko got a reaction from Stubenhocker in FightClass Editor - move after cast?   
    Hey Droidz,
    is there I was I could add this using the FightClass editor?
  13. Like
    Seminko reacted to triyo in just bought wrobot... and i want my money back lol   
    You people don't really get the Boting part do you?

    If this were a "Plug in play" as you mentioned, everyone who uses this bot would get banned rather quickly.

    Most of us botters makes our own profiles (there are guides on the forum how to)
    Only for the reason that it doesn't have such a high chance of getting banned.

    Imagen if everyone ran on the same spots, farming the same mobs, running the same routes..
    Wouldnt that be kinda obvious?

    Also: Palmer mentioned the "or i could have just bought the boost"
    True, but once you got those profiles.. you can bot multiple characters, not just one. And at max level you can use the bot to do more stuff, like daileys or gathering for example.
  14. Like
    Seminko reacted to Droidz in Lure not being applied   
    Yes it is the fix:

  15. Like
    Seminko reacted to Droidz in Song if New Whisper - change sound   
    Hello, create the file newWhisper.wav 
  16. Like
    Seminko got a reaction from Ryze in HURRY BEFORE IT'S OVER! (ELYSIUM)   
    What shady stuff?
  17. Like
    Seminko reacted to Droidz in Grinder not pulling mobs?   
    Hello, you need to add in your profile the mobs that you want attacks https://wrobot.eu/forums/topic/5938-grind-profile-creation-5-mins/
     
×
×
  • Create New...