Another possible fix is running Buddywing and SWTOR as a "high" priority from your CPU. There's some guides around the forum for how to do that.
I have that on all clients and I use Windows Security Essentials as AV. I am only noticing this massive FPS drop with Shadow Serenity. I have other classes as well and working ok. Guess I can try your Hatred file for FPS drop as I know I have some Sith Assassin account in preffered status laying somewhere
Does Anyone know how i can code, that a spell may only be used if another spell is ready? Or is it possible to chain spells together? Problem what i am facing is the following spell: Code: Spell.Cast("Precision", ret => Me.CurrentTarget.Distance <= 0.4f), This may only be used if Master Strike or Dispatch is ready. Only then may it fire. If its used everything else must be ignored which i can code in all spells only to fire if i have NOT the buff Precision, but only Master strike or dispatch. And preferably create a group of spells to be cast in order. Now it does way to much other spells in between which is obviously not good.
I think your on the right track to set "and not has buff x" at the end of each spell that it wont benefit from. Spells are cast in the order they are coded same as the way all code is read by software. When I did a dependency in the routine I fixed up I put the cast with the debuff I wanted directly above the code for the cast that needed that debuff so they were grouped and would fire one after another.
Try: Code: AbilityManager.CanCast("Master Strike", Me.CurrentTarget) || AbilityManager.CanCast("Dispatch", Me.CurrentTarget) That will return true if either one of those abilities can currently be used. Hope this helps, - Jon
Thanks for your code, but i get error CS0103 Name AbilityManager doesnt exist in the current context. Did i forgot a reference?
Yes! That's my fault. Resharper makes me LAZY! using Buddy.CommonBot; There is the proper reference. - Jon
If you're going to get more serious about coding plugins/combat routines, you should start developing with Visual Studio Community. I wrote a short tutorial on how to add Buddywing.exe as a reference in VS earlier in this thread, so VS will let you know if your current code will compile in Buddywing or not (and automatically import references you need and all kinds of awesome stuff)
Again, big thanks!!! Will test This later. Problem is, I put most spells together, but the bot is still doing to much in between. With this I can hopefully control it more.
Yeah I know. It's more I'm used to notepad++ for underway when im not home. VS is installed on a VM, cause i had troubles with BW, every time i installed it. Anyways I saw the guide and marked it as very interesting for learning and using soon. Thanks again!
Does it require "Me.CurrentTarget"? There are some specs with burst windows that get energy starved quickly with the current rotation. I wonder if I can do something like... Code: new Decorator(ret => Me.ResourcePercent() >= 80 || AbilityManager.CanCast("Vent Heat"), new LockSelector( Spell.Cast("Energy Burst", ret => Me.BuffCount("Energy Lode") == 4), Spell.Cast("Rail Shot", ret => Me.CurrentTarget.HasDebuff("Bleeding (Retractable Blade)") && Me.HasBuff("Prototype Particle Accelerator")), Spell.DoT("Retractable Blade", "Bleeding (Retractable Blade)"), Spell.Cast("Thermal Detonator"), Spell.Cast("Rocket Punch"), Spell.Cast("Magnetic Blast", ret => Me.Level >= 26), Spell.Cast("Flame Burst", ret => Me.Level < 26) )),
It does require a TorCharacter unit to be listed there, you could however put "Me" there So the top line would look like: Code: new Decorator(ret => Me.ResourcePercent() >= 80 || AbilityManager.CanCast("Vent Heat", Me), instead of Me.CurrentTarget. I think all its doing is making sure that you have something to cast the spell on before returning true, if its a self cast or a non target spell, using Me there will have it return true if the spell is usable regardless of your targets state. - Jon
So in reply to Jon for the code he gave, my experience with it: Code: AbilityManager.CanCast("Master Strike", Me.CurrentTarget) The Me.CurrentTarget is obviously our target, if we use a buff, i changed this to Me BUT the using Buddy.Commonbot part interferes with another part of the code (at least this was the case in sentinel combat routine). So i changed it to this: Code: Buddy.Commonbot.AbilityManager.CanCast("Master Strike", Me.CurrentTarget) This code fires perfectly, but in my case i still couldnt get the bot to fire the perfect sequence. In most cases it would fire the perfect sequence, but the difference between human interaction and the bot is still way off. Example, for sentinel combat we want to fire Zen-Precision-Masterstrike-Clashing blast and preferably all in the 3 sec timeframe precision gives. But as the bot sees the buff different from the spells, the are fired at wrong times. so what i get is Precision-Zen-Master strike - other ability, so my window is shorter and doesnt fire. Also spells that should fire, arent fired for some reason and the bot chooses a less effective spell that can Always fire. Weird. So what i did is reverse to default, and the button mashing code created higher dps then the code that should be perfect ... sigh. What i actually miss is, to group spells together, so they are sequenced. but i think thats not doable.
Why not create a new Decorator within the Single Target rotation? You could put it at the top, call it "Precision" and have the conditional be that the Precision buff is active. Then it would work through that sequence in its entirety, before reverting to the normal rotation when we no longer have the Precision buff. With Precision, you can use the CanCast stuff to make sure it only fires when Master Strike is off-CD. As an example of what I'm talking about, look at the old Pure files and see how we handled Low Energy/High Heat.
Basically, the combat bot is simply stopping after just a few actions. There is no error code given, it simply stops. It will work again if a new target is selected, but other that is seems as if the bot essentially goes through one rotation on each target. This only happens on one specific character, level 17 sith carnage marauder. I have tried deleting the compiled assemblies folder, as well as that character's folder in the settings folder. View attachment 2015-07-18 10.23.txt UPDATE: Deleting the Buddy monitor folder stopped the issue for a short time, but now its back. [HIDE][08:55:39.615 N] Starting Buddy Wing v1.0.1215.699 [08:55:42.340 N] Logging in... [08:55:43.212 N] T: 5247414083850946862 H: 3994077850 [08:55:43.212 N] Login Success! [08:55:44.256 D] First CPU: Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz [08:55:44.257 D] OS Version: Windows NT 6.2.9200.0 [08:55:44.257 D] App Path: C:\Users\Cassidy\Desktop\Buddy Wing\Buddywing.exe [08:55:46.392 D] Current build number: 1009411 [08:55:46.393 D] Loading client.gom.. [08:55:46.505 D] Loaded client.gom! [08:55:47.307 D] Took 796ms to get the nodes list. [08:55:47.307 D] There are 109546 nodes. [08:55:47.307 D] DomList has 110417/196613 [08:55:47.618 D] _BaseClient handled. [08:55:47.618 D] utlStaticDefinitions handled. [08:55:47.620 D] strOracle handled. [08:55:47.621 D] ablOracle handled. [08:55:47.621 D] gmOracle handled. [08:55:47.621 D] Debug Draw Oracle added. [08:55:47.621 D] dbgDrawOracle handled. [08:55:47.621 D] mapOracle handled. [08:55:47.622 D] chrOracle handled. [08:55:47.622 D] qstOracle handled. [08:55:47.642 D] spnOracle handled. [08:55:47.643 D] cnvOracle handled. [08:55:47.643 D] ctlOracle handled. [08:55:47.644 D] _InputHandler handled. [08:55:47.654 D] scSpaceCombatOracle handled. [08:55:47.699 D] ablTrainerOracle handled. [08:55:47.702 D] prfOracle handled. [08:55:48.885 D] guiApiGfx handled. [08:55:48.927 D] Adding input layer ctlInputCamera - 3C1180AF [08:55:48.927 D] sysInputLayer handled. [08:55:48.927 D] Adding input layer ctlInputMouse - 3C1180BC [08:55:48.927 D] sysInputLayer handled. [08:55:48.927 D] Adding input layer ctlInputMovement - 3C1180C0 [08:55:48.927 D] sysInputLayer handled. [08:55:48.928 D] Adding input layer ctlInputVehicle - 3C1180D5 [08:55:48.928 D] sysInputLayer handled. [08:55:48.928 D] Adding input layer ctlInputTargetting - 3C1180E4 [08:55:48.928 D] sysInputLayer handled. [08:55:48.930 D] Adding input layer ctlInputGame - 3C118107 [08:55:48.930 D] sysInputLayer handled. [08:55:48.932 D] Adding input layer ctlInputUI - 3C118167 [08:55:48.932 D] sysInputLayer handled. [08:55:48.934 D] Adding input layer ctlInputConvo - 3C11819A [08:55:48.934 D] sysInputLayer handled. [08:55:48.934 D] Adding input layer ctlInputCharacterSelection - 3C1181AC [08:55:48.934 D] sysInputLayer handled. [08:55:48.935 D] Adding input layer ctlInputCreditsScreen - 3C1181B2 [08:55:48.935 D] sysInputLayer handled. [08:55:48.935 D] Adding input layer ctlInputUtility - 3C1181B4 [08:55:48.935 D] sysInputLayer handled. [08:55:48.935 D] Adding input layer ctlInputLoadingScreen - 3C1181BF [08:55:48.935 D] sysInputLayer handled. [08:55:48.935 D] Adding input layer ctlInputMacroBinoculars - 3C1181C1 [08:55:48.935 D] sysInputLayer handled. [08:55:48.935 D] Adding input layer ctlInputSCFFVehicle - 3C1181CD [08:55:48.936 D] sysInputLayer handled. [08:55:49.473 D] Took 2166ms to process the node list [08:55:49.987 N] User is a Warrior [08:55:51.024 N] Advanced Class: Marauder / Discipline: Carnage [08:55:51.024 V] Routine Path: Routines [08:55:51.732 D] Reloading AssemblyLoader<Buddy.CommonBot.ICombat> - Initializing [08:55:52.447 N] Medpac Created! [08:55:52.449 D] Reloading AssemblyLoader<Buddy.CommonBot.ICombat> - RoutineManager.Reload !THROTTLED! [08:55:52.449 D] Routines were reloaded. New routine list: [08:55:52.449 D] DefaultCombat v0.0.0.0 [08:55:52.456 N] [DefaultCombat] Level: 22 [08:55:52.456 N] [DefaultCombat] Class: Warrior [08:55:52.456 N] [DefaultCombat] Advanced Class: Marauder [08:55:52.470 N] [DefaultCombat] Discipline: Carnage [08:55:52.486 N] [DefaultCombat] [Hot Key][F7] Toggle AOE [08:55:52.486 N] [DefaultCombat] [Hot Key][F8] Load UI [08:55:52.486 N] [DefaultCombat] [Hot Key][F12] Set Tank [08:55:52.486 N] [DefaultCombat] Rotation Selected : Marauder Carnage [08:55:52.522 N] Chose DefaultCombat as your combat routine. [08:55:52.522 N] [DefaultCombat] Level: 22 [08:55:52.522 N] [DefaultCombat] Class: Warrior [08:55:52.522 N] [DefaultCombat] Advanced Class: Marauder [08:55:52.536 N] [DefaultCombat] Discipline: Carnage [08:55:52.550 N] [DefaultCombat] [Hot Key][F7] Toggle AOE [08:55:52.550 N] [DefaultCombat] [Hot Key][F8] Load UI [08:55:52.550 N] [DefaultCombat] [Hot Key][F12] Set Tank [08:55:52.550 N] [DefaultCombat] Rotation Selected : Marauder Carnage [08:55:52.568 D] Reloading AssemblyLoader<Buddy.Common.Plugins.IPlugin> - Initializing [08:55:52.943 D] Initializing Use Lockboxes [08:55:52.945 D] There are 1 plugins. [08:55:53.172 N] Current bot set to Combat Bot [08:55:53.176 N] Loaded profile [08:55:53.188 N] Sell quality set to Cheap. [08:55:53.193 N] Buddy Wing: The Old Robot is ready! [08:56:11.481 D] Start/Stop Button Clicked! [08:56:11.482 D] Forcing profile reload. -- Temporary fix for behavior cache issues during start/stop. [08:56:11.677 N] Current bot set to Combat Bot [08:56:11.678 N] Loaded profile [08:56:11.678 D] Starting bot Combat Bot [08:56:11.681 D] Added new hook [Pull] ee13d19e-697e-4692-a5fa-5b6d2e3e77d1 [08:56:11.681 D] Added new hook [RoutineCombat] 85d29555-f01e-4a82-a239-bf6c3bc5f82d [08:56:11.682 D] Added new hook [Combat_OOC] ace25bcf-6dd0-4d42-a901-c289aae2b2a3 [08:56:11.682 D] Added new hook [Combat_Pull] ee13d19e-697e-4692-a5fa-5b6d2e3e77d1 [08:56:11.682 D] Added new hook [Combat_Combat] 85d29555-f01e-4a82-a239-bf6c3bc5f82d [08:56:11.683 D] Replaced hook [TreeStart] 854d7ee5-8040-43d1-9883-5a4e679907d4 [08:56:11.684 D] Spooling up bot thread. [08:56:11.684 D] Bot thread started. [08:56:11.834 N] [DefaultCombat] >> Casting << Cloak of Pain [08:56:12.055 N] [DefaultCombat] >> Casting << Saber Ward [08:56:16.296 N] [DefaultCombat] >> Casting << Assault [08:56:35.729 N] [DefaultCombat] >> Casting << Battering Assault [08:56:36.589 N] [DefaultCombat] >> Casting << Unleash [08:56:38.480 N] [DefaultCombat] >> Casting << Berserk [08:56:41.480 N] [DefaultCombat] >> Casting << Assault [/HIDE]
Can you list what abilities you have at 17? I'm guessing there's some issue with a proc dependency that's causing it to lock up.
I got the attack one target but wouldn't attack another until you tabbed to a new target, couldn't figure out the root cause either. Was with my op using combat bot. I did try removing the disable movement if using combat bot which did allow it to now run to a target I selected but in a group it only seemed to target one and kill one. Edit: perhaps I should mention targeting and attacking work flawless when using a normal profile however when using the combat bot profile from kicks this happens.
Working as intended. You do the moving and targeting and bot only does rotations on targeted mobs. Perfect for those losers using a bot for PVP because they will never ever possess the skill set to handle pvp themselves (big teasing grin and ducking incoming missiles). But for PVE purposes it does not work as well, since we might actually want the bot to auto target and loot esp. when we multibox and we want the bot to follow the leader as in an Isboxer environment. Jon or Cryogenesis or one of the others might give us a better solution, but for now a really crude way for when we want something similar to the old 'Unpure" combat routine that would actually target and move and loot and make tea etc., while we handle movement, would perhaps be to make the bot believe it is questing. That is because of the way the bot now functions with the default routine. IOW write a fake questing profile similar to this: <Profile> <Name>Combat Bot</Name> <ForceAlignment Type="Dark" AutoSkip="True" /> <Questing> <If Condition="((not HasQuest(0xE000D81B7BFA4EB9)) and (not IsQuestComplete(0xE000D81B7BFA4EB9)))"> </If> </Questing> </Profile>]
I'll give that a whirl later today but yeah that should work in theory. Edit: Yeah that works great thanks.