Modified hunter script?

Macro requests from before the user variable changes that broke all macros

Moderator: MacroQuest Developers

dawnoffatex
a lesser mummy
a lesser mummy
Posts: 41
Joined: Sun Aug 10, 2003 8:24 pm

Modified hunter script?

Post by dawnoffatex » Mon Aug 25, 2003 1:57 am

Ok, i look around and I see alot of hunter scripts, which are primarily "do the job for you" (at least it seems this way?)

I assume, that for melee's , this means that it will go auto attack the mob, do neccesary skills, attacking etc.

I was curious as to if there was a way to edit it down to be very basic? I looked through the shadowknight hunter script, but cant seem to pick out the code that keeps it on the mob. All id be looking for is something that basically *stuck* to the mob, ie: /face /face attack, and bashed at regular interval (6 seconds i think? 7 maybe?) Moreso to retain dps with my tank, as for anything else. (So i can be attending to other matters on other characters, and know at least the primary function of my shadowknight is being performed)

User avatar
grimjack
Macro Author
Macro Author
Posts: 525
Joined: Thu Nov 07, 2002 6:51 am
Contact:

Re: Modified hunter script?

Post by grimjack » Mon Aug 25, 2003 3:43 am

dawnoffatex wrote:Ok, i look around and I see alot of hunter scripts, which are primarily "do the job for you" (at least it seems this way?)

I assume, that for melee's , this means that it will go auto attack the mob, do neccesary skills, attacking etc.

I was curious as to if there was a way to edit it down to be very basic? I looked through the shadowknight hunter script, but cant seem to pick out the code that keeps it on the mob. All id be looking for is something that basically *stuck* to the mob, ie: /face /face attack, and bashed at regular interval (6 seconds i think? 7 maybe?) Moreso to retain dps with my tank, as for anything else. (So i can be attending to other matters on other characters, and know at least the primary function of my shadowknight is being performed)
The hunter scripts are not best suited for what you want. They are designed to automaticly target the nearest mob from a list , move to it, kill it, loot specific things off of it, and repeat. If I understand what you want, this rogue macro I used should be able to be easily modified for any non caster melee. I removed all rogue specific code. Make sure you edit the sub do-abilities section. You run this macro when you log the character on. It just sits and waits untill you target something and turn on attack. It will then move to keep in melee range, and do the abilities specified. Once the target dies or the target is lost it goes back to waiting. So basicly all you have to do is target and turn on attack and it will go to town leaving you free to controll the other characters.

Oh yeah, please read all the coment fields(Lines that start with |) before asking any questions.

Code: Select all

| melee.mac

#define RangeMin v50
#define RangeMax v51
#define FastRange v52

#Turbo 72
#define Combatstatus v60
#define CastTimer t1
#define EnrageVar v61
#Event Enraged "has become ENRAGED"
#Event Offrage "is no longer enraged"

Sub Main
   |Change this to what you want the minimum range to be.
   /varset RangeMin 13
   |Change this to what you want the maximum range to be.
   /varset RangeMax 15
   |This is the range that it stops using /press to move twords the mob.
   /varset FastRange 20
   /varset Combatstatus 0
   /varset EnrageVar 0
   :Mainloop
   /call Combatcheck
   /if $Combatstatus=="1" /call RangeSub
   /if $Combatstatus=="1" /call Do-Abilities
   /doevents
   /goto :Mainloop
/return

Sub Do-Abilities
|Edit this to add a class ability like kick or bash.  
|If you want multiple abilities copy and past it as specified.
|Copy start here
   /if n $char(ability,"[b]Name of Ability[/b]")!=-2 {
      /if $target()=="TRUE" {
         /face fast nopredict
         /doability "[b]Name Of Ability[/b]"
      }
   }
|Copy end here
|Paste here to add ability.

/return

Sub Combatcheck
   /if $EnrageVar=="1" {
      /if $target()=="TRUE" {
         /return
      } else {
         /varset EnrageVar 0
         /varset Combatstatus 0
      }
   }
   /if $target()=="FALSE" {
      /varset Combatstatus 0
      /if $combat=="TRUE" {
         /attack off
      }
      /return
   }
   /if $target()=="TRUE" {
      /if $combat=="TRUE" {
         /varset Combatstatus 1
         /return
      }
   }
   /varset Combatstatus 0
/return

Sub Rangesub
   /face fast nopredict
   /if n $target(distance)>=$FastRange /call Fastmove
   /if n $target(distance)>$RangeMax {
      /press up
   }
   /if n $target(distance)<$RangeMin {
      /press down
   }
/return

Sub Event_Enraged
   /if $target()=="TRUE" {
      /varset EnrageVar 1
      /attack off
   }
/return

Sub Fastmove
   :fastmoveloop
   /if $target()=="FALSE" {
      /varset Combatstatus 0
      /sendkey up up
      /if $combat=="TRUE" {
         /attack off
         /return
      }
   }
   /face fast nopredict
   /if n $target(distance)>$FastRange {
      /sendkey down up
      /attack off
   }
   /if n $target(distance)<=$FastRange {
         /if $Combatstatus=="1" {
            /if $EnrageVar=="0" {
               /attack on
            }
         }
      /sendkey up up
      /return
   }
   /goto :fastmoveloop
/return

Sub Event_Offrage
   /if $target()=="TRUE" {
         /varset EnrageVar 0
         /attack
      }
   }
/return
Enjoy
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

Mutter
a ghoul
a ghoul
Posts: 105
Joined: Sat Nov 16, 2002 1:09 pm

LI advice

Post by Mutter » Wed Aug 27, 2003 10:13 am

Sorry it's been SOOOOO long everyone. After the debacle with "gold" I gave MQ a break. (and yes i donated so don't flame me)

ANyhow, the only error I see in this script is the same one I ALWAYS make.

Guys make SURE yer bot's do a stand before ya do /face
otherwise is very hard to explain how your rotating while sitting down.