• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Macro - NoS Partisan Power Corrupts

Joined
May 22, 2015
RedCents
3,467¢
In this task, you have to follow Commander Yaminshavraylin without getting too close. Seems the range to get banished is about 100, I'm guessing you need to be less than 150 or 200 to get update, not sure. The whole cycle seems to take 15-20 min. I found this part very annoying to do.

I wasn't able to run this on a fresh character, but my character who was missing an update did finish it. Let me know if works for all updates, and i can make it a resource

BE INVIS

/mac stalk Yaminshavraylin 140

[CODE title="stalk.mac"]|------------------------------------------------------------
| Name: stalk.mac
|------------------------------------------------------------
| Author: Winnower
|
| example: /mac stalk Yaminshavraylin 140
|------------------------------------------------------------

Sub Main(string prey, int dist)
/while (1) {
/if (!${Navigation.Active}) {
/nav spawn ${prey}
}
/if (${Nav.Paused}) {
/if (${Spawn[${prey}].Distance} > ${dist}) {
/squelch /nav pause
}
} else {
/if (${Spawn[${prey}].Distance} < ${dist}) {
/squelch /nav pause
}
}
/delay 1
}[/CODE]
 
@winnower here's a Lua version for you

[CODE lang="Lua" title="stalk.Lua"]------------------------------------------------------------
-- Name: stalk.mac
-------------------------------------------------------------
-- Author: Winnower
--
-- example: /Lua run stalk Yaminshavraylin 140
------------------------------------------------------------

---@type Mq
local mq = require("mq")

local TLO = mq.TLO
local Navigation = TLO.Navigation
local Spawn = TLO.Spawn

---@param prey string
---@param dist integer
local function Main(prey, dist)
if (not prey or prey == "" or dist < 30) then
print("prey is unspecified or distance is too close")

return
end

local spawn = Spawn(prey)

if (spawn.ID() == 0) then
print("prey is not found")

return
end

while (true) do
if (not Navigation.Active()) then
mq.cmdf("/nav spawn %s", prey)
end

if (Navigation.Paused()) then
if (spawn.Distance() > dist) then
mq.cmd("/squelch /nav pause")
end
else
if (spawn.Distance() < dist) then
mq.cmd("/squelch /nav pause")
end
end

mq.delay(10)
end
end

local args = {...}
local prey = ""
local dist = 100

if (#args ~= 2) then
error("Invalid number of arguments supplied. Must have two")
else
prey = args[1]
dist = tonumber(args[2]) --[[@as integer]]

if (dist == nil) then
error("Incoming arguments must be in the format prey:string dist:integer")
end
end

Main(prey, dist)[/CODE]
 
Last edited:
nav can also take |dist=# where number is the distance you want to stop at, in case that helps anyone
 
Macro - NoS Partisan Power Corrupts

Users who are viewing this thread

Back
Top
Cart