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

- Posts: 212
- Joined: Tue Jan 28, 2003 9:25 pm
Post
by driftinsupra » Sun Nov 09, 2003 8:09 pm
I basically used some of hunter.mac in these and some basic knowledge. I use the macros all the time and they are pretty much my favorites. I dont know if anything like this has been posted before but I would recommend using these for any movement as you wont get stuck ever.
Code: Select all
Sub movetotarg(distance)
/declare MyXLOC local
/declare MyYLOC local
/declare ObstCount local
/varset MyXLOC $char(x)
/varset MyYLOC $char(y)
/varset ObstCount 0
/face
:mobloop
/if n $target(distance)>=@distance {
/call autorun 1
/face
/varadd ObstCount 1
/if n @ObstCount>=3 {
/if n @MyXLOC==$char(x) /if n @MyYLOC==$char(y) {
/sendkey up up
/sendkey down down
/if n $rand(99)>50 {
/delay 1s
/sendkey up down
/sendkey down Right
/delay 5
/sendkey up Right
/sendkey down up
/delay 1s
/sendkey up up
} else {
/delay 1s
/sendkey up down
/sendkey down left
/delay 5
/sendkey up left
/sendkey down up
/delay 1s
/sendkey up up
}
/sendkey up down
/sendkey up Right
/sendkey up Left
}
/varset MyXLOC $char(x)
/varset MyYLOC $char(y)
/varset ObstCount 0
}
/goto :mobloop
}
/call autorun 0
/return
Sub movetoloc(xloc,yloc)
/declare MyXLOC local
/declare MyYLOC local
/declare ObstCount local
/varset MyXLOC $char(x)
/varset MyYLOC $char(y)
/varset ObstCount 0
:locloop
/face loc @xloc
/if "@yloc"=="u" /Press u
/call AutoRun 1
/varadd ObstCount 1
/if n @ObstCount>=3 {
/if n @MyXLOC==$char(x) /if n @MyYLOC==$char(y) {
/sendkey up up
/sendkey down down
/if n $rand(99)>50 {
/delay 1s
/sendkey up down
/sendkey down Right
/delay 5
/sendkey up Right
/sendkey down up
/delay 1s
/sendkey up up
} else {
/delay 1s
/sendkey up down
/sendkey down left
/delay 5
/sendkey up left
/sendkey down up
/delay 1s
/sendkey up up
}
/sendkey up down
/sendkey up Right
/sendkey up Left
}
/varset MyXLOC $char(x)
/varset MyYLOC $char(y)
/varset ObstCount 0
}
/if n $distance(@xloc)>10 /goto :locloop
}
/call autorun 0
/return
-
Zerix
- flagrant idiot
- Posts: 18
- Joined: Sun Nov 09, 2003 3:26 am
- Location: Denver, CO
-
Contact:
Post
by Zerix » Mon Nov 10, 2003 1:19 am
check out the FH forms, theres a stickly link there that has this exact same macro in it, cept it uses warp.
Lets you get a targets XYZ, and then lets you warp to it.
Also lets you speed hack with warp
What exists, exists; what is, is, and that from this irreducible, bedrock principle, all knowledge is built.
We are free to evade the effort of thinking - to reject reason - but we are not free to avoid the penalty of the abyss we refuse to see.
-
driftinsupra
- Official loudmouth

- Posts: 212
- Joined: Tue Jan 28, 2003 9:25 pm
Post
by driftinsupra » Mon Nov 10, 2003 2:26 pm
What does that have to do with this? MQ users dont use warp. This is a safe way of moving to a mob and moving to a loc without running into stuff.
-
Scythen60
Post
by Scythen60 » Mon Nov 10, 2003 5:31 pm
Zerix: most people don't want to be THAT noticeable that they are using MQ, clearly if you started warping to forges from merchants you'll get banned way faster than walking to it. You should also leave FH stuff at the FH boards because if the MQ dev's wanted you to have warps and similar functions then they would add it for you...Similar to the binary that you are releasing...if the MQ dev's wanted to release binary then they would...so IMO you should stop doing it for them.
(i'm not trying to flame, just stating what i've been hearing in IRC)
-
auth
- a ghoul

- Posts: 84
- Joined: Sun Apr 13, 2003 12:47 am
Post
by auth » Mon Nov 10, 2003 6:30 pm
oops not trying to hide behind guest, was my post... didn't realize i wasn't logged in... mods can delete the previous guest post..
We have to remember that zerix has lost 2 accounts in the past year folks - besides, FH info shouldn't be posted here so openly, a lot of the MQ users don't want to be 'that' outgoing in cheating. good routines, sire. zerix, go back to fh now plz, obviously you're not very welcome here.
Auth - "If it isn't broke, let VI patch it"
-
Guest
Post
by Guest » Thu Nov 13, 2003 9:40 pm
Who are these FH people? That has to be one of the most reckless uses of Everquest 'enhancement' that I've ever heard of.
-
Rage
- orc pawn

- Posts: 17
- Joined: Sat Oct 19, 2002 2:15 am
- Location: San Diego, CA USA
Post
by Rage » Fri Nov 14, 2003 5:02 am
forever-hacking.net
-
Kale Whiteblade
- decaying skeleton

- Posts: 8
- Joined: Sun Nov 23, 2003 4:09 am
Post
by Kale Whiteblade » Sun Nov 23, 2003 6:00 pm
is there pieces missing from this? or is this just a chunk to slap in other programs. I added in a main, and a sub autorun
sub autorun
/press j
/return
still get stuck though running into walls though.. am i doing this wrong? Sorry, still very noob to MQ.
-
Kale Whiteblade
- decaying skeleton

- Posts: 8
- Joined: Sun Nov 23, 2003 4:09 am
Post
by Kale Whiteblade » Sun Nov 23, 2003 6:09 pm
Second question, is there a command to make your player run to a loc? ie for the hunter script, after so many kills or whatever, can you tell him to run to loc XX YY?
Sorry for so many questions, trying to learn :)
-
Kint
- a hill giant

- Posts: 208
- Joined: Thu Mar 13, 2003 3:36 am
Post
by Kint » Thu Nov 27, 2003 11:35 pm
here the code you gave me, reworked
Code: Select all
Sub main
/declare Xloc local
/declare Yloc local
/varset Xloc @Param0
/varset Yloc @Param1
/declare ObstCount local
/varset ObstCount 0
/declare distance1 local
/declare distance2 local
/declare distanceSum local
/varset distanceSum 0
/declare distanceSum1 local
/varset distanceSum1 0
/declare distanceAverage local
:locloop
/face loc @Xloc, @Yloc
/if "@yloc"=="u" /Press u
/call AutoRun 1
/varset distance1 $distance(@Xloc,@Yloc)
/delay 1s
/varset distance2 $distance(@Xloc,@Yloc)
/varset distanceSum $calc(@distance1-@distance2)
/delay 1s
/varset distance1 $distance(@Xloc,@Yloc)
/delay 1s
/varset distance2 $distance(@Xloc,@Yloc)
/varset distanceSum1 $calc(@distance1-@distance2)
/if n $calc(@distanceSum-3)>@distanceSum1 {
/if n $calc(@distanceSum+3)<@distanceSum1 {
/varadd ObstCount 1
}
}
/if n @distanceSum==0 /if n @distanceSum1==0 /varadd ObstCount 1
/if n @ObstCount>=3 {
/call Collision
/varset ObstCount 0
}
/if n $distance(@Xloc,@Yloc)>10 /goto :locloop
/call autorun 0
/return
Sub Collision
/if n $rand(99)>50 {
/delay 1s
/sendkey up down
/sendkey down Right
/delay 5
/sendkey up Right
/sendkey down up
/delay 1s
/sendkey up up
} else {
/delay 1s
/sendkey up down
/sendkey down left
/delay 5
/sendkey up left
/sendkey down up
/delay 1s
/sendkey up up
}
/return
Sub AutoRun
/if @Param0==1 /sendkey down up
/if @Param0==0 /sendkey up up
/return
works by /macro gotoloc <Xloc> <Yloc>
-
driftinsupra
- Official loudmouth

- Posts: 212
- Joined: Tue Jan 28, 2003 9:25 pm
Post
by driftinsupra » Fri Nov 28, 2003 12:29 pm
I also had the same problem running into walls....its pretty much only good if you know whats in front of you and arent just trying to get from one location in a zone to another blindly. I use when hunting in the karanas or commonlands when I dont want to get stuck on a tress. I always hated it when I had lich on my necro and I would get stuck on a tree....my script pretty much pauses and then lich kills me.
-
driftinsupra
- Official loudmouth

- Posts: 212
- Joined: Tue Jan 28, 2003 9:25 pm
Post
by driftinsupra » Fri Nov 28, 2003 12:38 pm
Also this would be used as a sub routine. I use it in my programs much like this:
Code: Select all
Sub main
/call movetotarg(50)
/call movetoloc(10,10)
other main crap here
Sub movetotarg(distance)
move to targ crap here
Sub movetoloc(xloc,yloc)
move to loc crap here
If that doesnt clarify things then PM me and I can try to help you ut some more. Basically movetotarg will move you within the distance you specify in the brackets. movetoloc will move you the loc you specify in the brackets. movetoloc is much like the gotoloc that is in the routines file but it will just make it so if you get stuck on anything such as trees, smallbuilding,rocks or gravestones in my case you will back up turn either to the the left or right move a little then reface your target or loc and move that way.
Also I should give credit where credit is due. Much of these routines were snippets of already existing ones from the routine file and from hunter.mac. Off the head hunter.mac was from GrimJack right? Well if I was right then thanks GrimJack and if not then thanks whomever made hunter.mac. I worked on making these myself but well I am not that smart and when it come donw to it.....there is no point in reinventing the wheel.
-
IceMan
Post
by IceMan » Sat Nov 29, 2003 9:29 am
all i do to move to a person is /target him, then type /macro follow. it will run right to him
-
IceMan
Post
by IceMan » Sat Nov 29, 2003 9:29 am
all i do to move to a person is /target him, then type /macro follow. it will run right to him
-
LamahHerder
- a hill giant

- Posts: 299
- Joined: Sat Jun 29, 2002 2:37 am
Post
by LamahHerder » Wed Dec 24, 2003 11:13 pm
Had some problems with that gotoloc code,
This works better for me...
/call gotoloc xxx yyy
Code: Select all
Sub GoToLoc(xloc,yloc)
:declare
/declare CloseNuff local
/declare CharX local
/declare CharY local
:set
/varset CloseNuff 1
:startGoToLoc
/if n $distance(@xloc,@yloc)<=$calc(@CloseNuff+1) /goto :endGoToLoc
/if $char(state)!=STAND /stand
/if n $distance(@xloc,@yloc)>=@CloseNuff /sendkey down up
/face loc @xloc,@yloc
:moveGoToLoc
/delay 0
/if n $distance(@xloc,@yloc)<=@CloseNuff /goto :endGoToLoc
/face fast loc @xloc,@yloc
/if n "@CharX"=="$char(x)" /if n "@CharY"=="$char(y)" /goto :stuckGoToLoc
/varset CharX "$char(x)"
/varset CharY "$char(y)"
/if n $distance(@xloc,@yloc)<=@CloseNuff /goto :endGoToLoc
/if n $distance(@xloc,@yloc)>=@CloseNuff /goto :moveGoToLoc
:stuckGoToLoc
/if n $rand(99)>50 /goto :stuckGoLeft
:stuckGoRight
/echo Goin Right
/sendkey up up
/if n $distance(@xloc,@yloc)>=@CloseNuff /sendkey down up
/face heading $calc($char(heading)-120)
/if $char(state)!=STAND /stand
/delay 5
/face loc @xloc,@yloc
/goto :moveGoToLoc
:stuckGoLeft
/echo Goin Left
/sendkey up up
/if n $distance(@xloc,@yloc)>=@CloseNuff /sendkey down up
/face heading $calc($char(heading)+120)
/delay 5
/face loc @xloc,@yloc
/if $char(state)!=STAND /stand
/goto :moveGoToLoc
:endGoToLoc
/sendkey up up
/echo $distance(@xloc,@yloc) from @xloc @yloc
/return