Talamin
-
Posts
329 -
Joined
-
Last visited
Content Type
Forums
Articles
Bug Tracker
Downloads
Store
Posts posted by Talamin
-
-
Hi, just download the one you like and put it in the FightClass Folder inside your wrobot installation.
Then you can start your bot. After logging into it, press on the third button on the left and choose through the Dropdown on the right side your Fightclass.
-
You are using waypoints which are recorded for Groundmounts and you try to enter a cave or entrance or building, the bot beging to start spazzing out when you try to use a flying mount. Just use a ground mount and you are good to go. Old Problem which exists a loooooong time.
-
Can you specify what you mean with: "won´t do anything"? I run personally most of the time 5 bots on the same machine without any problems. Maybe you can post a log of the Bots who deny the work?
-
The easiest way is:
ItemsManager.GetItemCountByIdLUA(12345) >0
Instead of 12345 you have to enter a proper Item ID
-
13 minutes ago, jiraiyasm said:
hi
anyone can help me have the correct setting for the fight class im making please. my FC doesn't cast Corruption because it already sees another lock's corruption as it's own. I highlighted the possible line that needs to be changed to it will buff Corruption to it's target. Thank you.
if (Corruption.IsSpellUsable && Corruption.KnownSpell && Corruption.IsDistanceGood && SpellManager.GlobalCooldownTimeLeft() == 0 && !ObjectManager.Target.Rooted
&& !ObjectManager.Target.HaveBuff("Corruption") && ObjectManager.Me.HaveBuff("Life Tap"))
{
Corruption.Launch();
return;
}Add something like this, but you should think about moving all the casting checks into one Function and do the Checks only once.
if (Corruption.IsSpellUsable && Corruption.KnownSpell && Corruption.IsDistanceGood && SpellManager.GlobalCooldownTimeLeft() == 0 && !ObjectManager.Target.Rooted && ObjectManager.Me.HaveBuff("Life Tap")) { if(!DebuffCheckOwner("Corruption") { Corruption.Launch(); return; } } public static bool DebuffCheckOwner(Spell spell, bool owner = true) { List<Aura> DebuffList = ObjectManager.Target.GetAllBuff(); Aura aura = null; if (owner) { aura = DebuffList.FirstOrDefault(s => s.GetSpell.Name == spell.Name && s.Owner == ObjectManager.Me.Guid); if (aura != null) { return true; } } return false; }
-
You need to have a wrobot license to pay the premium seller status, like Matenia mentioned before.
-
-
hmm, your Spells have a Base Damage per Tick.
I would take the Basedamage and compare it to the actual health. Let´s say you have a Target with 1000 Health, but the Basedamage of your ShadowWord: Pain is 300 per Tick (total of 5 Ticks) it´s not worth to cast it. On the other side, when you "wand" the target down like every SPriest does while leveling, a DoT comes in Hand. So in General, there are different Ways to Achieve what you want:
1. Read the dmg Output out of Combatlog of the Spell you desire and compare this against the enemy health
2. Calculate the Base Damage of the Spell you want to see and compare this against the enemy health
3. Limit your Dot´s, compared to the Health again, flat to the kind of Mob you are Facing (Normal Grind, Trash in Dungeon, Bossfight in Dungeon)4. Maybe some more...
Actually i try to understand the Point of the Addon above. In the AIO we did Point 3. We checked for the kind of Target we have actually and this is the Trigger for the Rotation. Like in ShadowWord:Pain (Bossfight: Ignore Health, Trashmobs in Dungeon: 5%, Grindmobs outside Dungeon 30% <-- Because we Wand them down).
Hope i could give you a rough idea what i am talking about. If you need something more specific, let me know.
-
-
-
It could be that you will face some new Problems here and there. The Movement is called on several points inside Quester/Grinder and other Products. The only reliable way is to use your own product where you have full control over your movement (for example if you want to use keystroke movement instead of ctm).
-
Well, then show him how you would solve this, I already gave my opinion about this!
-
3 hours ago, Remkoz01 said:
i understand that but the thing is i want to take control of the bot combat movement.Instead of letting the bot move to target i want my own move to target logic and no i dont want XML file i prefer raw C# code which i can have full control of my stuff.Btw i dont want to use the MovementPulse event which i think is a bad idea because it might cause some issue.I guess the only way to do that is probably replace the farming state with ur own state.
exactly, if you want control over the incombat movement without depending on the standard movement you have to build your own combat state where you can handle the movement to the target, after engaging combat.
-
On 5/26/2021 at 7:28 PM, ynphea said:
Well finaly i coded this one, seems simpler and works well
Still have one problem, how to dynamicaly change the target in fight to the _mainTank now ? For exemple the tank changes target mid fight.
@Ordush you said
So is this even possible after all ? Or how do I stop the current combat
As Ordush said, you only will be able to Assist the "Tank" if he is a Warrior and only one Warrior. If it is your own preset group you should be fine.
If you want to handle Target switching in Combat, it would be the best to add it to the OnFightLoop like Ordush said too. Take a look in the Fightclass Section, there you find some examples how to handle Combat MidFight. Alternatively you can check in your FC Pulse if the Target of your Tank is the same as yours, and if not then change it.
-
If you are talking about the HMP from Matenia, it would be the best to contact him directly or join his discord for support for his Plugin.
-
I only can recommend to use less LUA, as Matenia said, LUA can slow down your Rotation a lot if you don´t use it correct or unneeded.
Let the Debug Output stay in wrobot like Logging.Write().
I can recommend to take a look how Matenia handled Stuff in his free Framework for Developers which he posted on Wrobot.
-
So, assuming you use wrotation you can do something like this to get the Tankname:
public static string LUAGetTankName() { return Lua.LuaDoString<string>(@" for i = 1, 4 do local isTank,_,_ = UnitGroupRolesAssigned('party' .. i) if isTank then name, realm = UnitName('party' .. i) return name; end end"); }
With this you get the Tank name.
Then you can use ObjectManager.GetObjectWoWPlayer().FirstOrDefault(p => p.Name == Tankname) and store it in a variable.
With this you have the Basic to Assist the Tank, Ignore the TankTarget and much more. Same goes for every Member in the Group. But be aware that the LUA only works after you joined the Dungeon through Dungeonfinder. If you don´t use Dungeonfinder you have to set the Tank by yourself.
If you need more Help, or have more Questions feel free todo so.
Sometimes it would help more to post the part of the Code where you struggle, this helps more then describing the things ?
-
Do you use a specific FC or do you build your own?
1. You have to differentiate between auto Choosing Targets (handled by the Product) or you choose manual a Target. Which one is the case?
2. You can store a guid into a Variable or set an FocusTarget or Filter through Enemies and so on. You should be a little bit more specific.
3. This is something which should be handled by the Product (or the FC if you make your own).
4. Again, this is something the FC you use handles.
Overall everything you mentioned is doing (with less effort in C#).
-
11 hours ago, Zer0 said:
Make sure you use the English version of the game.
As ZerO said, use the English client!
-
If you use the Updater through Teamviewer or something like this, the Screen will go black. If you then just hop on your PC you will see that the Updater started normally. Have the same problem since a long time and the only fix for this is to hop on the PC and do it one Time without the Updater. Or you dl it on your normal machine and push it over to the Remote PC
-
My Dungeongroups were one time visited by a GM. Luckily i was on my Desk and could respond. People will report you when you are level 20+ and are guildless, or if they see a level 68 staying in OG with level 10 gear and so on... several ways lead to a report. Lowpop Zones will be the best bet, Dungeons are the savest atm.
This are my Observations.
-
i actually have there round about 15 accounts with tons of Toons. So from my experience, no!
They have a active GM Staff which checks manually after user reports and they are fast with banning, but it´s all manual!
-
-
? don´t know exactly what you mean. I only define that this specific quest jas one objective which has to be true after all the Peons are awaken. When you have a quest with let´s say kill 7 x and kill 7 y, you have 2 objectives to fullfil and therefore you go with Has objective 1 True, and Has objective 2 True.
But again: Check if you have the right Quest ID!
Video tutorial - Create a plugin from scratch
in Tutorials - WRobot
Posted
Deserved 5/5 Stars for this! Nice and clean Tutorial, thx for this! 🙂