[Guide] How to Create a Questing Profile - MMOCrawlerbots | WoW Bot Forum
Important: Please register to use the 20 minutes trial version or buy the bot!
Bot ready for World of Warcraft 5.4.2 Build 17688
If you have troubles with updating: Download the new UpdateLauncher.exe and replace the old one.

UpdateLauncher DOWNLOAD

Wow Bot: CrawlerBot Last version: click here State: EU:workingUS:working

Author Topic: [Guide] How to Create a Questing Profile  (Read 2874 times)

September 05, 2013, 14:54:54 PM

Galvanar Offline

  • *
  • *
  • Join Date: Jan 2013
  • Posts: 331
  • Reputation: 129
    • View Profile
Dear little Programmers and Wannabes :D

Today i want to teach you how to make your own little Quest Profile with the newest Information and with the newest and most helpfully tools.

First of all here is your Shopping List: (Addons / Helpfull Tools)

WoW Addon List

Wholly -- This is for the Quest IDs
Grail -- Database for Wholly
idTip -- This shows you the ItemIDs and Spell IDs by Mouseing over it


Helpfull Websites:

WoW-Head -- Here you can find everything about anything that has to do with World of Warcraft
Standard BotFunction Wiki -- a list of many BotIntern Functions you can use for your QuestProfiles and other Profiles
The new QuestFramework -- a compendium of all new Questing Functions and how to insert them into your profile
WoW API and LUA Codes -- There you can find all API and LUA codes you will need for your Profiles

Helpfull Tools:
Of course the Crawlerbots.exe! --( Debug Mode... but i will explain that later)


How To Start:

1. You start your WoW.exe and Login
2. You start the Crawlerbots.exe and Login too
3. You Accept Ingame a Quest ... lets call it QuestID "1234"
4. Change the BotMode to DebugMode and press Start
5. Press the QuestHeader in the upper Right Corner and insert the QuestID without the" " of course...
6. Press Generate! And then the Bot will Write a Template like this one...
Code: [Select]
function Quest_1234() -- QuestName (1234)
    if WasQuestDone(1234) == true then
        return 0
    end
   
    while IsQuestInLog(1234) == false do
        _Log("<font color='#0000FF'>Accept Quest: QuestName (1234)</font>")       
        NavigateTo(x,y,z,2)
        Sleep(1000)
        AcceptQuest(ObjectID,1234) -- Use AcceptQuestRunningNPC for moving NPCS
    end

    if IsQuestInLog(1234) == true then
        _Log("<font color='#008000'>Doing Quest: QuestName (1234)</font>")
    end

    if IsQuestStepDone(1234,1) == false then
        --QuestConditions here you have to make for  each QuestStep its own Query just make
 sure you edit the 2nd number in the () after IsQuestStepDone into the wanted condition number
    end

    while WasQuestDone(1234) == false do
        _Log("<font color='#0000FF'>Return to Questgiver: QuestName (1234)</font>")
        NavigateTo(x,y,z,2)
        Sleep(1000)
        TurnInQuest(ObjectID,1234) -- Use TurnInQuestRunningNPC for moving NPCS
    end
end
-----------------------------------------
Quest_1234()                               -- [Faction] QuestName

7. Start the BotDirectory\ProfileEditPro\ProfileEdit.exe and Create a New Questing Profile

8. Insert the Code Above from the DebugWindow and Save the Profile... Just the first QuickSave for you... Remember to save (Ctrl+s) every few Minutes or you will pay for it ^^
9. Now its Time to fill in the needed Informations for that Quest

- The Bot will automatically fill in the needet informations but if the QuestDebugTool fails you have to insert the Informations by yourself... so here is how it goes:

- Start the DebugMode and Change to the GameInfo Screen
- Now you walk Ingame to your QuestGiver and LeftClick him
- Now change the ; in the "String delimiter" to a , or the given Coordinates are useless for you
- Press "Refresh" and in the Screen appears Information about you and your Target like that example:

- now you Copy the Object ID into the AcceptQuest(ObjectID,1234) and TurnInQuest(ObjectID,1234)
- then copy the Pos: into all NavigateTo(x,y,z,2) lines. Just overwrite the x,y,z and dont forget the ", 2" in the end this is important. (without " ")
- now you look whatever you need to fulfill the QuestCondition ... lets say you need 10 Meat from a Mob that has the ObjectID 5555
- insert the following template:
Code: [Select]
if IsQuestStepDone(1234,1) == false then
    AddGrindingHotSpot(x,y,z) --insert the Coordinates the Bot should search the needet requirements from the Quest
    AddGrindingHotspot(x,y,z)--insert the Coordinates the Bot should search the needet requirements from the Quest
   AddGrindingMobID(5555) -- Yess MobID and not AddGrindingCollectObject because you want to kill this Mob that drops the needet Meat Auto Loot should be enabled in the WoW Settings! and in the BotSettings
   DoGrind("QuestCond",1234,1,1,) -- Template:("QuestCond",QuestID,1,QuestConditionNumber)
   ClearGrindingSettings() -- this will clear the AddGrindingHotspots and the AddGrindingMobID after Completing the Requirements in DoGrind
end

Some Informations:

- For example if you need to pick up a QuestItem from the Ground like Gathering Plants or  something else you dont use AddGrindingMobID()... you need AddGrindingCollectObject(ObjectID from the Plant you want to click and gather)

- If you want to make more than 1 Quest in the Profile just set the new QuestingFunction under the first one and Cut the last Line of each Quest and Paste it at the bottom of the Quest. Start with the 1. Quest you want to make and then the 2nd below and so on... The LUA code will be read from the Top of the Profile to the Bottom and so it will be executed!

like that:

Code: [Select]
Quest_1234()                               -- [Faction] QuestName
 Quest_23456()                               -- [Faction] QuestName

I hope this will help you with your First Steps into the LUA Programming i will write another Thread these days with helpfull Developement Functions to make your Profile even more easier!

Remember: You can use the Template i write on top of the Thread for each Quest just insert the QuestGiver and QuestReturner Coordinates and ObjectIDs and each QuestID into the needet Place and if you have trouble with some quests let you know where you can find me ;D

#########[Space for more Informations]###########


greetz Galvanar
« Last Edit: December 30, 2013, 12:09:37 PM by Galvanar »
---------------------------------------------------
If you like my Profiles hit the Rep button!
---------------------------------------------------
- Pandaria Quest-Mode [H] 2.3 Status: 100%
- 1- 58 Questing [H] Status 75%
- Auto Ground Mount Grinding 90%

September 05, 2013, 14:58:24 PM
Reply #1

Galvanar Offline

  • *
  • *
  • Join Date: Jan 2013
  • Posts: 331
  • Reputation: 129
    • View Profile
Space for more...
---------------------------------------------------
If you like my Profiles hit the Rep button!
---------------------------------------------------
- Pandaria Quest-Mode [H] 2.3 Status: 100%
- 1- 58 Questing [H] Status 75%
- Auto Ground Mount Grinding 90%

November 04, 2013, 06:26:08 AM
Reply #2

Papa30 Offline

  • *
  • Join Date: Sep 2013
  • Posts: 3
  • Reputation: 0
    • View Profile
ein video dazu wie man es macht wäre hilfreicher  ;)

November 04, 2013, 21:47:56 PM
Reply #3

Galvanar Offline

  • *
  • *
  • Join Date: Jan 2013
  • Posts: 331
  • Reputation: 129
    • View Profile
Werde ich in den nächsten Tagen in Angriff nehmen ;)
---------------------------------------------------
If you like my Profiles hit the Rep button!
---------------------------------------------------
- Pandaria Quest-Mode [H] 2.3 Status: 100%
- 1- 58 Questing [H] Status 75%
- Auto Ground Mount Grinding 90%

November 06, 2013, 01:48:36 AM
Reply #4

Papa30 Offline

  • *
  • Join Date: Sep 2013
  • Posts: 3
  • Reputation: 0
    • View Profile
Wäre super. wollte nämlich ein eigenes profil erstellen aber irgendwie hab ich schwiereigkeiten damit. englisch ist bei mir....naja...^^ habs übersetzen lassen und kam teilweise nur kauderwelsch raus. wäre mal froh darüber den mittelteil zu kapieren.mit der quest id und so hab ich schonmal raus.

November 30, 2013, 18:05:03 PM
Reply #5

spid12 Offline

  • *
  • Join Date: Dec 2012
  • Posts: 41
  • Reputation: 5
    • View Profile
Galvanar hast du schon ein video gemacht wie man ein quest profile erstellt ?

Edit.

ich hab es hingekriegt aber als ich es getestet hab kam nur script done und hat sich ausgeschaltet....

ne ahnung was ich falsch machte ??
« Last Edit: November 30, 2013, 18:50:13 PM by spid12 »

November 30, 2013, 23:55:05 PM
Reply #6

Galvanar Offline

  • *
  • *
  • Join Date: Jan 2013
  • Posts: 331
  • Reputation: 129
    • View Profile
Aktuell noch nicht ich Arbeite gerade am Horde 5-58 und das nimmt sehr viel zeit in Anspruch ;)



LG Galvanar
---------------------------------------------------
If you like my Profiles hit the Rep button!
---------------------------------------------------
- Pandaria Quest-Mode [H] 2.3 Status: 100%
- 1- 58 Questing [H] Status 75%
- Auto Ground Mount Grinding 90%

December 19, 2013, 16:24:18 PM
Reply #7

jimmypile Offline

  • *
  • Join Date: Dec 2013
  • Posts: 36
  • Reputation: 0
    • View Profile
ugh... anyone who can help me get this questing profile stuff down i would greatly appreciate it.. im having some rather difficult times here. i can get it to quest but i cant get it to grind. my goal is to make an entire questing profile  if you want to help me let me know if not just ignore me.

December 19, 2013, 16:26:00 PM
Reply #8

kolbenhans Offline

  • *
  • *
  • Join Date: Dec 2012
  • Posts: 827
  • Reputation: 241
    • View Profile
Do you have the QuestID?

December 19, 2013, 16:35:16 PM
Reply #9

jimmypile Offline

  • *
  • Join Date: Dec 2013
  • Posts: 36
  • Reputation: 0
    • View Profile
yep, i thought i would keep it nice and simple and start from the very beginning and work my way all the way through 1-10 and every 10 levels i would upload the profile to keep people going.  or maybe even every 5 levels because that would be alot of quests.

i downloaded all the addons that were mentioned i just dont think i'm following the tutorial all that good. its a great tutorial but its very confusing too, it doesn't give the most examples. a video would be nice or a step by step in detail would be great too. it also doesn't help that i'm a total noob at this programming stuff

December 21, 2013, 09:20:04 AM
Reply #10

skydelta3 Offline

  • *
  • Join Date: Oct 2013
  • Posts: 6
  • Reputation: 0
    • View Profile
What is the command to get a profile to target an npc and use an item in your inventory on said NPC?

December 23, 2013, 10:06:55 AM
Reply #11

kolbenhans Offline

  • *
  • *
  • Join Date: Dec 2012
  • Posts: 827
  • Reputation: 241
    • View Profile
What is the command to get a profile to target an npc and use an item in your inventory on said NPC?

To interact with a NPC you need the ObjectID (or DisplayID) .
If you standing near the NPC you can use:
InteractWith(GetObjectByID(ObjectID)) <--ObjectID has to be filled with your ID
or by DisplayID:
InteractWith(GetObjectByDisplayID(DisplayID))

to use a item on a Mob or NPC you can use:

SetTarget(GetObjectByID(ObjectID))
UseItemByID(ItemID)  <-- this is a function of lengendary.lua! Add the legendary.lua by DoFile or copy the function to your script.

Kolbenhans

December 25, 2013, 02:42:40 AM
Reply #12

skydelta3 Offline

  • *
  • Join Date: Oct 2013
  • Posts: 6
  • Reputation: 0
    • View Profile
That sounds complicated, sorry im new to this all and im trying to learn to create profiles as I want to create a 1-90 leveling profile.

December 25, 2013, 18:59:10 PM
Reply #13

Junieboi Offline

  • *
  • Join Date: Dec 2013
  • Posts: 1
  • Reputation: 0
    • View Profile
I am new to this and, i find this complicated to use, like wtf is a quest id, where do i find it, and i have to always change the quest id everytime i do a new quest? so.....every time my bot gets done with one quest i have to come back get a new id and do that shlt all over again? or how the heck does this work, cuz i am not happy lol

December 25, 2013, 21:34:11 PM
Reply #14

Galvanar Offline

  • *
  • *
  • Join Date: Jan 2013
  • Posts: 331
  • Reputation: 129
    • View Profile
You should begin with 1 simple Quest. Like kill 10 Mobs and go back to the Questgiver.
If you get it to work do the next one... and yes its very much work, you have to make for each Quest a new Function. Currently i'm developing the Horde 5-58 Quest Profile and ive coded 7000 Lines and hit just Level 30 :) But you can do your life much easier with the Addons i explained in the Topic.


Grethings Galvanar


If you need help go and ask for it ^^
---------------------------------------------------
If you like my Profiles hit the Rep button!
---------------------------------------------------
- Pandaria Quest-Mode [H] 2.3 Status: 100%
- 1- 58 Questing [H] Status 75%
- Auto Ground Mount Grinding 90%

 

* Recent Topics

* Useful Stuff