When you use XML fightclass, to lower CPU usage you can put lower value in fightclass option "Frames Per Second" (you can try 10 or less).
In the last update I tried to improve the CPU usage.
Hello, i'm currently working on a quest editor because the provided one doesn't fit to my imagination.
I wanted to add some custom functions like adding transport step, specific npc using and so on.
It looks like this so far (not fully finished):
For now i have a few questions of the quests editor window:
-Is it really needed that the marked area to have more than one questid? if yes an example would be useful
-Does the name of the quest affect the common quest product? Here "quest1 - KillAndLoot". So far i tested it, only the quest id influence it but i'm not sure if some other function will also need the name
If you have also other ideas for the editor, please leave your suggestions here.
These are the conditions functions for making a fight class - it is not complete, please update by posting what you know about them so we can get full explanations of these.
Pet Health Percent
Target Health Percent
Health Percent
Mana
Rage
Focus
Energy
Chi
Runes
Runic Power
Soul Shards
Eclipse
Holy Power
Alternate
Dark Force
Light Force
Shadow Orbs
Burning Embers
Demonic Fury
Arcane Chargers
Target Distance
Hostile Unit Near
Unit Attack Player Near
Hostile Unit Near Target
Unit Attack Player Near Target
Buff
Target Buff
In Battle Ground
Known Spell
C Sharp Code
Distance Pet To Target
Distance Me To Pet
Me Level
Target Level
Have Target
Have Pet
Me in Combat
Me in Move
Target in Move
Pet in Move
Target in Cast
Pet in Cast
Me in Cast
Target is Player
Target is Summoned
Is Spell Usable
Item Count
LUA Script
Target Pet is my Target
Target Targeting Me
Target Me or My Pet
Target Targeting My Pet
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 == "Tanaris"" />
<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 >= 80" />
<QuestsSorted Action="If" NameClass="wManager.Wow.Helpers.Usefuls.MapZoneName == "Mount Hyjal"" />
<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)) < 2000" />
<QuestsSorted Action="RunCode" NameClass="var position = new Vector3(1791.696f, -4273.472f, 7.674594f);
int objEntryId = 195142;

if (wManager.Wow.Bot.Tasks.GoToTask.ToPositionAndIntecractWithGameObject(position, objEntryId))
{
 System.Threading.Thread.Sleep(1500);
}" />
<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 ("/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");" />
<QuestsSorted Action="Wait" NameClass="2000" />
<QuestsSorted Action="RunLuaCode" NameClass="RunMacroText ("/ag scan");" />
<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 ("/run for i=1,GetNumQuestLogEntries() do SelectQuestLogEntry(i); SetAbandonQuest(); AbandonQuest(); end");" />