Jump to content

inselmann

WRobot user
  • Posts

    78
  • Joined

  • Last visited

Everything posted by inselmann

  1. Precise movement in small areas: Recently i had problems with a small cave and the waypoints in a quester profile killandloot uses nearest waypoint, so the problem was that if i kill mobs too far away from the player the bot used the nearest waypoint instead of the latest waypoint. With bad luck you go inside a cave, kill a mob and go outside again :-) That might be a problem if you want to run through all the cave, kill all mobs and leave after and repeat. I want maximum mobs per hour to kill, so its important to run the entire cave without going back too far for respawn times. My workaround for this problem: You can make precise movement with a failsafe return point So lets make 10 killandloot routines with this special cave, not one! <QuestsSorted Action="Pulse" NameClass="caveentry1" /> <QuestsSorted Action="Pulse" NameClass="cavepart2" /> <QuestsSorted Action="Pulse" NameClass="cavepart3" /> <QuestsSorted Action="Pulse" NameClass="cavepart4" /> <QuestsSorted Action="Pulse" NameClass="cavepart5" /> <QuestsSorted Action="Pulse" NameClass="cavepart6" /> <QuestsSorted Action="Pulse" NameClass="cavepart7" /> <QuestsSorted Action="Pulse" NameClass="cavepart8" /> <QuestsSorted Action="Pulse" NameClass="cavepart9" /> <QuestsSorted Action="Pulse" NameClass="caveexit10" /> Now record only parts of the routines, go 100-200 meters, then get the coordinate and then do the next part from the end location of part1. (if the iscomplete condition is not triggered due a mob kill that was too far away it only runs back a few meters and next time it triggers and runs the next cavepart) Use <IsCompleteCondition>return (ObjectManager.Me.Position.DistanceTo2D(new Vector3(x, y, z)) &lt; 15);</IsCompleteCondition> for every part. With this workaround you can make precise movement in small areas if it is necessary.
  2. Use hearthstone and check if not attacked by mobs, if attacked wait 5 seconds and check again. (if you want to use hearthstone after grind area) If no mobs go home <QuestsSorted Action="None" NameClass="TELEPORT HOME" /> <QuestsSorted Action="None" NameClass="detect if player is attacked" /> <QuestsSorted Action="If" NameClass="ObjectManager.GetNumberAttackPlayer() &gt; 0" /> <QuestsSorted Action="Wait" NameClass="5000" /> <QuestsSorted Action="GoToStep" NameClass="3" /> <QuestsSorted Action="EndIf" NameClass="" /> <QuestsSorted Action="Wait" NameClass="2000" /> <QuestsSorted Action="RunCode" NameClass="wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported = false;" /> <QuestsSorted Action="RunLuaCode" NameClass="local itemName, _, _, _, _, _, _, _ = GetItemInfo(6948);&#xD;&#xA; RunMacroText(&quot;/use &quot; .. itemName);" /> <QuestsSorted Action="Wait" NameClass="20000" /> <QuestsSorted Action="None" NameClass="TELEPORT HOME ENDE" /> - edit: <QuestsSorted Action="GoToStep" NameClass="3" /> (<- change this number according to your step number in your profile) A while condition should be even a better solution without gotostep...
  3. I did not find lots of information for if endif conditions or while conditions so i write some stuff down here to help other people: IF/ENDIF: - LEVEL CHECKING / if char level = or above run task <QuestsSorted Action="If" NameClass="ObjectManager.Me.Level >= 70" /> <QuestsSorted Action="EndIf" NameClass="" /> - CONTINENT CHECKING / if on continent northrend run task or gotostep in your quest profile <QuestsSorted Action="If" NameClass="wManager.Wow.Helpers.Usefuls.ContinentId == (int)wManager.Wow.Enums.ContinentId.Northrend" /> <QuestsSorted Action="GoToStep" NameClass="451" /> <QuestsSorted Action="EndIf" NameClass="" /> - ZONE CHECKING / if in zone Tanaris run task <QuestsSorted Action="If" NameClass="wManager.Wow.Helpers.Usefuls.MapZoneName == &quot;Tanaris&quot;" /> <QuestsSorted Action="GoToStep" NameClass="175" /> <QuestsSorted Action="EndIf" NameClass="" /> Use: http://wow.gamepedia.com/MapID - Two IF/ENDIF conditions / if level 80 or above and in zone Mount Hyjal do task or gotostep <QuestsSorted Action="If" NameClass="ObjectManager.Me.Level &gt;= 80" /> <QuestsSorted Action="If" NameClass="wManager.Wow.Helpers.Usefuls.MapZoneName == &quot;Mount Hyjal&quot;" /> <QuestsSorted Action="GoToStep" NameClass="551" /> <QuestsSorted Action="EndIf" NameClass="" /> <QuestsSorted Action="EndIf" NameClass="" /> You can also combine in one IF/ENDIF, but i like to seperate everything. (Thx Droidz) wManager.Wow.Helpers.Usefuls.ContinentId == (int)wManager.Wow.Enums.ContinentId.Northrend && wManager.Wow.ObjectManager.ObjectManager.Me.Level >= 71 && wManager.Wow.ObjectManager.ObjectManager.Me.Level <= 79 While Conditions: repeats a task with a special condition, can be a portal use/ taxi node or even zeppelin workaround <QuestsSorted Action="While" NameClass="ObjectManager.Me.Position.DistanceTo2D(new Vector3(1791.696f, -4273.472f, 7.674594f)) &lt; 2000" /> <QuestsSorted Action="RunCode" NameClass="var position = new Vector3(1791.696f, -4273.472f, 7.674594f);&#xD;&#xA;int objEntryId = 195142;&#xD;&#xA;&#xD;&#xA;if (wManager.Wow.Bot.Tasks.GoToTask.ToPositionAndIntecractWithGameObject(position, objEntryId))&#xD;&#xA;{&#xD;&#xA; System.Threading.Thread.Sleep(1500);&#xD;&#xA;}" /> <QuestsSorted Action="EndWhile" NameClass="" /> other useful stuff: #get button names in wow /run print(GetMouseFocus():GetName()) #equip transmog gear for your collection and then equip your normal gear again with addon autogear /run for b=0,NUM_BAG_SLOTS do for s=1,GetContainerNumSlots(b) do local l=GetContainerItemLink(b,s) if l then if format('%9$s',GetItemInfo(l)) ~= '' then EquipItemByName(l) end end end end /ag scan <QuestsSorted Action="RunLuaCode" NameClass="RunMacroText (&quot;/run for b=0,NUM_BAG_SLOTS do for s=1,GetContainerNumSlots(b) do local l=GetContainerItemLink(b,s) if l then if format('%9$s',GetItemInfo(l)) ~= '' then EquipItemByName(l) end end end end&quot;);" /> <QuestsSorted Action="Wait" NameClass="2000" /> <QuestsSorted Action="RunLuaCode" NameClass="RunMacroText (&quot;/ag scan&quot;);" /> <QuestsSorted Action="Wait" NameClass="2000" /> #in wow /script print(GetAreaMapInfo(GetCurrentMapAreaID())) /dump (GetMapInfo()) /dump (GetMapContinentsInfo()) #aborts all quests, i hate questlogs, lets dump them all <QuestsSorted Action="RunLuaCode" NameClass="RunMacroText (&quot;/run for i=1,GetNumQuestLogEntries() do SelectQuestLogEntry(i); SetAbandonQuest(); AbandonQuest(); end&quot;);" />
  4. Hi guys, my english is not so good. So excuse me. German is my native language. I want to share my method to use the zep to northrend 100% afkable. If you are lucky you are in a few minutes in northrend if unlucky it takes 20minutes :-) But it is working when you are away from your computer. First: We need fly skills! Lets automate buying fly skills for your character in burning crusade. (We start in bc after getting lvl 70 nagrand grind, we go back to thrallmar and go to flight trainer) We can automate everything: <QuestsSorted Action="None" NameClass="Fliegen lernen" /> <QuestsSorted Action="RunCode" NameClass="var position = new Vector3(45.09895f, 2741.531f, 85.17036f);&#xD;&#xA;int npcEntryId = 35093;&#xD;&#xA;&#xD;&#xA;if (!ObjectManager.Me.IsOnTaxi)&#xD;&#xA;{&#xD;&#xA; if (wManager.Wow.Bot.Tasks.GoToTask.ToPositionAndIntecractWithNpc(position, npcEntryId))&#xD;&#xA; {&#xD;&#xA; Usefuls.SelectGossipOption(GossipOptionsType.taxi);&#xD;&#xA; }&#xD;&#xA;}" /> <QuestsSorted Action="Wait" NameClass="1000" /> <QuestsSorted Action="RunCode" NameClass="var position = new Vector3(45.09895f, 2741.531f, 85.17036f);&#xD;&#xA;int npcEntryId = 35093;&#xD;&#xA;&#xD;&#xA;if (!ObjectManager.Me.IsOnTaxi)&#xD;&#xA;{&#xD;&#xA; if (wManager.Wow.Bot.Tasks.GoToTask.ToPositionAndIntecractWithNpc(position, npcEntryId))&#xD;&#xA; {&#xD;&#xA; Usefuls.SelectGossipOption(GossipOptionsType.taxi);&#xD;&#xA; }&#xD;&#xA;}" /> <QuestsSorted Action="Wait" NameClass="2000" /> <QuestsSorted Action="RunLuaCode" NameClass="RunMacroText (&quot;/click ClassTrainerScrollFrameButton3&quot;);" /> <QuestsSorted Action="Wait" NameClass="2000" /> <QuestsSorted Action="RunLuaCode" NameClass="RunMacroText (&quot;/click ClassTrainerTrainButton&quot;);" /> <QuestsSorted Action="Wait" NameClass="2000" /> <QuestsSorted Action="RunCode" NameClass="var position = new Vector3(45.09895f, 2741.531f, 85.17036f);&#xD;&#xA;int npcEntryId = 35093;&#xD;&#xA;&#xD;&#xA;if (!ObjectManager.Me.IsOnTaxi)&#xD;&#xA;{&#xD;&#xA; if (wManager.Wow.Bot.Tasks.GoToTask.ToPositionAndIntecractWithNpc(position, npcEntryId))&#xD;&#xA; {&#xD;&#xA; Usefuls.SelectGossipOption(GossipOptionsType.taxi);&#xD;&#xA; }&#xD;&#xA;}" /> <QuestsSorted Action="Wait" NameClass="1000" /> <QuestsSorted Action="RunCode" NameClass="var position = new Vector3(45.09895f, 2741.531f, 85.17036f);&#xD;&#xA;int npcEntryId = 35093;&#xD;&#xA;&#xD;&#xA;if (!ObjectManager.Me.IsOnTaxi)&#xD;&#xA;{&#xD;&#xA; if (wManager.Wow.Bot.Tasks.GoToTask.ToPositionAndIntecractWithNpc(position, npcEntryId))&#xD;&#xA; {&#xD;&#xA; Usefuls.SelectGossipOption(GossipOptionsType.taxi);&#xD;&#xA; }&#xD;&#xA;}" /> <QuestsSorted Action="Wait" NameClass="2000" /> <QuestsSorted Action="RunLuaCode" NameClass="RunMacroText (&quot;/click ClassTrainerScrollFrameButton2&quot;);" /> <QuestsSorted Action="Wait" NameClass="2000" /> <QuestsSorted Action="RunLuaCode" NameClass="RunMacroText (&quot;/click ClassTrainerTrainButton&quot;);" /> <QuestsSorted Action="Wait" NameClass="2000" /> <QuestsSorted Action="RunCode" NameClass="var position = new Vector3(45.09895f, 2741.531f, 85.17036f);&#xD;&#xA;int npcEntryId = 35093;&#xD;&#xA;&#xD;&#xA;if (!ObjectManager.Me.IsOnTaxi)&#xD;&#xA;{&#xD;&#xA; if (wManager.Wow.Bot.Tasks.GoToTask.ToPositionAndIntecractWithNpc(position, npcEntryId))&#xD;&#xA; {&#xD;&#xA; Usefuls.SelectGossipOption(GossipOptionsType.taxi);&#xD;&#xA; }&#xD;&#xA;}" /> <QuestsSorted Action="Wait" NameClass="1000" /> <QuestsSorted Action="RunCode" NameClass="var position = new Vector3(45.09895f, 2741.531f, 85.17036f);&#xD;&#xA;int npcEntryId = 35093;&#xD;&#xA;&#xD;&#xA;if (!ObjectManager.Me.IsOnTaxi)&#xD;&#xA;{&#xD;&#xA; if (wManager.Wow.Bot.Tasks.GoToTask.ToPositionAndIntecractWithNpc(position, npcEntryId))&#xD;&#xA; {&#xD;&#xA; Usefuls.SelectGossipOption(GossipOptionsType.taxi);&#xD;&#xA; }&#xD;&#xA;}" /> <QuestsSorted Action="Wait" NameClass="2000" /> <QuestsSorted Action="RunLuaCode" NameClass="RunMacroText (&quot;/click ClassTrainerScrollFrameButton1&quot;);" /> <QuestsSorted Action="Wait" NameClass="2000" /> <QuestsSorted Action="RunLuaCode" NameClass="RunMacroText (&quot;/click ClassTrainerTrainButton&quot;);" /> <QuestsSorted Action="Wait" NameClass="2000" /> then i use my heartstone to orgrimmar, back in orgrimmar i fly in the middle of the zep area The zep has NO mesh, you CAN NOT walk there and the npcs on the zep are not useable at all. First of all right now the zep from orgrimmar to borean tundra is bugged, it flies to the mountain and stopps there. At least for me, so i have to use the zep to undercity and from there to northrend. (2x zep :-) ) I dont share my exact code because it looks not good if everybody uses it. You have to write your own code for the flying part. So we make a workaround: We can not go directly on the zep, we fly at the back of the zep (it is important so we can get out of the zep later) and there we dismount. Now we are on the zep :-) The hard part was to determine how to repeat and succesfully get on it. So we use a while condition, it checks for local coordinates and repeats if we fail: <QuestsSorted Action="None" NameClass="project zep" /> <QuestsSorted Action="While" NameClass="ObjectManager.Me.Position.DistanceTo2D(new Vector3(1778.676, -4334.307, 101.6494)) &lt; 1500" /> <QuestsSorted Action="Pulse" NameClass="flyingpart" /> <QuestsSorted Action="Reset" NameClass="flyingpart" /> <QuestsSorted Action="None" NameClass="we wait at position" /> <QuestsSorted Action="Wait" NameClass="9000" /> <QuestsSorted Action="None" NameClass="we dismount - i use druid you must change it" /> <QuestsSorted Action="RunLuaCode" NameClass="RunMacroText (&quot;/use Travel Form&quot;);" /> <QuestsSorted Action="RunCode" NameClass="wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported = false" /> <QuestsSorted Action="Wait" NameClass="140000" /> <QuestsSorted Action="RunCode" NameClass="wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported = true" /> <QuestsSorted Action="EndWhile" NameClass="" /> 140000 is wait time if all went fine and we are on the zep, zone will be change and while condition is over, if not triggered we start again at flyingpart I use 2 zep stations right now, the zep in undercity that flies to northend you must dismount on the ropes at the end of the ship. It is important otherwise you may have problems to leave the zep later. If you reach northrend just make a if condition to leave the zep <QuestsSorted Action="If" NameClass="ObjectManager.Me.Position.DistanceTo2D(new Vector3(x, y, z)) &lt; 50" /> my code without flying stuff, this is from orgrimmar to tirisfal and tirisfal to northrend, <QuestsSorted Action="None" NameClass="Lvl 70 erreicht, fliegen gelernt in bc, zurueck in OG" /> <QuestsSorted Action="None" NameClass="spass mit dem zeppelin" /> <QuestsSorted Action="RunCode" NameClass="wManager.wManagerSetting.CurrentSetting.UseMount = false;&#xD;&#xA;wManager.wManagerSetting.CurrentSetting.UseFlyingMount = false;" /> <QuestsSorted Action="Pulse" NameClass="guteralterfreierhimmel" /> <QuestsSorted Action="RunCode" NameClass="wManager.wManagerSetting.CurrentSetting.UseFlyingMount = true;&#xD;&#xA;wManager.wManagerSetting.CurrentSetting.UseMount = true;" /> <QuestsSorted Action="RunCode" NameClass="wManager.wManagerSetting.CurrentSetting.SkinMobs = false;&#xD;&#xA;wManager.wManagerSetting.CurrentSetting.HarvestMinerals = false;&#xD;&#xA;wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported = true;&#xD;&#xA;wManager.wManagerSetting.CurrentSetting.UseFlyingMount = true;&#xD;&#xA;wManager.wManagerSetting.CurrentSetting.UseMount = true;&#xD;&#xA;wManager.wManagerSetting.CurrentSetting.AttackBeforeBeingAttacked = false;" /> <QuestsSorted Action="If" NameClass="ObjectManager.Me.Position.DistanceTo2D(new Vector3(1929.501, -4701.443, 36.34026)) &lt; 50" /> <QuestsSorted Action="Pulse" NameClass="zumplateau" /> <QuestsSorted Action="Reset" NameClass="zumplateau" /> <QuestsSorted Action="EndIf" NameClass="" /> <QuestsSorted Action="Wait" NameClass="1000" /> <QuestsSorted Action="None" NameClass="projekt zeppelin" /> <QuestsSorted Action="While" NameClass="ObjectManager.Me.Position.DistanceTo2D(new Vector3(1778.676, -4334.307, 101.6494)) &lt; 1500" /> <QuestsSorted Action="Pulse" NameClass="sinnlosfliegenzumzep" /> <QuestsSorted Action="Reset" NameClass="sinnlosfliegenzumzep" /> <QuestsSorted Action="None" NameClass="auf zep jetzt warten" /> <QuestsSorted Action="Wait" NameClass="9000" /> <QuestsSorted Action="RunLuaCode" NameClass="RunMacroText (&quot;/use Travel Form&quot;);" /> <QuestsSorted Action="RunCode" NameClass="wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported = false" /> <QuestsSorted Action="Wait" NameClass="140000" /> <QuestsSorted Action="RunCode" NameClass="wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported = true" /> <QuestsSorted Action="EndWhile" NameClass="" /> <QuestsSorted Action="If" NameClass="ObjectManager.Me.Position.DistanceTo2D(new Vector3(2067.353, 288.5511, 97.03262)) &lt; 50" /> <QuestsSorted Action="None" NameClass="vom zep runterkommen" /> <QuestsSorted Action="Pulse" NameClass="zumplateauuc" /> <QuestsSorted Action="Reset" NameClass="zumplateauuc" /> <QuestsSorted Action="EndIf" NameClass="" /> <QuestsSorted Action="While" NameClass="ObjectManager.Me.Position.DistanceTo2D(new Vector3(2070.47, 303.2696, 97.24919)) &lt; 1500" /> <QuestsSorted Action="Pulse" NameClass="sinnlosfliegenzumzepuc" /> <QuestsSorted Action="Reset" NameClass="sinnlosfliegenzumzepuc" /> <QuestsSorted Action="None" NameClass="auf zep jetzt warten" /> <QuestsSorted Action="Wait" NameClass="9000" /> <QuestsSorted Action="RunLuaCode" NameClass="RunMacroText (&quot;/use Travel Form&quot;);" /> <QuestsSorted Action="RunCode" NameClass="wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported = false" /> <QuestsSorted Action="Wait" NameClass="125000" /> <QuestsSorted Action="RunCode" NameClass="wManager.wManagerSetting.CurrentSetting.CloseIfPlayerTeleported = true" /> <QuestsSorted Action="EndWhile" NameClass="" /> <QuestsSorted Action="None" NameClass="willkommen im lichking addon jetzt runterlaufen vom zep" /> <QuestsSorted Action="None" NameClass="vom zep runterkommen" /> <QuestsSorted Action="If" NameClass="ObjectManager.Me.Position.DistanceTo2D(new Vector3(1995.305, -6097.593, 73.51222)) &lt; 500" /> <QuestsSorted Action="Pulse" NameClass="startlichking" /> <QuestsSorted Action="Reset" NameClass="startlichking" /> <QuestsSorted Action="EndIf" NameClass="" /> Have fun! Spend a whole day to get it working :-)
  5. Hello, i want to automate the tradeskillmaster process, going to mailbox, going to auction npc, scan, post and so on. So I want to click on several buttons or window coordinates. Some buttons i can click, i get info with /run print(GetMouseFocus():GetName()) and on others i get a "nil" value. For nil i have no idea to click on that position. Do you have any idea or a small sample code to click on a specific coordinate? Maybe relative wow window coordinates or absolute coord with a fixed screen size? It would be great if somebody has a solution for this task or can point me into the right direction? Thank you very much Best regards inselmann
  6. Hi all, is it possible to deactivate or activate plugins in a quest profile? I had problems with a plugin in town, so i want to deactivate it first before i use hearthstone, go through a portal and later in the grinding area i want to activate it again. I can change fight classes in quest profiles but i did not find a way to change the plugin settings. Any help would be great. Thank you Best regards inselmann
  7. Thank you Pasterke and Eeny, it works now.
  8. Hi Droidz, my druid spams healing touch on some mobs, even if i disable it in food option (spell). Dont know why :-) Worked great before. Please take a look. Thank you
  9. Hello, (english is not my native language, so ignore my spelling) i run wrobot now since two months. I have big problems with bugged mobs under hills, inside walls and so on. When i let it run unattended and come back after hours i am often stucked at these mobs. The bot runs in a loop around the hill or stands near it and tries to attack the mob. For hours...endlessly. This is a big problem, if a player sees it he will report you, if a GM watches this behavior you will be 100% banned. And i am not sure what rights a GM has when they manually investigate some accounts. Right now it would be easy to spot a bot by just placing a node under the map or a mob near to you which is not attackable. Wrobot will try to attack it endlessly -> Banhammer So how can i avoid this problem? I tried to blacklist certain areas in my profiles, but this is no solution. There must be an option in wrobot to temporary blacklist a mob or options that a fight has a timeout, or something like a invulnerable check. If a mob does not loose hitpoints after x amounts of seconds, the mob is evade and bugged. And the bot should continue and ignore this certain mob. I run other bots for other games and there you can define a value in seconds to ignore a mob (invulnerable) and continue. It works great on these games. In wrobot i sadly dont have this option and i dont know why :-) I would appreciate any help. Thank you
×
×
  • Create New...