monkgroup.mac

Macro depository for macros written before the user variable changes that broke all of them.

Moderator: MacroQuest Developers

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

monkgroup.mac

Post by L124RD » Sat Jun 15, 2002 2:00 pm

Salutations,
This macro has an amount of paramaters: person to assist, safeloc and camploc. if you get those then the macro should run fine. You will still have to walk the monk back to the camp however if he dies. Maybe I'll add this in the next update... You run it with the paramaters like:

Code: Select all

/macro groupmonk.mac l124rd 830,2571 990,2639 orc
(those coords are ones that work at orc1 in ec, thats where i tested the macro for the most part ^.^)

Code: Select all

| monkgroup.mac
| Assists, goes to a safe place to sit and faces the camp... pretty simple
| syntax: /macro monkgroup.mac <persontoassist> <safeloc> <camploc> [corpsesubstring]
|  persontoassist - A PC which the macro will assist in fighting
|  safeloc - The place away from the camp where it is safe to sit down and rest
|  camploc - When sitting down, you want to face the camp that way it actually looks
|   like your there...
|  corpsesubstring - If this is contained in the corpses name, loot it, if its not, don't
| ----------------------------------------------------------------------------------
|  Written by: L124RD

#include routines.mac

sub main
/mqlog monkgroup.mac starting...
/varset v4 $char(level)
/varset v0 0
:grouploop
  /if n $char(level)>$v70 /call ding
  /if n $hp(pct)<50 /goto :resting
  /assist $q0
  /if "$target()"!="FALSE" /if "$target(type)"=="NPC" /call AttackAndFollow
  /if "$target()"!="FALSE" /if "$target(type)"!="NPC" /goto :corpseloot
  /if "$target()"=="FALSE" /goto :corpseloot
  /goto :grouploop

:corpseloot
 /target corpse $q3
 /if "$target()"!="FALSE" /call autoloot
 /if "$target()"=="FALSE" /goto :resting
 /goto :grouploop

:resting
  /sendkey down up
:restloop
  /if n $v0==0 /face loc $q1
  /if $distance($q1)<5 /goto :restloop

  /sendkey up up
  /delay 2
  /face loc $q2
  /delay 2

  /if n $v0==0 /sit
  /if n $v0==0 /varset v0 1
  /if n $v0==0 /mqlog resting...
  /goto :grouploop

/return

Sub AttackAndFollow
/mqlog Fighting $target(name). It is level $target(level).
/varset s0 $target(name)
/varset v3 $target(id)
/stand
/delay 3
/face
/sendkey down up
/attack on
:CloserAF
  /if "$target(id)"!="$v3" /goto :EndAF
  /if n $target(distance)>20 /sendkey down up
  /if n $target(distance)<11 /sendkey down down
  /if n $target(distance)<21 /sendkey up up
  /if n $target(distance)>10 /sendkey up down
  /doability 9
  /doability 8
  /doability 7
  /face
  /goto :CloserAF

:EndAF
  /mqlog $s0 is dead
  /sendkey up up
  /attack off
  /varset v0 0

/return

Sub AutoLoot
   /if $target(distance)<75 /goto :continue
   /stand
   /mqlog Looting $taget(name)
   /face
   /if n $target(distance)<15 /goto :CloseEnough
   /call AutoRun 1
   /varset t0 3m
   :CloserAL
      /face
   /if n $target(distance)>14 /if n $t0>0 /goto :CloserAL

   :CloseEnough
   /call AutoRun 0
   /loot
   /Delay 10
   /for v10 0 to 9
      /Delay 5
      /click left corpse $v10
      /Delay 10
      /if "$cursor(name)"=="NULL" /goto :continue
      /if "$target(name)"~~$char(name) /click left auto
      /if n $cursor(weight)>5 /click left destroy
      /if n $cursor(value)<10 /click left destroy
      /mqlog looting $curosr(name). it has a value of $cursor(value).
      /if n $cursor(value)>9 /click left auto
      /delay 4
      /delay $rand(5)
   /next v10
   :continue
   /delay 5
   /delay $rand(5)
   /press esc
/return

sub ding
/varset v70 $char(level)
/groupsay Ding, level $char(level)!
/return
Last edited by L124RD on Sun Jun 16, 2002 12:40 am, edited 2 times in total.

Plazmic
The One
The One
Posts: 800
Joined: Fri Jun 14, 2002 12:31 am
Contact:

Idea for more realism

Post by Plazmic » Sat Jun 15, 2002 5:07 pm

Code: Select all

/varset v70 $char(level)
...
/if n $char(level)>$v70 /call Ding
...
Sub Ding
   /varset v70 $char(level)
   /groupsay Ding, level $char(level)!
/return
- Plazmic

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Sat Jun 15, 2002 8:17 pm

Salutations,
Edited the above macro with Plazmics changes. I never thought of making it tell them the level.

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Sun Jun 16, 2002 12:40 am

Salutations,
Another update to this macro changes listed below:
  • Will not fight if under 50% hp.
    Will loots corpses if no mobs are left.
    Will only loot corpses less then 75 clicks away.
    Will sit, then not execute the /sit command again.
    Will not keep looking between the sit point and the look point.
    MQLog support.
    Syntax Update: corpse substring

azwildfire
Contributing Member
Contributing Member
Posts: 72
Joined: Fri Jul 05, 2002 5:12 am
Location: Phoenix arizona
Contact:

Ranger's need love too!

Post by azwildfire » Tue Jul 09, 2002 11:36 am

I am semi new to all this. What i have seen of this program is amazing, do you have a "donate" box i could contribute to? even if not much?

a few questions that relate to this macro, could you set one up so that it uses your current loc as the safe point, and the direction you are facting as being the camp direction? making it simply /macro monkgroup.mac <person-to-assist>

or maybe a tuant toggle too! :)

and other question, can macroquest tell what buffs a character has?

Thank you again for this great utility!

p.s. i took this and changed this part, in hopes of when in a group that has a puller who is also main assist, i don't go wandering off

:grouploop
~~~~~~
/assist $q0
/if n $target(distance)>100 /goto :resting
~~~~~~

will that work?
Thank you

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Tue Jul 09, 2002 1:30 pm

Salutations,
um... i don't even think it works with MQ right now... I"m working on fixing it... it should...,

azwildfire
Contributing Member
Contributing Member
Posts: 72
Joined: Fri Jul 05, 2002 5:12 am
Location: Phoenix arizona
Contact:

Post by azwildfire » Tue Jul 09, 2002 6:01 pm

i thought it was jus tme. just spend the last 2 days trying to find out how to get rid of the
FACE: loc specified but <y>,<x> not found.

so does that mean none of these work with MQ? or just this one?

Thank you

Banned_From_EQ
orc pawn
orc pawn
Posts: 16
Joined: Mon Jun 24, 2002 7:01 pm

does this still work

Post by Banned_From_EQ » Thu Nov 28, 2002 11:20 pm

does it still work with recent macroquest changes?

Iceassassin
a lesser mummy
a lesser mummy
Posts: 49
Joined: Tue Nov 05, 2002 11:40 am

?

Post by Iceassassin » Fri Nov 29, 2002 10:21 pm

How come mine are all txt files and urs are .mac? WHat is wrong with me?!?!?!

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Sat Nov 30, 2002 2:11 am

Salutations,
you mean extension wise? I have notepad in send-to so I just right click > send to > notepad and boom, i edit, close, test... or you could change the mime type, or file extension association... or a bunch of other shit...

Iceassassin
a lesser mummy
a lesser mummy
Posts: 49
Joined: Tue Nov 05, 2002 11:40 am

does it matter?

Post by Iceassassin » Sat Nov 30, 2002 4:39 pm

L124|2|),

Does it matter if its .mac or .txt?

User avatar
L124RD
Site Admin
Site Admin
Posts: 1343
Joined: Fri Jun 14, 2002 12:15 am
Location: Cyberspace
Contact:

Post by L124RD » Sun Dec 01, 2002 4:51 am

Salutations,
This should fix alot of bugs you're having... this is written before $p#, back when we had $q#

Code: Select all

| monkgroup.mac
| Assists, goes to a safe place to sit and faces the camp... pretty simple
| syntax: /macro monkgroup.mac <persontoassist> <safeloc> <camploc> [corpsesubstring]
|  persontoassist - A PC which the macro will assist in fighting
|  safeloc - The place away from the camp where it is safe to sit down and rest
|  camploc - When sitting down, you want to face the camp that way it actually looks
|   like your there...
|  corpsesubstring - If this is contained in the corpses name, loot it, if its not, don't
| ----------------------------------------------------------------------------------
|  Written by: L124RD

#include routines.mac

sub main
/mqlog monkgroup.mac starting...
/varset v4 $char(level)
/varset v0 0
:grouploop
  /if n $char(level)>$v70 /call ding
  /if n $hp(pct)<50 /goto :resting
  /assist $p0
  /if "$target()"!="FALSE" /if "$target(type)"=="NPC" /call AttackAndFollow
  /if "$target()"!="FALSE" /if "$target(type)"!="NPC" /goto :corpseloot
  /if "$target()"=="FALSE" /goto :corpseloot
  /goto :grouploop

:corpseloot
/target corpse $p3
/if "$target()"!="FALSE" /call autoloot
/if "$target()"=="FALSE" /goto :resting
/goto :grouploop

:resting
  /sendkey down up
:restloop
  /if n $v0==0 /face loc $p1
  /if $distance($p1)<5 /goto :restloop

  /sendkey up up
  /delay 2
  /face loc $p2
  /delay 2

  /if n $v0==0 /sit
  /if n $v0==0 /varset v0 1
  /if n $v0==0 /mqlog resting...
  /goto :grouploop

/return

Sub AttackAndFollow
/mqlog Fighting $target(name). It is level $target(level).
/varset s0 $target(name)
/varset v3 $target(id)
/stand
/delay 3
/face
/sendkey down up
/attack on
:CloserAF
  /if "$target(id)"!="$v3" /goto :EndAF
  /if n $target(distance)>20 /sendkey down up
  /if n $target(distance)<11 /sendkey down down
  /if n $target(distance)<21 /sendkey up up
  /if n $target(distance)>10 /sendkey up down
  /doability 9
  /doability 8
  /doability 7
  /face
  /goto :CloserAF

:EndAF
  /mqlog $s0 is dead
  /sendkey up up
  /attack off
  /varset v0 0

/return

Sub AutoLoot
   /if $target(distance)<75 /goto :continue
   /stand
   /mqlog Looting $taget(name)
   /face
   /if n $target(distance)<15 /goto :CloseEnough
   /call AutoRun 1
   /varset t0 3m
   :CloserAL
      /face
   /if n $target(distance)>14 /if n $t0>0 /goto :CloserAL

   :CloseEnough
   /call AutoRun 0
   /loot
   /Delay 10
   /for v10 0 to 9
      /Delay 5
      /click left corpse $v10
      /Delay 10
      /if "$cursor(name)"=="NULL" /goto :continue
      /if "$target(name)"~~$char(name) /click left auto
      /if n $cursor(weight)>5 /click left destroy
      /if n $cursor(value)<10 /click left destroy
      /mqlog looting $curosr(name). it has a value of $cursor(value).
      /if n $cursor(value)>9 /click left auto
      /delay 4
      /delay $rand(5)
   /next v10
   :continue
   /delay 5
   /delay $rand(5)
   /press esc
/return

sub ding
/varset v70 $char(level)
/groupsay Ding, level $char(level)!
/return

Yalp
a ghoul
a ghoul
Posts: 90
Joined: Thu Dec 05, 2002 6:28 pm

Ehh.. :p

Post by Yalp » Sun Dec 08, 2002 1:55 am

Ive tried and tried.. me and my friend were duoing in the grey and i thought this would be fun so i could watch tv and exp on my monk lol.. well i cannot get the damn thing to work i dont kno whats wrong the monk keeps running up against the zone wall.. not sure what the problem is but i cannot get this to work :/ [/code]