A forum for you to dump all the macros you create, allowing users to use, modify, and comment on your work.
Moderator: MacroQuest Developers
-
grimjack
- Macro Author

- Posts: 525
- Joined: Thu Nov 07, 2002 6:51 am
-
Contact:
Post
by grimjack » Wed Oct 08, 2003 2:45 pm
mackster wrote:How do you set the healing thresholds? For example when I run this on my druid it heals at about 45%. How could i make it heal at say, 75%?
Thanks.
All of the variables that you can set are close to the begining of genbot.mac.
These are the ones you would want to change specificly:
Code: Select all
/varset CasterPctHeal 51
/varset TankPctHeal 51
/varset PetPctHeal 51
When they come to me, they're in trouble, or they want some. I bust people out of prison, hunt down vampires, fight alien gods -- All the fun jobs people are too squeamish or too polite to do themselves.
Call me a mercenary. Call me an assassin. Call me a villain. I am all that and more.
My name's John Gaunt, but out on the streets of Cynosure, I am called...
GrimJack
-
grimjack
- Macro Author

- Posts: 525
- Joined: Thu Nov 07, 2002 6:51 am
-
Contact:
Post
by grimjack » Wed Oct 08, 2003 2:49 pm
RogerWilco wrote:Grimjack...
Petattack works perfect now with Verson 6.2
I was wondering ... I have been looking at the Sub Do-sn in the botspell.inc ... and trying to figure out ... if my boT starts melee attacking and I cast a spell the BoT stops melee attacking.... is there a way once you initiate the melee attack even if you cast a spell in the middle of the melee attack the BoT goes back to melee attack
I also noticed once I cast a spell the BoT de-selects the target
Sub Do-sn
/assist @MasterName
/delay 5
/if $defined(Param1)==FALSE { {
/return
} else /if $defined(Param2)==FALSE {
/tell "@MasterName" Casting @Param1 on %T
/call SpellSub "@Param1"
} else /if $defined(Param3)==FALSE {
/tell "@MasterName" Casting @Param1 @Param2 on %T
/call SpellSub "@Param1 @Param2"
} else /if $defined(Param4)==FALSE {
/tell "@MasterName" Casting @Param1 @Param2 @Param3 on %T
/call SpellSub "@Param1 @Param2 @Param3"
} else {
/tell "@MasterName" Casting @Param1 @Param2 @Param3 @Param4 on %T
/call SpellSub "@Param1 @Param2 @Param3 @Param4"
}
/stand
/if n @SitAfterCast==1 /sit on
/press esc
/return
SO... after saying all that... if I was to replace
/press esc
with
/attack on
only makes sence the BoT will keep attacking untill the mob is dead, but on the flip side the BoT will try to attack a PC after the BoT buff someone.
Any suggestions on correcting that or am I being too picky and just need to be thankful (which I am) of what I already have :P
The SN command isn't designed to be used in melee combat. You will want to make your own command for that. The macro is designed to allow easy additions of your own commands via the personal.inc file.
Thanks
GrimJack
When they come to me, they're in trouble, or they want some. I bust people out of prison, hunt down vampires, fight alien gods -- All the fun jobs people are too squeamish or too polite to do themselves.
Call me a mercenary. Call me an assassin. Call me a villain. I am all that and more.
My name's John Gaunt, but out on the streets of Cynosure, I am called...
GrimJack
-
RogerWilco
- a ghoul

- Posts: 86
- Joined: Thu Aug 28, 2003 4:05 am
Post
by RogerWilco » Wed Oct 08, 2003 6:31 pm
Grim...
in the botcore.inc you have
Sub Do-petback
/pet backoff
/return
It needs to be
Sub Do-petback
/pet back off
/return
Tested and confirmed... it works
-
Consilium
- Contributing Member

- Posts: 100
- Joined: Wed Oct 02, 2002 10:42 pm
Post
by Consilium » Thu Oct 09, 2003 2:16 am
Is spellsub working for you guys?
-SH
+Student
digitalsavior.com
-
RogerWilco
- a ghoul

- Posts: 86
- Joined: Thu Aug 28, 2003 4:05 am
Post
by RogerWilco » Fri Oct 10, 2003 9:50 am
as of the 10/10 download
any sn routine is not working.....
in the Do-sn the bot will stand... mem the spell... select target ... say what spell is being requested but will not cast the spell (any spell for that matter)
First off I want to say by no means or in any way do I understand how these macros work

but from looking that the Do-sn .... it seems to me that every event in do-sn is working except spellsub ...my guess from what I am seeing is there is something not right with the Spellsub
From Consilium post seems like I am not the only one that is having this issue.....
-
greggor
- orc pawn

- Posts: 28
- Joined: Tue Jun 17, 2003 2:30 pm
Post
by greggor » Fri Oct 10, 2003 11:37 am
Great code btw it has taken me weeks to work out the nuances of it I can't imagine the time/effort put into writing it...
Here are some suggestions.
1.) Move all user defined variables from genbot.mac to personal.inc, that way when you make a slight modification we don't have to redo those variables plus all our variables that we are "allowed" to play with are in one place. (of course we are allowed to change anything we want, but only if you know what you are doing...) Also with that idea perhaps make a seperate smaller macro file that basically says use personalx.inc and run genbot.inc... that way we could change a small macro and rename it cleric/enchanter/warrior/ etc etc to use different personal.inc files with the main genbot.mac code. The idea being that I can come here and update my genbot.inc (currently genbot.mac) without having to change my personal settings at all ... I dream of copy/paste/save. and just run from there without having to change anything for my personal settings. Just a thought that you may want to explore.
2.) When using as a healer I find that sometimes I get stuck at a spell... the easiest way to replicate this is to use a manastone to drop the healers health... if you quickly spam the stone you will get stuck somewhere in spellsub where you are waiting for a greyed out gem to come back but the macro thinks that you have already begun casting (I think). I encountered similar problems with a much older version (2 or so) that I had been using up untill the variable change and here is what I did to fix it. My additions are marked with *** at the end.
Sub SpellSub
:beginspell***
/sendkey up up
/if n Combatstatus==1 /delay 3s
/varset Fail 0
/varset SpellName "$p0"
/varset SpellSlot "$char(gem,"$SpellName")"
/varset CastTime "$spell("$SpellName",casttime)"
/if n $SpellSlot<0 {***
/delay 1***
/goto :beginspell***
}***
:BeginCast
/varset DoAgain 0
/varset StartCast 0
/if n $SpellSlot<0 {***
/delay 1***
/goto :beginspell***
}***
/call WaitForStart
:TimerLoop
/doevents
/if n $DoAgain==1 /goto :BeginCast
/if n $Fail==1 /return
/doevents
/if n $DoAgain==1 /goto :BeginCast
/if n $Fail==1 /return
/if n $CTimer>0 /goto :TimerLoop
/delay 2
/doevents
/if n $DoAgain==1 /goto :BeginCast
/return
A bit sloppy and repetitive but it seemed to work better with the repeats than without. This same addition did not seem to work with the new spellsub (oct 3 version)
3.) The way I read the code multi word personal commands (IE lets kill this) will not work with the array type command matrix... am I correct? if there is a way to get multi word commands to work (within the array) I'd appreciate a suggestion... how about multi word commands not using the array in personal.inc instead of having to add them to my sub event_chat line I don't see that happening as far as my limited experience can devise it.
4.) Now that we have access to unlimited masters, can we set it with No master? Such that anyone can control the bot? and if so can we still have non-command text will still be forwarded to a pseudo master? I'm sure that would take a little while and may not be worth it.
Just some thoughts I had to make it more user friendly/smoother. Once again great product I use it regularly and it helps much.
-
chickenisgoot
- a ghoul

- Posts: 84
- Joined: Tue Oct 07, 2003 10:52 am
Post
by chickenisgoot » Fri Oct 10, 2003 12:16 pm
RogerWilco wrote:as of the 10/10 download
any sn routine is not working.....
issue.....
Its an issue with the $char(gem,Spellname), it returns -2 whether the spell is memmed or not. If you put in any debugging you will see that the script just sits in a loop waiting for the spell to be memmed.
I have changed my spellsub to use the /cast "spellname" functionality in MQ and it works fine.
-
RogerWilco
- a ghoul

- Posts: 86
- Joined: Thu Aug 28, 2003 4:05 am
Post
by RogerWilco » Fri Oct 10, 2003 12:39 pm
Chickenisgoot
do you have your updated subspell... I can't figure out how to do that....
<<< UPDATED>>>>
I figured it out... I think
-
LordGiddion
- a snow griffon

- Posts: 352
- Joined: Sat Sep 13, 2003 6:12 pm
-
Contact:
Post
by LordGiddion » Fri Oct 10, 2003 11:35 pm
Grimjack feel free to take from my ideas as you see fit, the best project come from multiple minds. I'm gonna edit my earlier post to update my personal.inc - Fixed a couple of things, including a small improvment to the aggresive script and the targeting lines in the farming code (was broken by last update to /target). Enhancments including some better casting logic on combat casting and pulling cababilites (note if using puller logic you need to anchor the bot first)
Some things I'd like to point out to Grimjack, if you look at the Cmds routine in my new personal.inc I think you might find the script there a bit better way to pass the commands back. Please think about changing your bothealer.inc with the changes I made. Moving the targeting from the seperate cast routines into the main health check routine avoids some of the miscasts that the base script does and also make the cast routines usable by other routines such as my pl routine. 1 last "enhancment" in my version of the code, I copied the Obsticle detection logic from moveto into the FastMove logic (with a check that the obsticle check only runs when the target is outside the fastmove range) and the MoveToAnchor logic which stops the bot from getting caught in trees. Oh and another suggestion, not one that effects my personal.inc - but that I thought of. Do-Stop should call a standard routine in personal.inc in case the user's personal file has settings that should be cleared on stop.
Greggor,
Just a quick note, by having the customized setting in the Mac file rather then personal.inc I have seperate Mac file for my shaman, my cleric and my sk named cleric.mac and such that set the variables to what that class needs.
-
greggor
- orc pawn

- Posts: 28
- Joined: Tue Jun 17, 2003 2:30 pm
Post
by greggor » Sat Oct 11, 2003 1:19 am
First you should replace in botheal.inc...
/if $spawn($group(@GroupMember),class)=="Magie" /call Casterheal
with
/if $spawn($group(@GroupMember),class)=="Magician" /call Casterheal
2ndly... in botcore.inc...
Sub Do-follow
/varset Afollow 0
/varset FollowTarget "NULL"
/target @MasterName
/face
/follow
/tell @MasterName Autofollow on %t.
/return
Needs a /sit off thrown in there
3rdly Giddeon the way I have it set up is I have a cleric a warrior and a enchanter macro.. named cleric.mac, warrior.mac, and ench.mac (all based off genbot, including edited variables) then I edited the personal.inc to have a personalcleric.inc, personalwarrior.inc, and personalench.inc which have my class specific subroutines/commands inside... it seems to me that if we moved all those variables to our differeng personal incs and then made a supershort macro that basically #included the proper personal.inc and all the other inc files including genbot.inc... then it will run the genbot sub main... This will theoretically make it completely modular... if grim or somone updates the botspell.inc or the genbot.inc we could switch it out and it would be switched for all your submacros... instead of having to redo the variables and #include commands...
Anyway Good luck :)[/quote]
-
grimjack
- Macro Author

- Posts: 525
- Joined: Thu Nov 07, 2002 6:51 am
-
Contact:
Post
by grimjack » Sat Oct 11, 2003 6:16 pm
Added stand to the follow command. I also took your suggestion of moving the user configurable vars to the personal file. I have not had a chance to look into the bothealer.inc tha was posted but I plan on looking into that as soon as I can. Don't expect any major updates in the next week. I will be relaxing and actualy plalying eq for a bit hehe.
Thanks
When they come to me, they're in trouble, or they want some. I bust people out of prison, hunt down vampires, fight alien gods -- All the fun jobs people are too squeamish or too polite to do themselves.
Call me a mercenary. Call me an assassin. Call me a villain. I am all that and more.
My name's John Gaunt, but out on the streets of Cynosure, I am called...
GrimJack
-
Rassilon
- a lesser mummy

- Posts: 73
- Joined: Thu Sep 04, 2003 6:34 pm
Post
by Rassilon » Sat Oct 11, 2003 8:00 pm
I can't see that I need to edit anything on the macro but yet it doesn't work when I try to run it. I use: /macro genbot joebob and it says the macro has ended and cleared .. blahblahblah..
Any ideas?
Thanks,
Rass
-
grimjack
- Macro Author

- Posts: 525
- Joined: Thu Nov 07, 2002 6:51 am
-
Contact:
Post
by grimjack » Sat Oct 11, 2003 8:07 pm
Rassilon wrote:I can't see that I need to edit anything on the macro but yet it doesn't work when I try to run it. I use: /macro genbot joebob and it says the macro has ended and cleared .. blahblahblah..
Any ideas?
Thanks,
Rass
Did you try to send any commands to the bot from the master? The variables are cleared with /zapvars at the begining of the macro. If you had a macro running when you ran the bot it will say the current macro has ended. Since it didn't spew line numbers for errors I would imagine that it's running. Try it again and this time from joebob do a /tell botname cmds.
If you don't get any response you truely have a problem. Post the version of each file you are using and the date and I will look into it. I have not tested the newest posted version with the variables located in the personal.inc file but I don't see any reason it should not work.
Thanks
GrimJack
When they come to me, they're in trouble, or they want some. I bust people out of prison, hunt down vampires, fight alien gods -- All the fun jobs people are too squeamish or too polite to do themselves.
Call me a mercenary. Call me an assassin. Call me a villain. I am all that and more.
My name's John Gaunt, but out on the streets of Cynosure, I am called...
GrimJack
-
grimjack
- Macro Author

- Posts: 525
- Joined: Thu Nov 07, 2002 6:51 am
-
Contact:
Post
by grimjack » Sat Oct 11, 2003 8:14 pm
Just tested new version with the vars in personal and it worked so there must be something you are doing on your end.
When they come to me, they're in trouble, or they want some. I bust people out of prison, hunt down vampires, fight alien gods -- All the fun jobs people are too squeamish or too polite to do themselves.
Call me a mercenary. Call me an assassin. Call me a villain. I am all that and more.
My name's John Gaunt, but out on the streets of Cynosure, I am called...
GrimJack
-
Rassilon
- a lesser mummy

- Posts: 73
- Joined: Thu Sep 04, 2003 6:34 pm
Post
by Rassilon » Sun Oct 12, 2003 3:15 am
Thanks, got it working. How can I get it to loot the whole corpse once rezed? I use the command to loot but it only loots 5 or 6 items then stops. I have to tell it to loot corpse 3 times to loot the whole thing.
THanks,
Rass