Holic bot

You may request or share scripts for MicroMacro in this forum.
Message
Author
User avatar
Administrator
Site Admin
Posts: 5306
Joined: Sat Jan 05, 2008 4:21 pm

Holic bot

#1 Post by Administrator » Fri Oct 17, 2008 12:06 am

Holic Online - http://holic.netgame.com/

Requirements:
MicroMacro 0.98, Oct. 16, 2008

Not sure if your version of MicroMacro will work? Check the changelog to see if your version has the binary operator substitutes AND() and OR().

Features:
Can use potions
Can use skills/buffs
Can unstuck itself on terrain and objects
Can detect when stuck while fighting monsters, and correct the problem
Can wander around when no monsters are nearby
Will not wander too far away from the spot you started the bot
Can stop itself if/when you die
Can avoid stealing kills from another player
Can detect when you pull aggro
Can loot (or skip looting) of items
Contains skill database information for priest, monk, and warrior.

Incomplete features:
Cannot yet follow a full waypoint system
Cannot yet determine distance to enemy (to prevent trying to use skills when out of range, but this is no big deal)

Setup:
Simply download holic.zip (attached) and extract the folder somewhere (preferably into micromacro/scripts). You can modify options.lua to suit your character's needs better.

You will also setup your skills in options.lua. See the below post (FAQ) for more specific information.

You will place your HP potions into the ALT+1 hotkey, and mana potions into ALT+2 hotkey (this is configured in hotkeys.lua). If you do have see the ALT hotkey row, enable "Expansion Slot" in your options.

Starting:
Now that you've got the scripts configured, you need to start holic/main.lua. If you've got the holic folder extracted to micromacro/scripts, simply launch micromacro.exe and enter "holic/main.lua" (without quotes) when prompted for a script.

If you have extracted the folder somewhere else, right click on main.lua and select Open (or Open With). Click the Browse button, and locate micromacro.exe. Click OK, and the script should load.

You must be logged into your character before continuing. Find the location you wish to bot in (which, preferably, contains few obstacles you can get stuck on). Now, simply press the INSERT key on your keyboard, and the bot should start.

If you would like to pause the bot, press DELETE. To resume, press INSERT again. When resuming, the bot will use this new location as the wander area, so there is no need to reload the script when you move between locations.

Final notes:
  • If you are in a party, you will not be able to pick up items. This is due to the way Holic works, not the script.
  • Although you might not be able to loot, it might be beneficial to have a few of your friends bot with you. There is less chance that other players will come by and watch you for long (as they won't have any chance to kill any monsters).
  • You should not bot the same area for more than 5 consecutive hours. If you must do this, do it during the less active times. The GMs typically are only around from 11am to 3pm central standard time.
  • For some players, the tilde button doesn't work to pick up items, and therefor you may be unable to loot. This is a bug in Holic, and there is nothing I can do to fix it. If you have this problem, you should probably disable looting in options.lua.
  • You cannot bot while the screen is minimized or not focused. This means you will not be able to run multiple bots or browse the internet while botting Holic.
  • I do not accept responsibility for you getting banned for using this script.
Attachments
holic.zip
Holic bot, v1.00
Oct. 16, 2008
(15.36 KiB) Downloaded 369 times

User avatar
Administrator
Site Admin
Posts: 5306
Joined: Sat Jan 05, 2008 4:21 pm

Re: Holic bot

#2 Post by Administrator » Fri Oct 17, 2008 12:31 am

Holic bot FAQ

How do I setup my skills?
Open options.lua in notepad. You will need to add the skill to a usable skill list using the addSkill() function. The first parameter is the skill itself, and the second is the hotkey of the skill. There should already be a few skills listed as an example (for monk). You should probably remove all of the example entries listed and add your own.

You will need to first know the name of the skill you want to use. You can look this up in database/skills_<yourclass>.lua. So, if you're a priest, open database/skills_priest.lua. Look for the skill you want to use and copy it (ie. SKILL_SHININGSTRIKE1).

Now go back to options.lua, and insert a new line containing the addSkill() function with the skill you want to use (ie. SKILL_SHININGSTRIKE1) and the hotkey (ie. key.VK_1).

Code: Select all

addSkill(SKILL_SHININGSTRIKE1, key.VK_1);

What about heals and buffs? How do I set up the bot to use those?
You don't. Just add the skill like demonstrated above, and the bot will automatically know how to use the skill. It's just that easy.


What if I want to use a skill that's not listed?
You will need to add an entry for it in your class's skills file in the database folder. Use one of the other skills as an example. A 'skill' table is created by using the skillInfo() function. A description of the function is as follows:

Code: Select all

SKILL_THESKILLNAME1 = skillInfo("The Skill Name 1", cooldown, casttime, mana, requirements, targettype);
'cooldown' should be the cooldown of the skill (in seconds) +2. The +2 is to prevent using it too soon, and is not really required, but strongly suggested. For buffs that last longer than the cooldown, use the duration of the buff instead. For example, a 20 minute buff should have 20*60 as it's cooldown.

'casttime' should be how long the skill takes (in seconds) to cast. If no casttime is given, a value of 1 or 1.5 is suggested. If the casttime is given in the skill's description, it is suggested you had 0.5 to it (to prevent trying to use another skill before finished casting).

'mana' is the amount of mana the skill costs to cast. If no mana is required, use 0.

'requirements' is a flag data that describes what is required to cast the skill. If this is a normal attack, you can use REQUIREMENT_NONE or simply leave this blank (unless the next parameter is needed).
Requirement flags are as listed:
  • REQUIREMENT_NONE - No requirement, use only in combat.
  • REQUIREMENT_HURT - Only use this skill if you are hurt (recommended for healing skills)
  • REQUIREMENT_MANALOW - Only use this skill if you have less than 75% mana
  • REQUIREMENT_NOCOMBAT - Only use out of combat (recommended for buffs)
If you need to use more than 1 requirement, you should use bit.OR(requirement1, requirement2, ...) to construct this flag. For example:

Code: Select all

-- this skill will only be used when below 75% mana, and out of combat.
SKILL_MYSKILL = skillInfo("My Skill", 20, 1, 35, bit.OR(REQUIREMENT_MANALOW, REQUIREMENT_NOCOMBAT);
'targettype' refers to target requirements. As of right now, this is only needed when a skill requires you to target yourself when in combat (like most heals and buffs). If this is a normal attack skill, just leave this parameter blank. If you must target yourself when you have an enemy selected, use TARGET_SELF for this parameter.

Please, if you are adding new skills, let me know. Go ahead and post them here so I can add that information to the database.


What if there is nothing listed for my class?
You will need to create all the information yourself. Start by adding a new file to the database folder. Follow the naming convention skills_<class>.lua. For example, 'skills_rogue.lua' would be an appropriate name. You should now fill this file with skill information tables using the method above.

The final step is including this new file. Open up skills_base.lua and go to the bottom. You will see several includes. Make sure to add your new file as another include. For example:

Code: Select all

include("database/skills_rogue.lua");

tgbhgf
Posts: 19
Joined: Wed Sep 10, 2008 3:10 am

Re: Holic bot

#3 Post by tgbhgf » Fri Oct 17, 2008 2:57 am

omg this is soo cool thanks ^^
btw i know it's not possible but is there anyway i can minimize it?
anyways will this work for levels 45+
thanks heaps =D
Btw i think you should make it into an exe. application it will attract soo many people =D

Edit: i got this error when trying to load main.lua
"attempt to call global 'include' <a nil value>

im 100% it is in the scripts folder =(

User avatar
Administrator
Site Admin
Posts: 5306
Joined: Sat Jan 05, 2008 4:21 pm

Re: Holic bot

#4 Post by Administrator » Fri Oct 17, 2008 4:32 am

You probably have an old version of MicroMacro or a mismatch in files. Redownload the full thing and try again.
btw i know it's not possible but is there anyway i can minimize it?
Not possible. Not without hooking or writing a clientless bot, which are both more work than it is worth.
anyways will this work for levels 45+
Worked for me at level ~30 on priest and monk. It just depends on your class, equipment, where you are botting, etc.

It's actually funny. My 21 priest botted level 26 monsters all night (about 10 hours, straight) and never died. When I checked in, I seen a GM zipping around me, and decided to play legit for a few minutes till he left me alone. I died. Twice. Within 10 minutes. I had a habit of not paying too much attention to my health, I guess.

tgbhgf
Posts: 19
Joined: Wed Sep 10, 2008 3:10 am

Re: Holic bot

#5 Post by tgbhgf » Fri Oct 17, 2008 3:16 pm

oh =D thanks. But are you sure u uploaded the right version on this page?
http://solarimpact.servegame.com/downloads.php
or is that the version we need?

User avatar
Administrator
Site Admin
Posts: 5306
Joined: Sat Jan 05, 2008 4:21 pm

Re: Holic bot

#6 Post by Administrator » Fri Oct 17, 2008 5:37 pm

Yes, I just double checked it and it works fine for me using the current version on the website. If, after you've upgraded, you still get some error, post your log and I'll take a look at it.

tgbhgf
Posts: 19
Joined: Wed Sep 10, 2008 3:10 am

Re: Holic bot

#7 Post by tgbhgf » Fri Oct 17, 2008 6:29 pm

actually nm i worked it out i got version 0.95 instead of .98 =D

the bot is working perfectly =D only problem now it that it can't be minimised =D but overall it's awesome

tgbhgf
Posts: 19
Joined: Wed Sep 10, 2008 3:10 am

Re: Holic bot

#8 Post by tgbhgf » Sat Oct 18, 2008 3:51 pm

well i tested the bot and it has an issue. Like it get stuck trying to target a monster. Example:

Monster here : Wall/Mountain : Bot

it tries to run across and get stuck often =D

User avatar
Administrator
Site Admin
Posts: 5306
Joined: Sat Jan 05, 2008 4:21 pm

Re: Holic bot

#9 Post by Administrator » Sat Oct 18, 2008 7:26 pm

You should avoid hills and obstacles as much as possible. Without directly accessing map data and using a true path finding algorithm, this is the best we can do.

It should unstuck itself after a few seconds, as long as the obstacle isn't too big or complex.

tgbhgf
Posts: 19
Joined: Wed Sep 10, 2008 3:10 am

Re: Holic bot

#10 Post by tgbhgf » Sun Oct 19, 2008 1:46 am

yay thanks i worked it out ^^ but will the pet summoning function ever works?

User avatar
Administrator
Site Admin
Posts: 5306
Joined: Sat Jan 05, 2008 4:21 pm

Re: Holic bot

#11 Post by Administrator » Sun Oct 19, 2008 4:37 am

Maybe, but I've got more important things to do than work on pet summoning. It really shouldn't be too hard, though, once a pointer is found to check if you have a pet out or not.

tgbhgf
Posts: 19
Joined: Wed Sep 10, 2008 3:10 am

Re: Holic bot

#12 Post by tgbhgf » Sun Oct 19, 2008 7:33 am

yay thanks ^^ also i tested it and everything is fine except when u play near mountain and there's mobs underneath it the bot tend to try attack the mobs underneath the hills etc and you ended up stuck and it just stays there. I mean it doesn't unstuck in that situation :lol:

User avatar
jmb
Posts: 18
Joined: Fri Aug 29, 2008 2:21 am

Re: Holic bot

#13 Post by jmb » Tue Dec 09, 2008 5:53 am

where can i edit where in the distance of the monster from me,,for me to attack it?

User avatar
Administrator
Site Admin
Posts: 5306
Joined: Sat Jan 05, 2008 4:21 pm

Re: Holic bot

#14 Post by Administrator » Tue Dec 09, 2008 1:30 pm

You can't. I never found the pointer to the monster's coordinates, so it's pretty difficult to find the distance between you and it.

User avatar
jmb
Posts: 18
Joined: Fri Aug 29, 2008 2:21 am

Re: Holic bot

#15 Post by jmb » Sun Dec 14, 2008 8:38 am

how can i change the settings that it presses tab when nothing to attack?

User avatar
Administrator
Site Admin
Posts: 5306
Joined: Sat Jan 05, 2008 4:21 pm

Re: Holic bot

#16 Post by Administrator » Sun Dec 14, 2008 12:52 pm

Line 63 of movement_wander.lua. Add the 'true' parameter to disable targeting.

Code: Select all

waypointSuccess = stepTowardsWaypoint(current_wpx, current_wpy, true);
I have no idea why you would want this, though.

User avatar
jmb
Posts: 18
Joined: Fri Aug 29, 2008 2:21 am

Re: Holic bot

#17 Post by jmb » Mon Dec 15, 2008 5:18 am

add the true?i don get it sorry :cry:

i get it now

xcunh0x
Posts: 4
Joined: Wed Dec 24, 2008 3:30 am

Re: Holic bot

#18 Post by xcunh0x » Wed Dec 24, 2008 3:33 am

awww...got here too late....already patched

chokza
Posts: 3
Joined: Thu Dec 25, 2008 1:23 am

Re: Holic bot

#19 Post by chokza » Thu Dec 25, 2008 1:42 am

Image

Zephyr
Posts: 86
Joined: Fri Apr 18, 2008 8:10 pm

Re: Holic bot

#20 Post by Zephyr » Thu Dec 25, 2008 2:07 am

Chokza,

I figuring you are wanting an answer on how to fix that error? Since the game has most likely been patched a couple times since the initial release of the bot you are using out of data addresses. Without the current addresses the bot will not know where to look for information on your character or game. To find to current ones you will need to look at the following guide to take the task into your own hands.

http://solarimpact.servegame.com/phpBB3 ... p?f=5&t=65

I do not play this game so I have not looked for the addresses. Now if someone else is nice enough you might want to see if they have them.

Zeph

Post Reply

Who is online

Users browsing this forum: No registered users and 7 guests