Jump to content
This site uses cookies! Learn More

This site uses cookies!

By continuing to use this site, you agree to allow us to store cookies on your computer. :)

reapler

Elite user
  • Content Count

    285
  • Joined

  • Last visited

7 Followers

About reapler

  • Rank
    Advanced Member

Recent Profile Visitors

1939 profile views
  1. Hello you can use a hashset for this purpose like this: private HashSet<int> safeList = new HashSet<int> { 12345, 12346, } private void ProtectItem(WoWItem item) { safeList.Add(item.GetItemInfo.ItemId); } private void ProtectItem(int itemId) { safeList.Add(itemId); } private void PulseDestroy() { if (ButlerSettings.CurrentSetting.DestroyGray) { foreach (WoWItem item in bagItems) { if ((item.GetItemInfo.ItemRarity==0 || item.GetItemInfo.ItemRarity==1) && !safeList.Contains(item.GetItemInfo.ItemId)) { while (ObjectManager.Me.InCombat || ObjectManager.Me.IsDead) { Thread.Sleep(shortDelay); } List<int> BagAndSlot=Bag.GetItemContainerBagIdAndSlot(item.Entry); Logging.Write(ButlerPrefix+"destroying \""+item.GetItemInfo.ItemName+"\""); Lua.LuaDoString(string.Format("PickupContainerItem({0}, {1}); DeleteCursorItem()", (object) BagAndSlot[0],(object) BagAndSlot[1]),false); Thread.Sleep(shortDelay); } } } }
  2. On vanilla this field is a List, it should be be HashSet on all expansions.
  3. The following classes can have these overrides implemented: Vector3 TaxiNode A correct implementation would look like this: public override int GetHashCode() { return (Position.X.GetHashCode() * 397 ^ Position.Y.GetHashCode()) * 397 ^ Position.Z.GetHashCode(); } public override bool Equals(object obj) { Node rhs = obj as Node; if (rhs == null) return false; return Position.X == rhs.Position.X && Position.Y == rhs.Position.Y && Position.Z == rhs.Position.Z; } This will enable the usage of the class in Dictionary<> and HashSet<>. These collections provide higher performance and uniqueness of each inserted element. List<> collection's behavior will stay the same.
  4. The bug happens while the character tries to walk while stunned and this message appears "[MovementManager] Think we are stuck". I could also imagine it, it would also happen with other movement impairing effects such as roots. If the event "MovementEvents.OnSeemStuck" is registered this will be also called. If someone else would use this event for an own bug reporting, this would result in false-positive reports.
  5. reapler

    Botish movement improve (tips and tricks)

    Hello, you may decompile or create project with dotpeek for the plugin and tweak it abit. The used methods are correct to turn the character(the same methods which are called for mouse turns). One problem is, wrobot is hooking endscene to execute methods of wow and this is also affected by fps, it must be also mentioned it is a safe method to do it. Injected it could calls the used methods directly with a higher ratio. Also the plugin itself is in my eyes still a prototype. A pid controller, better fps / latency dependent settings can be implemented in order to work 'ok' with endscene.
  6. reapler

    SmoothMove

    @all I would like to thank you for using the plugin and giving feedback. However the future development will be forwarded by someone else(he will also take care of the bugs). He will get in touch and response as soon he is releasing this.
  7. reapler

    SmoothMove

    Thank you for your feedback, i will try to fix the problems, if i got time(other projects) Hello there, sorry i have overlooked your message. If the problem still persist and is not already fixed from Humanmaster plugin you may response.
  8. reapler

    SmoothMove

    Thank you for the kind words. To your problem, this bug may happen on low fps, high configured path-smoothness, used product/plugins/fightclass, or whether the character is riding or not. To pin the bug please describe your steps to reproduce it exactly, provide the used settings from the plugin, may include the path(A-B), using a 'xml-fightclass', disable all other plugins and a log would be also helpful. If i got time, i can hopefully investigate the bug.
  9. reapler

    .xml file and .cs file

    Hello, .cs files are written in C# and allows the developer to take advantage of the full Wrobot API / Bot behavior. This means C# written routines are superior towards routines created by the fightclass editor because every action of the character can controlled by these C# routines. In case if you would like to develop yourself these fightclasses:
  10. reapler

    Can 2 wrobot speak together?

    Hello, you may take a look into memory mapped objects / remote procedure call(RPC). For example: https://github.com/spazzarama/SharedMemory http://csharptest.net/projects/rpclibrary/index.html These can be also installed via nuget packet manager on Visual Studio and can be binded with fody with your distributed library(fightclass / plugin). Note: RPC is rather for client / server communication but you may also exchange data via calls. If this may take abit too much effort, you can also save a file to disk(like fightclass settings) and read from another wrobot instance.
  11. reapler

    SmoothMove

    Hello for this problem i have added "Disable in Combat" to the settings. On true it should resolve the problem, atleast on my side. If you still got problems please describe detailed the steps to cause this bug and a log would be helpful.
  12. reapler

    SmoothMove

    I have uploaded a new version. If a problem encounters, please disable all other plugins, using a "xml" fightclass and try to reproduce it. Log, profile(if possible) and the exact & detailed steps about the occuring bug would be helpful to fix the problem.
  13. Hello, you can subscribe to the movement events to block the movement. It could look like this(not tested): //call at initialize public void SubscribeEvents() { MovementEvents.OnMovementPulse += MovementEventsOnOnMovementPulse; } //call at dispose public void UnSubscribeEvents() { MovementEvents.OnMovementPulse -= MovementEventsOnOnMovementPulse; } private void MovementEventsOnOnMovementPulse(List<Vector3> path, CancelEventArgs cancelEventArgs) { if (DestinationTmp != Vector3.Empty && path.LastOrDefault()?.Action != "custom" ) { cancelEventArgs.Cancel = true; } } public static Vector3 DestinationTmp = Vector3.Empty; public static void MoveTo(Vector3 destination) { List<Vector3> path = PathFinder.FindPath(ObjectManager.Me.Position, destination); var last = path.LastOrDefault(); if (last != null) last.Action = "custom"; DestinationTmp = MovementManager.CurrentPath.LastOrDefault() ?? ObjectManager.Me.Position; MovementManager.Go(path); } public static void GoBack() { List<Vector3> path = PathFinder.FindPath(ObjectManager.Me.Position, DestinationTmp); DestinationTmp = Vector3.Empty; MovementManager.Go(path); }
  14. reapler

    SmoothMove

    This part should be fixed now. But it seems like the profile doesn't perceive that it has reached the destination and stuck. Probably an unlucky condition i guess. There's nothing more what i could do since the profile is not accessible. @camelot10 may hopefully expose the condition on https://wrobot.eu/files/file/1139-paid-pandaria-world-bosses/, dunno what's exactly wrong there.
  15. reapler

    SmoothMove

    @KnightRyder The catchup should be fixed now with this: CurrentMoveTo = SmoothMove.Utilities.Math.NextVector( MovementManager.CurrentPath.FindIndex(i => i.X == vector3.X && i.Y == vector3.Y), MovementManager.CurrentPath, 1.2f ) ?? vector3; The other problem with the stuck, i've added the end point so it should hopefully continue with the next step.
×