So, lets start!
1. Things you'll need
>working QuestByName userfunction, to be found here http://www.solarstrike.net/phpBB3/viewt ... =27&t=2184
If you use it correctly, you do not need any addons that auto-accept quests etc - this will work by itself.
> common sense
2. Working with quests
There are a few things to use when you want to automate a long sequence of moves - even doing a few quests usually takes ALOT of waypoints, and mistakes find their way in quite often. Do yourself a favor and get Notepad++.
Okay, now for the good things:
Code: Select all
player:mount();
To unmount, I use personally
Code: Select all
CancelBuff(" mount name ");
Code: Select all
AcceptAllQuests();
yrest(500);
Code: Select all
CompleteQuestByName("Name",x);
yrest(500);
This also lets you choose the reward - it's the part after naming the quest ("Name",x), where x is the number of prize that you want to choose (1 is for the first, 2 for the second etc).
Code: Select all
sendMacro("ChoiceOption(1);");
Code: Select all
if( player.Level > 4 ) then
__WPL:setWaypointIndex(__WPL:findWaypointTag("circle"))
end
Code: Select all
inventory:useItem("Name"); yrest(500);
Code: Select all
<!-- # 1 --><waypoint x=" " z=" " y=" " tag="circle" type="TRAVEL">
> tag="circle" - will of course 'tag' waypoint, so that you can go to it later with __WPL:setWaypointIndex(__WPL:findWaypointTag("circle"))
> type="TRAVEL" - will set that particular waypoint to 'travel' type. Also accepts "RUN" or "NORMAL".
Code: Select all
local queststate = getQuestStatus("name") -- quest name
if queststate == "complete" then -- checks if quest is complete
__WPL:setWaypointIndex(__WPL:findWaypointTag("success"))
end
Might check few quests at once -
Code: Select all
local queststate1 = getQuestStatus("quest1") -- quest name
local queststate2 = getQuestStatus("quest2") -- quest name
if queststate1 == "complete" and queststate2 == "complete" then -- checks if both quests are complete
__WPL:setWaypointIndex(__WPL:findWaypointTag("circle"))
end
Code: Select all
if queststate ~= "complete" then -- checks if quest is not complete
Code: Select all
local questitem = inventory:getItemCount("name") -- item name
if questitem > 9 then -- checks if more than 9
loadPaths("part 2");
end
inventory:getItemCount() accepts either a ("name"), or (ID).
Code: Select all
changeProfileOption("ANTI_KS", false);
changeProfileOption("COMBAT_DISTANCE", 50);
changeProfileOption("MAX_TARGET_DIST", 50);
changeProfileOption("LOOT", false);
Code: Select all
player:target_Object("name")
yrest(700);
Code: Select all
levelupSkill("MAGE_FLAME", 1) -- raises flame lvl by 1
Code: Select all
__WPL:setForcedWaypointType("TRAVEL");
Useful when you need to change type of large amount of waypoints several times over - instead of copying type="TRAVEL' or 'RUN' or 'NORMAL', over and over again, you need only to use it once.
Code: Select all
if player:haveTarget() == true then
inventory:useItem(ID);
end
If you need to use any item on mob, and he has to have HP lower than 50%, you better look up this thread http://www.solarstrike.net/phpBB3/viewt ... tem#p26163. I've never used it personally, but it seems easy enough.
3. Additional useful things and info
Some NPC's can't be targeted via name - you need to use ID's. Also applies to some items. It might, however, be some kind of a problem with special character in their names - alas, I've just used ID's to make it work.
http://www.solarstrike.net/phpBB3/viewt ... =27&t=2849
Here is the cleanbag userfunction. If you can change it to clean additional ID's specified by you (I think I know how it should work with rock5's explanation in the last post, but don't have time right now to attempt it), it should be a great help to delete left-over quest items and random trash.
GMDetect might also be useful, just in case http://www.solarstrike.net/phpBB3/viewt ... =27&t=2516
Also, I've personally found that certain sound notifications are EXTREMELY useful all around when botting, and currently have eight different 'warnings' that I use. If you have any part that needs to be done manually, http://www.solarstrike.net/phpBB3/viewt ... rce#p16903 is your friend (and remember to install OpenAl !)
Well, that's pretty much it. Almost all of it can be found floating around on forums, but I think it's better if it is in one place. Cheers