
ok, i have been screwin with this damn megabot for 3 days and all i can get out of it is it runs for like a second then ends, all i do is stand there and do nothing like a lump, i want to know what im doing wrong i have went through the whole config file and everything but still the script wont run and i dont know why...
; For Function keys, use F1-F12 and it IS case sensative
; Other Special Keys (Must match the spelling and case exactly)
; BACKSPACE, SPACE, PGUP, PGDOWN, END, HOME, LEFTARROW, RIGHTARROW, DOWNARROW, UPARROW,
; INSERT, DEL, NUMLOCK, SCROLL, LBUTTON, RBUTTON, MBUTTON, PAUSE, PRINT, MULTIPLY, ADD, SUBTRACT, TAB
; Any items you don't set, use ~ as the value
[Version]
INIVersion=2.7
; TestMode to help debug various issues
; 0 - OFF - Normal mode to run the script in
; 1 - GetPixelColor test reading the Health/Power/End bars and moving the mouse to visually see them
; 2 - Test NeverSit INI (doing a bunch of Sit/Stands...)
; 3 - Test new QuickBar logic using SHIFT-# by going through each bar 1 second pause
; 4 - If using a new skin that hasn't had the colors coded, choose this mode and it will give you the colors
; you need to use in your EQ2MEGABOT.INI file. Then share them on the forum site for others!
; 5 - Test out reading INI file for window locations - encoded in EQ2, so harder to do
; 6 - Test a bunch of EQ2 functions to verify they are working - debugging only
; 7 - Show all window locations to verify it is reading the INI properly - Do
; 8 - Test new Combat Sequences built into EQ2MegaBot
; 9 - Turn Testing
; 10 - Run Speed LPS testing
; 11 - Run Loc Points Testing
; 12 - Automatically create an xy file for your screen resolution - takes some time to create it... be patient
; 13 - Loot testing
; 14 - Turn testing - Deg per sec
; 15 - Turn() function testing
; 16 - Test new RunToLoc() functionality tracking a spawnID
; 17 - Test Mob Difficulty - have to use F12 to break out of this one
; 18 - Test New ignoreMob() Functionality
; 20 - Use this mode to find the distance of mobs for you pull spells
TestMode=0
[BasicCharSetup]
; What Role is that character in during this scripting
; OFFENSIVE, BUFFBOT
; OFFENSIVE - You fight as a primary fighter - look for things to fight and get the job done
; BUFFBOT - You are there to tag along with a OFFENSIVE bot or real player and respond to commands.
; You will fight back if attacked (and not respond to commands until done fighting)
CharRole=OFFENSIVE
; YOUR EQ2 Directory - always have trailing \
EQ2Dir=G:\Program Files\Sony\EverQuest II\
; Name of the EQ2 Server you are playing on.
EQ2Server=lucan dlere
[Commands]
; ====================================================
; = Commands to control your BUFF BOT
; ====================================================
; You will want to CUSTOMIZE these to be specific to you so everyone isn't saying the same commands
; When a VALID MASTER sends this string, the "GroupBuffSequenceSTR" below is performed on them
BuffMeSTR=hit me up
; When a VALID MASTER sends this string, the next available "HealSequenceSTR" will be cast on them
HealMeSTR=Heal me please
; When a VALID MASTER sends this string, the next available "HealSequenceSTR" will be cast on them
GroupHealSTR=group heal
; When a VALID MASTER sends this string, the bot will target the MASTER and start their "CombatSequence1STR"
; which will make them fight back
; After the kill is done, the bot will go right back into listen for request mode, so if you are fighting
; multiple targets, send the command again to make them help you again
AssistMeSTR=help me please
; When a VALID MASTER sends this string, the bot will go into STAND DOWN mode, which means you do not
; fight back when attacked. You will still respond to the Assist command. Used to keep a bot from attacking
; when attacked and you didn't want them to fight back and blowing though their mana
; Right now it doesn't work while they are already fighting, but will in the next release
StandDownSTR=stand down
; When a VALID MASTER sends this string, the bot will go into FIGHT BACK mode, which means the bot will
; defend itself if attacked and fight back
FightBackSTR=fight back
; When a VALID MASTER sends this string, the bot will follow you
FollowMeSTR=tag along with me
; When a VALID MASTER sends this string, the bot will stop follow you
StopFollowingSTR=do not follow
; When a VALID MASTER sends this string, the bot will LOG OUT to char screen
LogOutSTR=log out please
; When a VALID MASTER sends this string, the bot will tell you what mode he is in
StatusSTR=what are you doing
; When a VALID MASTER sends this string, the bot will tell you what loc he is at
; Not finished yet for EQ2
LocRequestSTR=where are you
; Tell the bot to heal themselves
HealYourselfSTR=Give yourself some lovin
; Useless in EQ2 - but still there for fun
SitDownSTR=drop it down
; Useless in EQ2 - but still there for fun
StandUpSTR=stand on up
; Not implemented yet, so ignore for now
ResMeSTR=bring me back
[QuickBarSetup]
; ------------------------------------------------------------------------------------------------
; This is the same setup for:
; BeforeCombatSequence1STR, InitialCombatSequence1STRA, PerMobCombatSequenceSTR, CombatSequence1STR,
; AfterCombatSequence1STR, HealSequenceSTR, HealSequenceSTR, BuffSequenceSTR, GroupBuffSequenceSTR,
; PowerSequence1STR
;
; For CastTime and RecastTime, these can be take right from the in-game details window for that spell
; format is:
; QUICKBAR,Name,KEY,CastTime,ReCastTime,QUICKBAR,Name,KEY,CastTime,RecastTime,...
; Example: qb1,Weaken,1,1s,5s,qb2,Dust Blast,2,2s,2s
; This would mean on QuickBar1, cast Weaken which is on Key 1, it takes 3 seconds to cast, 5 seconds to recast
; Then on QuickBar2, cast Dust Blast, which is on Key 2, it takes 2 seconds to cast and 2 seconds to recast
;
; There is a max of 20 items in any sequence, if anyone finds this a limit, let me know
;
; The Name is the name of the spell on the KEY you are casting. It is ONLY used for debugging as it will display
; what spell it is casting in the debug window and you can visually see if that is the spell being cast
; Very handy when you code the KEY wrong or move your hot keys around and not sure why the wrong spells are
; going off. You can visually see that you expected to caste a Dust Blast, but a Heal is going off, oopss!
; ------------------------------------------------------------------------------------------------
; BEFORE Combat Seq - a sequence done ONCE before a fight takes place (buffing up, pre-heals etc.)
; This will not take place if you are jumped as there is no before fight
; This sequence will automatically target the BOT before casting...
; Not sure what type of char will use this, but you never know... I used it to do a Cut Throat before the fight
; which was pretty funny looking
BeforeCombatSequence1STR=~
; INITIAL Combat Seq - a sequence done ONCE at the opening of a fight, or when requested by partner to ASSIST them
; This is a good place to put things things you want to START during combat and use the Response Strings
; below to keep active as they finish.
; Examples are reactive heals, wards, etc.
; These will take place even if you are jumped
; Used in PullToSafeSpot as the PULL move
InitialCombatSequence1STR=qb10,Pestilential Blast,4,2s,3s
; Have to have a special setting just for pulling with Range Attacks as they work different than spell
; pulls. A Range Attack locks you onto the mob and you have to hit Escape() to clear that and be able
; to run back to your starting point. This can be set to TRUE even if you use a spell to pull it will
; just take longer to get your target back (ie. until the mob hits you again and becomes the target)
UsingRangeToPull=TRUE
; Per MOB Combat Seq - a sequence done ONCE per Mob. This happens if you are fighting multiple mobs, the
; InitialCompbat above will only happen once, the PerMob will happen at the beginning of each mob.
; Good for DOT, DeBuffs, etc.
; If you have a pet, put your pet attack on a QB and use this to send the pet after the target - works well
; These will take place even if you are jumped
PerMobCombatSequence1STR=~
; Combat Seq - a sequence done OVER and OVER during the main fight
; Used for all attacks - Direct Damage, Kick, Taunt, etc.
; You can also use Heroic Opps in here - if you have a multi-stage Heroic opp, use the ResponseStrings below
; and when it matches the stage 1 string, use it to do the stage 2 opp - works pretty cool
CombatSequence1STR=qb10,Lifetap,5,2s,9s
; Combat Seq - a sequence done AFTER the fight is over
; Not sure what it will be used for yet, but in here just in case!
AfterCombatSequence1STR=~
; In EQ2, healing is different, so give options for heals
; Put all your direct heals here, it will do them in order if they are all ready.
; Always put your BEST/FAST heals first, then your weaker heals.
; The way it works is, if the timer is up for the first (best) heals, it will always cast them first
; If not ready, it will keep going down the list until a heal that can be cast is ready
; If you ask for a heal and your health is > 90%, the bot will tell you you don't need a heal. This was put in
; so valuable power isn't wasted if you mash the heal key 5x during a fight, you will get your heals till you are
; > 90%, then it ignored the rest
HealSequenceSTR=~
; What Health percent do you or your group mates have to be before you will auto heal them
; Only matters if you have the HealSequenceSTR setup - if not setup, this is ignored
HealPercentSTR=75
; This is a second level of healing if you want to cast a different set of heals when health is even lower
; than the one above. Examples of uses are for a Monk, you can put your MEND in the HealSequenceSTR and set
; HealPercentSTR=75, then set this heal as Feigh Death and HealPercent2STR=15. Other uses could be for
; Reactive heals in the one above, and direct heals in this one... if it is not set, the regular heals
; above will always be cast
HealSequence2STR=~
; What Health percent do you or your group mates have to be before you will auto heal them using Seq2
HealPercent2STR=0
; Set to TRUE if you want to AUTOMATICALLY heal everyone is the group.
; Set to FALSE if you just want to HEAL yourself when needed (ie. below HealPercentSTR
; What this can be used for is if you are a Monk and use Mend, it only works on you, so set it to FALSE so
; it doesn't try to trigger a mend when other people need a heal. Another reason would be if you had multiple
; bots in a group and some you only wanted to heal themselves
; If a person ASKS for a heal, you will still respond, just not automatically heal them when needed
HealOthersSTR=FALSE
; This is a check made when people manually ask for a heal, if their heal is above this number, then the bot
; respond saying they are not getting a heal. Is is good for when a person spams heals to the bot, the bot
; will ignore the heal requests once you are healed above this number, thus conserving mana.
; DEFAULT: 90
MinHealCheckForPlayers=90
; Put all your GROUP heals here, it will do them in order
; If the bot sees more then 1 person hurt, it will choose a group heal instead of a single person heal to try to
; get everyone healed up. If you don't have a group heal, then it will continue to use single heals
GroupHealSequenceSTR=~
; At what POWER % do you stop fighting back and just be available for heals (so you don't blow all your power)
; What it will stop doing is the CombatSequenceSTR. All AUTO heals, AUTO group heals ResponseSequenceSTR and
; CombatResponseSequenceSTR are still active as you want to still respond to events, just not burn up power
; Set to 0 if you just want the bot to blast forever
; For Offensive Bots, set to 0, you want to fight until you are out of power, right?
StopFightingPowerSTR=0
; At what power do you kick in the PowerSequence1STR
; Used to cast any spells that need to trigger off you running low on power, such as a power draw from
; a pet
PowerTriggerSTR=90
; When Power is belo wPowerTriggerSTR, do this sequence
; Used to cast any spells that need to trigger off you running low on power, such as a power draw from
; a pet
PowerSequence1STR=~
; This is the buff sequence for YOU when you first start the script, and after each wears off
; The timing is a little different then the Heal or Combat sequence as you want to put the recast
; time as the time the buff lasts so it knows when to recast it. If a buff lasts 15 mins, you would put
; 900s so it recast every 15 mins. If it lasts 12 hours, just put some large number.
BuffSequenceSTR=qb1,Earthly Brand,7,3s,9999s,qb0,Gift of the Magi,8,3s,9999s
; Buff that you cast on another player when they ask for it using commands at top
; Treat the setup just like Heal and Combat where the recast is the actual recast so you can be ready
; to cast them again on another player
GroupBuffSequenceSTR=~
; ------------------------------------------------------------------------------------------------
; This is the same setup for:
; ResponseSequenceSTR, CombatResponseSequenceSTR
;
; format is:
; StringToSearchFor,QUICKBAR,Name,KEY,CastTime,ReCastTime,TargetType...
; For CastTime and RecastTime, these can be take right from the in-game details window for that spell
;
; Valid Target Types: MASTER, YOURSELF, TARGET, NONE
; MASTER means to cast on whoever sent the request
; YOURSELF means, well, cast on YOU!
; TARGET means to cast on current target, which is usually whoever you are Assisting as you keep them targetted
; NONE means there is no need to target anyone to cast this spell, just cast it!
; NOTE: You really don't want to use YOURSELF during combat responses as it messes up who is targetted,
; since you can cast a beneficial spell on what you are attacking, just set it to NONE and it will
; cast on yourself by default
;
; Example: scare em off,qb6,Phantasm,8,1s,900s,MASTER,hits a Bloodskull,qb9,Orc Master Strike,3,2s,60s,TARGET
; This would mean when you see "scare em off" from a valid MASTER, change to QuickBar6, cast Phantasm,
; which is on Key 8, it takes 1 second to cast and 900 seconds to recast. Also, it would look for
; "hits a Bloodskill" and if seen, change to QuickBar9, cast Orc Master Strike, which is on Key 3, it takes
; 2 seconds to cast and 60 secods for recast
;
; The Name is the name of the spell on the KEY you are casting. It is ONLY used for debugging as it will display
; what spell it is casting in the debug window and you can visually see if that is the spell being cast
; Very handy when you code the KEY wrong or move your hot keys around and not sure why the wrong spells are
; going off. You can visually see that you expected to caste a Dust Blast, but a Heal is going off, oopss!
;
; These are both VERY powerful as now you can write your own triggers
; It can be used for simple MASTER commands you want to write, or more sophisticated rules such as responses
; to multi-stage heroic events. You can also use it to do things such as when to cast a MASTER spell.
; If you see you are attacking a certain type of creature, (ie Orcs, skels, zombies),
; put it in CombatResponseSequenceSTR and it will only do these when it sees text that you are attacking them.
; You can think of all kinds of things to do in here. Watch for Spectral Ward wearing off and recast it, setup
; MASTER's asking you for SOW, or a cure or a group heal, etc. Be creative and SHARE your ideas on how you are
; using this so others can think of ideas.
; ------------------------------------------------------------------------------------------------
; These are looked for at any time, always active whether in or out of a fight
ResponseSequenceSTR=SOW Please,qb5,SOW Request,1,4s,15s,MASTER,i am sick,qb1,Cure Noxious,9,1s,8s,MASTER
; These are looked at ONLY during combat - for things like keep your ward on your while fighting,
; Master speels, etc.
; NOTE: You really don't want to use YOURSELF during combat responses as it messes up who is targetted,
; since you can cast a beneficial spell on what you are attacking, just set it to NONE and it will
; cast on yourself by default
CombatResponseSequenceSTR=hits a Bloodskull,qb3,Orc Master Strike,2,2s,60s,TARGET,hits a skel,qb3,Skeleton Master Strike,3,2s,60s,TARGET
[OtherMappedKeys]
; ====================================================
; =Other Mapped Keys ================================
; ====================================================
; These are other mapped keys you must configure not on Quick Bars (Can ONLY be lower case!!!)
; In EQ2 - this is set to target Self
; Found under -> Options/Controls/Targeting Keys/Select Self
; Default is usually F1
TargetFriendlySTR=F1
; Attack Key mapping
; Found under -> Options/Controls/Command Keys/Auto Attack
; Default is usually not set - so set it!
AttackSTR=`
; Found under -> Options/Controls/Command Keys/Consider
; Default is usually not set - so set it!
ConsiderSTR=v
; Target Monsters
; Found under -> Options/Controls/Targeting Keys/Select Next PC
; Default is usually TAB
TargetMonsterSTR=TAB
; In Keyboard setup - used to loot
; Found under -> Options/Controls/Command Keys/Trigger Default Action
GetSTR=q
; Run Lock - toggles run on and off - default is Insert
; Found under -> Options/Controls/Movement Keys/Auto Run(toggle)
; If you hit INSERT in the options menu in game, it shows is <NUMPAD 0>, but you can still set as INSERT in this
; script and it works fine
RunLockSTR=INSERT
; Key to Exit Script
ExitScriptSTR=MBUTTON
; Key to Pause/UnPause Script
PauseToggleSTR=NUMLOCK
; Sprint QB & Key - Used when a member of the party yells for help, you want the bot to Sprint and follow you
; at full speed to try to get away
SprintQB=1
SprintSTR=1
; Manually have the bot find all Master's again - because people can zone, create pet's, etc and not all create
; a trigger event to find everyone's spawnID again, if you see people are missing in the Health window, then
; manually force the bot to reread everyone - doesn't take long. If someone isn't in the healh window, they
; will not be able to issue commands and not be being watched for health to be healed
GetAllMastersSTR=DEL
; You keys mapped to Left/Right turning & Strafing.
TurnLeftSTR=a
TurnRightSTR=d
StrafeLeftSTR=q
StrafeRightSTR=e
[FightingVariables]
; ====================================================
; =Fighting Variables ===============================
; ====================================================
; These are other Variables you need to configure based on how you want to fight
; Do you fight Back if you are in BUFFBOT mode if you are attacked
; By default, you will always fight back if you are in offensive mode
FightBack=TRUE
; Who is your fighting BOT partner - may be the same as heal, but usually a live person
; The name IS case sensitive, so match it exactly or the target will not work
; This is used for the default FOLLOW, who to "talk" to, etc.
; When playing 2 bots, set this to the other bot
FightPartner=~
; Number of Hours until the game auto quits & Logs out - 0 mean unlimited
QuitTimer=0
; 0-100 - how much % health you want to have before you begin a battle.
; You will stay in Recover mode until you hit this %
; If you have problems reading the health, set to 0 to keep the script running until you figure out the problem
PercentHealth=95
; 0-100 - how much % power you want to have before you begin a battle.
PercentPower=90
; Separate with commas, no spaces between entries
; These are the ONLY people who you will respond to for commands
; The name IS case sensitive, so match it exactly or the target will not work
ValidMasters=player1,player2,player3,player4
; Separate with commas, no spaces between entries
; Used to SEARCH for any mobs - not fully implemented yet
SearchForNames=Salvador Smith,Mary Cuttingham
; ================================================================================================
; ================================================================================================
; = The commands from here to the end are for OFFENSIVE bot only
; ================================================================================================
; ================================================================================================
; Used to determine how close you need to be before you start combat. Depends on what you are using in
; InitialCombatSequence and what the range is. Might need some experimentation to get it right.
; If the bot keeps stopping too far away to engage, make this smaller.
; If you set it to 0, it will run right up to a mob before attacking (thought if the mob is aggro, it will
; jump you first and the bot will stop then and there and start fighting)
MaxTargettingDistance=15
; Used to pull mobs back to a safe spot. Right now, the safe spot is defined as your starting loc when you
; start the script. The way it works is the bot will find a mob to fight, go after it, do your InitialCombatSequence
; first item only, turn and run back to safe spot and fight.
; If you turn this option on and the InitialCombatSequence isn’t set, it will ignore the option as you have no set pulling mechanism.
; Good in tough areas where you don't want to dig
; youself in too deep fighting.
; If RandomRunMode below is set to SAMESPOT, this is ignored
PullToSafeSpot=FALSE
; How many kills (it takes +/- 20 %) before we pause for a few mins to look like a real person taking a break?
; Default of 25 is a good number, but up to you!
; Not used for BUFFBOT
PauseAfterThisManyKills=5
; If set to True, randomly after each kill (1 in 3 shot) does some random turn/movement to make it look like
; a person playing... use to help "fool" real people if you are in a populated area scripting
DoLookAlive=TRUE
; If set to TRUE, then well try target monsters via using mouse clicks...
; If set to FALSE, just use Target Closets Monster and then move and try again
; Not used for BUFFBOT
UseMouseScreenTarget=TRUE
; Either WIDE, NARROW, ONCENTER
; If UseMouseScreentarget is set, then do you do a wide mouse sweep or
; narrow - depends on how large the area is you are targetting to fight
; Created when RandomRunMode is SAMESPOT to make camping area easier - not as useful in EQ2
; New option is ONCENTER, which will center on a monster close by and do a single line bottom to top mouse click
; to try to target the monster
; Not used for BUFFBOT
MouseTargetRange=ONCENTER
; RandomRunMode: SAMESPOT, RANDOMSQUARE, RANDOMPOINTS, CLOSESTSCON
; If SAMESPOT, just fight in the same place - good for camps
; RANDOMSQUARE is really just a test mode, so don't use it
; If RANDOMPOINTS, then it will just choose a random points in a circle radius defined below
; If CLOSESTSCON, then it will go towards the closests monster if you have it set to fight them
; Not used for BUFFBOT
RandomRunMode=CLOSESTSCON
; *** Big chagne from all version before v2.6 ***
; Set in LOC POINTS now - was the only thing in seconds with distance, so made it consistent with everything
; When RandomRunMode=RANDOMPOINTS or CLOSESTSCON, this sets the maximum radius you want to run around
; Imagine a circle drawn around you with the radius how far you can run, that is your
; hunting ground. When monsters are spread out, I set this to a high number (maybe 60). When things are
; packed in tight, or there or tougher cons that I don't want to engage, I set it lower (10-15) so my hunting
; circle stays tight.
; When RandomRunMode=RANDOMSQUARE, this sets the size of the square (not used much) - this is a test mode anyway
; Other modes it is just ignored
; Not used for BUFFBOT
RandomRunRange=30
; Number of SECONDS used as a BASE number for when you stop at each CHECKPOINT (no matter the mode) and
; look for a con using the target closet key. If you don't set it or set it to zero, it will do 2-8 seconds
; at each location. If you set it to 1, it will do 1. If you set it to > 1, then it will do the number +- 50%
; For CLOSESTSCON - 5-8 is a good setting. For SAMESPOT - 8-15 is a good setting.
; Not used for BUFFBOT
LookForMonsterTime=5
; If, for some reason, you NEVER want to loot anything, set this to TRUE
; Most people will set it to FALSE as you want to loot!
; Not used for BUFFBOT
NeverLoot=FALSE
; When you reach your loot weight limit (ie. you are being encumbered) stop looting if set to TRUE.
; If set to FALSE, will loot until all slots are full and stacks are full... and you might not be able to move!
; Not used for BUFFBOT
StopLootingWhenFull=TRUE
; Loot X,Y - since you have to click the loot button... where is the button? How do you find this?
; Simple: Kill something until you can loot it, bring the loot window up.
; Now run the built in GetPixelColorDemo.vbs that came with XU, and it will show X, Y coords of the mouse.
; Go to them middle of the button, write down the X, Y coords and put them in here.
LootX=481
LootY=605
; If you are using modified loot UI eq2ui_inventory_loot.xml that allows for the ENTER key to Loot All, then
; set this to TRUE. You can IGNORE LootX,Y in this case as they will not be used
; If you are NOT using the modified UI, set to FALSE and make sure the LootX,Y are setup to click the loot
UsingModifiedLootUI=TRUE
; You do not need to put anything in this list, the script will create and update the INI as it finds
; objects that are not attackable. The purpose it to keep the bot from trying to "consider" these objects each
; time it targets them - since the bot can see the name, it will compare and just quickly skip them.
; It is also used in the retrieval of valid mob targets - sometimes things come up that are not attackable, but have
; a level that fits into your fighting range, but comparing to this list, they will not be a valid target the bot
; will try to run to
NonAttackableObjects=a Bit of Flotsam
[FightMonsters]
; ====================================================
; = Color Con Monsters to Fight & Herioc ops =========
; ====================================================
; Do we Fight this con?
FightGray=FALSE
; What level of Heroics do we fight
; 0 mean only fight normals or below
; 1 means fight single ups (^) or below
; 2 means fight double ups (^^) or below
; 3 means fight it all!
; Of course it is ignored if the FightCOLOR is set to FALSE
FightGrayLevel=3
FightGreen=TRUE
FightGreenLevel=1
FightBlue=TRUE
FightBlueLevel=1
FightWhite=TRUE
FightWhiteLevel=0
FightYellow=FALSE
FightYellowLevel=0
FightOrange=FALSE
FightOrangeLevel=0
FightRed=FALSE
FightRedLevel=0