auto puller -

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

User avatar
unknownerrors
a ghoul
a ghoul
Posts: 133
Joined: Tue Oct 12, 2004 7:00 am
Location: Las vegas USA

auto puller -

Post by unknownerrors » Sat Apr 02, 2005 8:06 am

i noticed someone posted a ranger auto pulling macro the otherday, i got rather pissed when i tried to use it cause it didn't work.. so i made this thing.. will work for any class, cause it just gonna walk up to the closest mob to you smack it and run back to camp.

if it doesn't work for you.. well i dont claim to really know awhole lot about this stuff yet so Gluck getting some help on the boards if you have issues with it.

Code: Select all

    |** Unknownerror's first macro - 
Credits to robdawg and his hunter macro, this uses a load of code from it. screwju and the AFK Looting Macro all of the returning to group code is from that, lastly Fluffy and the Bard Auto Aquire Target Macro had to snag some of the auto targeting code from it..  

usage: /macro pull.mac 
Note: the loc you start the macro at will be the loc you auto pull the mobs you find back to. so dont start the macro till your grp is at camp and gtg. **| 

Sub Main

   |------------------------------------------------------------
   |How many times should aquire target fail before delaying?
   |------------------------------------------------------------
   /declare RV_FailMax          int outer  3
   |------------------------------------------------------------
   |How far would you like to target a mob?
   |------------------------------------------------------------
   /declare RV_MaxRadius        int outer  150
   |------------------------------------------------------------
   |How far is the combat range?
   |------------------------------------------------------------
   /declare RV_Range            int outer 10
   |------------------------------------------------------------
   |What is the minimum Z Value of mobs I should target?
   |------------------------------------------------------------
   /declare RV_MinZRange        int outer  -1000
   |------------------------------------------------------------
   |What is the maximum Z Value of mobs I should target?
   |------------------------------------------------------------
   /declare RV_MaxZRange        int outer  1000

   |------------------------------------------------------------
   |Variables that you don't need to worry about.
   |------------------------------------------------------------

   /declare RV_FailCounter      int outer  0
   /declare RV_MyTargetID       int outer  0
   /declare RV_MyTargetName     string outer
   /declare RV_MyTargetDead     int outer  0
   /declare RV_InvalidTargetID  int outer  0
   /declare RV_HasTarget        int outer  0
   /declare RV_RandomWait       int outer  0
   /declare RV_LootSlot         int outer  0
   /declare RV_CheckLook        int outer  0
   /declare RV_Fighting         int outer  0
   /declare RV_TargetDead       int outer  0
   /declare RV_MyXLOC           int outer  0
   /declare RV_MyYLOC           int outer  0
   /declare AnchorX int outer ${Me.X}
   /declare AnchorY int outer ${Me.Y}
   
   /declare RV_FastRange        int outer
   /declare RV_RangeMax         int outer
   /declare RV_RangeMin         int outer
   /varcalc RV_FastRange ${RV_Range}+3
   /varcalc RV_RangeMax ${RV_Range}+1
   /varcalc RV_RangeMin ${RV_Range}-1

   :Start
   /doevents
   /call GMCheck
   /call GetTarget

   :KillAdds
   /if (${RV_HasTarget}) /call MoveToMob
   /if (${RV_HasTarget}) /call CombatSub
   /if (${RV_HasTarget}) /call MoveToMob
   /if (${RV_HasTarget} && (${Defined[RV_LootArray]} || ${RV_LootAllItems})) /call LootMob
   /if (${RV_DisplayStats}) /call DisplayStats
   /call ResetSub

   /varset RV_RandomWait ${Math.Rand[5]}
   /varcalc RV_RandomWait ${RV_RandomWait}+1
   /echo Paranoia - Waiting ${RV_RandomWait} seconds before resuming
   /delay ${RV_RandomWait}s
   
   /if (${Target.ID}) {
      /echo Looks like something is attacking us, killing it...
      /delay 1s
      /varset RV_HasTarget 1
      /varset RV_Fighting 1
      /goto :KillAdds
   }
   
   /goto :Start
   
/return

|--------------------------------------------------------------------------------
|SUB: Aquire Target
|--------------------------------------------------------------------------------
Sub GetTarget

   /declare RV_CurrentRadius   int local
   /declare RV_TargetSub   int local
   :Acquire
   /for RV_CurrentRadius 100 to ${RV_MaxRadius} step 100
      /for RV_TargetSub 1 to ${RV_MobArray.Size}
         /squelch /target ID ${NearestSpawn[1, npc].ID}
         /varset RV_MyTargetID ${Target.ID}
         /varset RV_MyTargetDead 0
         /if (${Target.ID}) {
            /if (${Int[${Target.PctHPs}]}<100) {
               /echo Mob NOT a Full Health, picking another...
               /varset RV_InvalidTargetID ${Target.ID}
               /call ResetSub
               /goto :Acquire
            }
            /if (${Int[${Target.Z}]}<${RV_MinZRange}) {
               /echo Mob is BELOW Min Z Range, picking another...
               /varset RV_InvalidTargetID ${Target.ID}
               /call ResetSub
               /goto :Acquire
            }
            /if (${Int[${Target.Z}]}>${RV_MaxZRange}) {
               /echo Mob is ABOVE Max Z Range, picking another...
               /varset RV_InvalidTargetID ${Target.ID}
               /call ResetSub
               /goto :Acquire
            }
            /varset RV_HasTarget 1
            /varset RV_MyTargetName ${Target.CleanName}
            /echo Acquired ${Target.CleanName} at range ${Int[${Target.Distance}]}
            /return
         }
      /next RV_TargetSub
      /delay 2
   /next RV_CurrentRadius

   /if (!${Target.ID}) {
      /delay 2s
      /varcalc RV_FailCounter ${RV_FailCounter}+1
      /echo Failed to Acquire Target in Range ${RV_MaxRadius} ${RV_FailCounter} Time(s)
      /if (${RV_FailCounter}>=${RV_FailMax}) {
         /echo Waiting for Respawns, Resetting Failure Counter...
         /delay 60s
         /varset RV_FailCounter 0
      }
      /goto :Acquire
   }
/return


|--------------------------------------------------------------------------------
|SUB: GM Check
|--------------------------------------------------------------------------------
Sub GMCheck

   /if (${Spawn[gm].ID}) {
      /beep
      /beep
      /beep
     
      /echo GM has entered the zone!
      /echo FUCK HIM but ending the macro...

      /keypress forward
      /keypress back

      /quit
      /endmacro
   }
   
/return

|--------------------------------------------------------------------------------
|SUB: Where's the group?. 
|--------------------------------------------------------------------------------

Sub CheckAnchor   
  /if (${Math.Distance[${AnchorY},${AnchorX}]}>12) /call MoveToAnchor   
/return

|--------------------------------------------------------------------------------
|SUB: Move back to group. 
|--------------------------------------------------------------------------------
Sub MoveToAnchor
    /declare iCount int local
    /varset iCount 0

    /echo Moving to Anchor at Loc: ${AnchorY}, ${AnchorX}.

:AnchorMoveLoop 
    /delay 1
    /doevents
    /face nolook loc ${AnchorY},${AnchorX}
   
    /if (${Math.Distance[${AnchorY},${AnchorX}]}>12) {
       /keypress forward hold
   } else {
       /keypress forward
       /face away loc ${AnchorY},${AnchorX}
        /return
    /goto :combatloopb
    }

    /if (${iCount}>2) {
        /face nolook loc ${AnchorY},${AnchorX}
        /varset iCount 0
    }
   
    /varcalc iCount ${iCount}+1
    /goto :AnchorMoveLoop
/return

|--------------------------------------------------------------------------------
|SUB: Obstacle Avoidance
|--------------------------------------------------------------------------------
Sub HitObstacle

   /echo Obstacle hit, moving around it...
   /keypress forward
   /keypress back hold
   /delay 3
   /keypress back
   /if (${Math.Rand[100]}+1>50) {
     /keypress strafe_right hold
   } else {
     /keypress strafe_left hold
   }
   /delay 5
   /keypress strafe_right
   /keypress strafe_left
   /keypress forward hold
   
/return
|--------------------------------------------------------------------------------
|SUB: Reset
|--------------------------------------------------------------------------------
Sub ResetSub

   /keypress esc
   /keypress esc
   /keypress esc
   /keypress esc
   
   /varset RV_HasTarget 0
   /varset RV_TargetDead 0
   /varset RV_Fighting 0
   
/return

|--------------------------------------------------------------------------------
|SUB: Moving
|--------------------------------------------------------------------------------
Sub MoveToMob

   /varset RV_MyXLOC ${Int[${Me.X}]}
   /varset RV_MyYLOC ${Int[${Me.Y}]}
   /declare RV_DistanceTimer timer 15
   
   /doevents
   
   :MovementLoop

   /if ((!${RV_Fighting})&&(!${RV_TargetDead})&&(${Target.PctHPs}<100)) {
      /echo Mob not at full health, picking another...
      /varset RV_InvalidTargetID ${Target.ID}
      /varset RV_HasTarget 0
      /call ResetSub
      /return
   }

   /if (${Target.ID}) {
      /face fast
   }
   /if (${Int[${Target.Distance}]}>${RV_FastRange}) {
      /keypress forward hold
   }
   /if (${Int[${Target.Distance}]}<${RV_FastRange}&&${Int[${Target.Distance}]}>${RV_RangeMax}) {
      /keypress forward
   }
   /if (${Int[${Target.Distance}]}<${RV_RangeMin}) {
      /keypress back
   }
   /if (!${RV_DistanceTimer}) {
      /if ((${RV_MyXLOC}==${Int[${Me.X}]})&&(${RV_MyYLOC}==${Int[${Me.Y}]})) /call HitObstacle
      /varset RV_MyXLOC ${Int[${Me.X}]}
      /varset RV_MyYLOC ${Int[${Me.Y}]}
      /varset RV_DistanceTimer 15
      /goto :Movementloop
   }
   /if (${Int[${Target.Distance}]}>${RV_FastRange}) /goto :MovementLoop

/return

|--------------------------------------------------------------------------------
|SUB: Combat
|--------------------------------------------------------------------------------
Sub CombatSub

   /echo Attacking Mob NOW!
   /varset RV_Fighting 1
   /varset RV_TargetDead 0
   
   :CombatLoopa
   /doevents
   /attack on
   /call CheckAnchor
   /call MoveToMob
   /call SpecialIT


   :CombatLoopb
   /doevents
   /attack on
   /if (!${Target.ID}) {
      /attack off
      /keypress forward
      /keypress back
     
      /varset RV_TargetDead 1
      /varset RV_Fighting 0
      /delay 1s
      /target radius 30 corpse
      /delay 1s
      /if (!${Target.ID}) {
         /call ResetSub
         /return
      }
      /face fast
   }
   /if (!${RV_TargetDead}) {
      /goto :CombatLoopb
   }
   
/return
|--------------------------------------------------------------------------------
|SUB: Special Combat
|--------------------------------------------------------------------------------
Sub SpecialIt

   /declare TempID    int inner  0

   /if ((${Target.Distance}<11)&&(${Me.AbilityReady["Taunt"]})) /doability "Taunt"
   
   
   /if ((${Int[${Me.PctHPs}]}<50)&&(${Me.Gem["Light of Nife"]})&&(${Me.SpellReady["Light of Nife"]})) {
      /varset TempID ${Target.ID}
      /keypress forward
      /keypress back
      /keypress F1
      /echo Casting Heal Spell because of low health...
      /cast "Light of Nife"
      /delay 3s
      /target id ${TempID}
   }
  
/return
may our enemys shed tears of crimson apon the field of battle.
- vicious, of cowboybeop

everyone is a potential enemy, everywhere is a potential battlefield.
-zensunni wisdom, of Dune.

lastly - I'll be your huckleberry
-Doc Holliday
webmaster of:
http://unknownerrors.net
http://insideeq.com
http://alphapirates.com
http://reviewthis.info

User avatar
Override
a hill giant
a hill giant
Posts: 179
Joined: Sun Dec 29, 2002 9:19 am

Post by Override » Sat Apr 02, 2005 1:06 pm

Very well done and commented. Have you thought about adding in a single pull clause? like check to make sure there isn't a mob close to that mob you are pulling.
Self Automated Tradeskill Macros at:
[url=http://www.override13.com/mq2/]http://www.override13.com/mq2/[/url]

User avatar
Fluffy
a ghoul
a ghoul
Posts: 81
Joined: Sun Aug 22, 2004 5:08 pm

Post by Fluffy » Sun Apr 03, 2005 7:20 am

Override wrote:Very well done and commented. Have you thought about adding in a single pull clause? like check to make sure there isn't a mob close to that mob you are pulling.
Well I started to write an elborate version of what a player does to pull with pathing built into it.. I got as far as having it run a path.. So the player could setup for a "CAMP" like velks or whatever with an elborate path for example lets just talk Velks.. Lower Spiders and just the first 6 pulls to make this simple..

Pull 1: From entrance tag mob at left (Already in camp dont need to run)
Pull 2: From entrance tag mob at right (Already in camp dont need to run)
Pull 3: run out to center turn right 90 tag spider run back to camp
Pull 4: run out to center turn right 90 tag spider run back to camp
Pull 5: run out turn left , run to corner turn right tag spider follow path in reverse back to camp
Pull 6: run out turn left, run to corner turn right, run to center turn right tag mob run back along reverse path..

So with that explained it just take delligence to setup the pull in the following format..
In an ini file..

[Lower Spiders]
1=100,110
2=100,140
3=80,80|190,110
4=80,80|190,100
5=80,80|170,60|150,22
6=80,80|170,60|192,87|166,33

So with that it is just a simple x.y cord system.. Run to each x,y in order until second to last... The last one being where the mob should spawn.. target at that location for the mob, then just reverse the run to come back to camp.

Well with all that said.. I wrote the run code and some other stuff.. But never finished it as I didnt know if anyone would be intrested in a hard set pull code...

Was going to make it go through the list... Say 22 pull spots...

Start script
Check for mob at last spot of each pull in order from 1 to 22 if a mob is there pull that one.. The reason for this to make sure if we are killing slower then respawns we start over again at spawn one when it repops.. Incase you are pulling deeper and deeper in with your path..
Once you have a pull #.. Go pull it going through x,y's until the last one stopping character at 2nd to last one.. Target mob at last one tag mob (Whatever means you want to) then reverse the path back..

Simple enough.. If anyone is intrested in this then I can finish the code.. And people can post camp pull locs for all thier favorite camps.. It would be like haveing a puller that never gets tired of pulling and also never misses a spawn :)

Let me know..
And remember, if I said something to offend you it is only becuase I hate you. -- My Mom.
If you can't find it odds are you didn't bother looking. -- My Mom.
Why do I bother, your just stupid. -- My Mom.
Hmm maybe mom didnt love me?

User avatar
Override
a hill giant
a hill giant
Posts: 179
Joined: Sun Dec 29, 2002 9:19 am

Post by Override » Mon Apr 04, 2005 12:42 am

Actually, I have already made a farming macro like what you are talking about, but it doesnt pull back to a spot, it runs a path in a dunguen or anywhere else, if a mob is in the radius determined it runs to the mob, kills it, loots it, then runs back to the path and starts running on the path again. I used it to farm tinkering items in Netherbian Lair and to farm spider silks in North Karana. It actually wouldn't be that hard to change it to run the path, pull, run back along the path the opposite way and after kill to do it again. I actually have that macro done too, the only problem is I do not have a Function to determine if I will get adds on the pull. This would be hard to make on a few counts:

1: The aggro radius is differnet for mobs in each zone. You can have an INI to figure out what mob it is then refer to the INI for it, but that's a lot of work.

2: The time it takes to run to the mob after the function that determines there is going to be an add there could still be an add. You could have it call the function again after you get closer or maybe keep determining if you will get an add as you are running but that would higher the processing time and make it harder to run to the mob and hit it due to delays.

3: By the time you run the path then find a single pull then start running back, there may be mobs in the way of the path back. The only way I can think of fixing this would be to have an altermative path halfway along the start and finsh that it could run it the way back or way forward is block.

As you see, making a non add function for a puller macro is tough, I will not say it is impossible. If i can get a few bots going, I was going to try to make one, but I dont have my cleric and warrior anymore since I quit and came back. As far as I got before is I did have an chanter bot that I would have it mez all the mobs that the warrior was not on atm.
Self Automated Tradeskill Macros at:
[url=http://www.override13.com/mq2/]http://www.override13.com/mq2/[/url]

User avatar
unknownerrors
a ghoul
a ghoul
Posts: 133
Joined: Tue Oct 12, 2004 7:00 am
Location: Las vegas USA

post the macro.

Post by unknownerrors » Wed Apr 06, 2005 1:30 am

if you can post the macro your talking about above that you used to use.. maybe we can put our heads together and come up with something cleaner.
may our enemys shed tears of crimson apon the field of battle.
- vicious, of cowboybeop

everyone is a potential enemy, everywhere is a potential battlefield.
-zensunni wisdom, of Dune.

lastly - I'll be your huckleberry
-Doc Holliday
webmaster of:
http://unknownerrors.net
http://insideeq.com
http://alphapirates.com
http://reviewthis.info

User avatar
unknownerrors
a ghoul
a ghoul
Posts: 133
Joined: Tue Oct 12, 2004 7:00 am
Location: Las vegas USA

just another note.

Post by unknownerrors » Wed Apr 06, 2005 1:49 am

an option i would like to add to this is a delay, so when starting the macro you could use say

Code: Select all

/macro puller.mac 5m
or something along those lines. useing the basic /macro puller.mac would puller non stop. of course some users would have issues with the timed commands M(inutes) and so on. user friendly is always a good goal.

anyhow anyone have any idea's?
may our enemys shed tears of crimson apon the field of battle.
- vicious, of cowboybeop

everyone is a potential enemy, everywhere is a potential battlefield.
-zensunni wisdom, of Dune.

lastly - I'll be your huckleberry
-Doc Holliday
webmaster of:
http://unknownerrors.net
http://insideeq.com
http://alphapirates.com
http://reviewthis.info

User avatar
Override
a hill giant
a hill giant
Posts: 179
Joined: Sun Dec 29, 2002 9:19 am

Post by Override » Wed Apr 06, 2005 11:54 am

I used the farming.mac on my website actually, thats the one that goes along the path and kills the stuff, loots, then starts along the path again. Just click the website at the bottom of my post and go to other macros.
Self Automated Tradeskill Macros at:
[url=http://www.override13.com/mq2/]http://www.override13.com/mq2/[/url]

User avatar
unknownerrors
a ghoul
a ghoul
Posts: 133
Joined: Tue Oct 12, 2004 7:00 am
Location: Las vegas USA

nice.

Post by unknownerrors » Mon Apr 11, 2005 1:15 pm

i checked that out looks pertty fresh and clean. i'm going to have to fix one or the other to /pause on for /if (${ChatText.Equal[Lom]}
and unpause for /if (${ChatText.Equal[Gtg]}

only issue i foresee is one of the casters calling lom in the middle of a fight and the MT pauses... sitting there like a moron. haven't thought yup any cleaver ideas around that yet, but i'm get drunk and sleep on it =)

i guess it wouldn't be so bad if only the MT pauses.. since the 2 dps would still be assisting off the MT and have no pause cause they aren't pulling, other then the lack of taunt and my tank's mild dps. but then again.. one of the casters could call Lom while i'm pulling a mob back in and i'll stop in my tracks.. hmm..

Code: Select all

 /if (${ChatText.Equal[Lom]} { /call MoveToAnchor
/pause on 
/gsay Bah. 
 /if (${ChatText.Equal[Gtg]} { /mqpause off 

then i just have to worrie which caster went lom, but a shm clr and dru one of the three could always pick up the heals i guess.
may our enemys shed tears of crimson apon the field of battle.
- vicious, of cowboybeop

everyone is a potential enemy, everywhere is a potential battlefield.
-zensunni wisdom, of Dune.

lastly - I'll be your huckleberry
-Doc Holliday
webmaster of:
http://unknownerrors.net
http://insideeq.com
http://alphapirates.com
http://reviewthis.info

BardsAreTooEasy
a lesser mummy
a lesser mummy
Posts: 39
Joined: Sun Feb 27, 2005 3:01 pm

Post by BardsAreTooEasy » Wed Apr 13, 2005 6:43 pm

tiite :D thank you, works very well

ozymandias
decaying skeleton
decaying skeleton
Posts: 1
Joined: Wed Apr 13, 2005 10:48 pm

Post by ozymandias » Wed Apr 13, 2005 11:04 pm

In trying it (and please feel free to enlighten me if I was doing something wrong, missing plugins, etc - I am a novice) I found a couple of oddities that I had to create bandaids for.

First, despite setting a range I found that I would continue to pull at any distance even if no mobs were within my radius. To get around this, I made a new declare which I then linked into the GetTarget sub:

Code: Select all

/declare CampRadius int outer 372
.
.
.
Sub GetTarget
.
.
.
/if (${Int[${Target.Distance}]}>${CampRadius}) {
/goto :Acquire }
.
.
The GetTarget fragment occured right before the portion that successfully obtains and announces a valid target.

Secondly, I also preferred to pull from range rather than running right up to the mob. In the MoveToMob sub I added, at the end:

Code: Select all

/if ($Int[${Target.Distance}]}>100) /goto :Movement Loop
/keypress forward
/keypress back
/delay 1s
/call cast "PullSpell"
/return
I've done miscellaneous other butchery, but mostly for personal preference things. I experienced one bug where I would sometimes pull a mob, run back to camp, and the mob would be far enough away that I would run back out to him - and sometimes just keep on running into the wild blue yonder. At first I put a delay in the CombatSub after reaching the anchor, which allowed the mob to catch up and alleviated the problem.

User avatar
unknownerrors
a ghoul
a ghoul
Posts: 133
Joined: Tue Oct 12, 2004 7:00 am
Location: Las vegas USA

aware..

Post by unknownerrors » Sat Apr 23, 2005 8:47 am

about the thing, where it pulls a mob back then runs off into no where land for ever.. i'm aware of it, and looking for a fix.. atm i think its caused by lag. as i have test this macro with only one toon to one computer putting my bots on another and it didn't happen. any more then one toon to the box its running on and it will happen.. not really sure how to fix it, maybe need to totally rework the whole process i think.

but then again there could always be a simple fix to the problem and i'm too noob to see it. this is my 1st atemp at a macro.. came out about how i expected, half a$$ed...
/shrug learning exp.

if you wouldn't mind post your edits and where just so i could take a look?

thanks in advance.
may our enemys shed tears of crimson apon the field of battle.
- vicious, of cowboybeop

everyone is a potential enemy, everywhere is a potential battlefield.
-zensunni wisdom, of Dune.

lastly - I'll be your huckleberry
-Doc Holliday
webmaster of:
http://unknownerrors.net
http://insideeq.com
http://alphapirates.com
http://reviewthis.info

Ccomp5950
a ghoul
a ghoul
Posts: 94
Joined: Mon Apr 18, 2005 8:40 am

Post by Ccomp5950 » Sat Apr 23, 2005 9:01 am

The problem is in the MovetoMob call.

If you change "Movetomob" then when your fighting it will use that to stay on the mob as well...so if you got a runner your puller isn't gonna follow the runner but will cast his "Pull Spell" or /ranged.

The fix to this is to make a Pull Sub with your way of pulling the mob and have it called after aquiretarget and thats it. The combat sub calls MovetoMob as well so that you don't just sit at your leash with autoattack on while the runner runs away and agroes shit.

As for the "running" back out to the mob add a 5 or 7 second delay after your anchorcheck and that should fix it.

You will run out, tag mob..run back to anchor and sit there for X amount of seconds.

If you have VIP access check out Monk Puller in the macro section for them that I made. I pretty much hacked up a version of this and added stuff as I went along.

There are other things that will cause problems like if you miss (IE: "You cannot see", "You have no ranged item" etc) that you will need to setup events so that it resets the sub, summons throwing items waits for mana, or just plain tries again if you didn't have Line of Sight. If you don't add a check for this your puller will run out sometimes, miss or just not have a ranged item summoned and run back to camp wait his X ammount of seconds then run back after the mob with autoattack on.

I'm not posting the code here because right now it is pretty much an AFK macro of mine so it stays in VIP.

But I believe you guys can figure it out.

User avatar
unknownerrors
a ghoul
a ghoul
Posts: 133
Joined: Tue Oct 12, 2004 7:00 am
Location: Las vegas USA

uh.. VIP

Post by unknownerrors » Sat Apr 23, 2005 10:00 am

well i'm think of getting the VIP think after i fix this maco cause.. i just wanna learn this shit.. and if i get it before i fix it my collection of macro's will be complete.

but just wondering, how much would i need to get VIP 50bucks do the trick?
may our enemys shed tears of crimson apon the field of battle.
- vicious, of cowboybeop

everyone is a potential enemy, everywhere is a potential battlefield.
-zensunni wisdom, of Dune.

lastly - I'll be your huckleberry
-Doc Holliday
webmaster of:
http://unknownerrors.net
http://insideeq.com
http://alphapirates.com
http://reviewthis.info

Ccomp5950
a ghoul
a ghoul
Posts: 94
Joined: Mon Apr 18, 2005 8:40 am

Post by Ccomp5950 » Sat Apr 23, 2005 10:00 pm

http://www.macroquest2.com/main.php?p=donate

(got all your questions answered in there)
(got to enter your board username in there though to get your answers...it doesn't proccess a payment before giving you all your answers though (or atleast the ones you just asked).

Also there is a thread in the MQ2::General forum that is stickied that would answer your questions as well.

http://www.macroquest2.com/phpBB2/viewtopic.php?t=8

User avatar
unknownerrors
a ghoul
a ghoul
Posts: 133
Joined: Tue Oct 12, 2004 7:00 am
Location: Las vegas USA

pertty cool..

Post by unknownerrors » Sun Apr 24, 2005 8:38 am

thanks alot for the info..
may our enemys shed tears of crimson apon the field of battle.
- vicious, of cowboybeop

everyone is a potential enemy, everywhere is a potential battlefield.
-zensunni wisdom, of Dune.

lastly - I'll be your huckleberry
-Doc Holliday
webmaster of:
http://unknownerrors.net
http://insideeq.com
http://alphapirates.com
http://reviewthis.info