• 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

Go grab a corpse

joojoobee

A Member to Remember
Creator
Joined
May 15, 2016
RedCents
4,327¢
Sometimes my puller dies... And when I am in the kitchen or paying attention to something else, would be nice for one of the characters to go get him. This does it. Simple routine, and I have one of my characters invis up and go get him. Drags corpse back to camp and a cleric or rezzer takes it from there.

Of course, if there are see-invis aggros on the path, you likely get another dead PC, but hey, you can't have everything...

JJB

Here it is:
Rich (BB code):
    |: --------------------------------------------------------------------------------------------
    |: SUB: gogetCorpse
    |: --------------------------------------------------------------------------------------------
    sub gogetCorpse(string MoronWhoDied)

    /declare numcorpses int inner 0
    /declare loopcorpse1 int inner 1
    /declare loopcorpse2 int inner 1
    /declare Corpse2Dragnow string inner

    /varcalc numcorpses ${SpawnCount[corpse pc radius 600]}

    /for loopcorpse1 1 to ${numcorpses}
        /varset Corpse2Dragnow ${NearestSpawn[${loopcorpse1}, corpse radius 600].Name}
        /if (${Corpse2Dragnow.Find[${MoronWhoDied}'s corpse]}) {
            /goto :getCorpse
        }
    /next loopcorpse1
    |: There is no corpse...  leave the subroutine
    /return

    :getCorpse

    /casting "Circlet of Umbra"
    /delay 1s

    /target ${MoronWhoDied}
    /echo found ${MoronWhoDied}...

    /nav target
    /delay 100 ${Math.Distance[${Target.Y}, ${Target.X}, ${Target.Z}]}<5
    /nav stop
    /corpse
    /echo nav loc 13 corpse pull
    /nav locxyz ${XposCamp} ${YposCamp} ${ZposCamp}

    :RunBack
    /corpse
    /if (${Math.Distance[${YposCamp},${XposCamp}]}>=10) /goto :RunBack

    /return
 
Last edited:
Simply put it somewhere in the MainLoop (out of Combat routines) as

/call "Puller_Name"

Or was your question something else?

JJB
 
I'm sorry, i would love to use this, but i'm at a loss... where should i copy this for it to work ? should i replace some text ( moronwhodied is good though) ? like the spell used to invis ?
 
Rich (BB code):
    
|: --------------------------------------------------------------------------------------------
|: SUB: GetCorpse
|:        based off a snippet by joojoobee
|: --------------------------------------------------------------------------------------------

sub GetCorpse(string MoronWhoDied)
    /declare numcorpses int inner 0
    /declare i int inner 1
    /declare CurCorpseName string inner

    | How many corpses within range?
    /varcalc numcorpses ${SpawnCount[corpse pc radius 600]}
 
    |drag each one
    /for i 1 to ${numcorpses} {
        /varset CurCorpseName ${NearestSpawn[${i}, corpse radius 600].Name}
        /if (${CurCorpseName.Find[${MoronWhoDied}'s corpse]}) {

            | TODO: more generic invis - maybe outside the loop
            /casting "Circlet of Umbra"

            /delay 1s
            /target ${MoronWhoDied}

            /echo found ${MoronWhoDied}...

            | Get within range
            /nav target
            /delay 100 ${Math.Distance[${Target.Y}, ${Target.X}, ${Target.Z}]}<5
            /nav stop

            /corpsedrag
            /echo nav loc 13 corpsedrag
            /nav locxyz ${XposCamp} ${YposCamp} ${ZposCamp}
            /if (${Math.Distance[${YposCamp},${XposCamp}]}<=10) {
                /corpsedrop
            }
        /next i
        }

    | Done
    /return

This is a simple rewrite to see if this snippet would do the same thing. Very small changes just to see if I am starting to understand the macro syntax. Something feels wrong around the corpse retrieval. I switched to /corpsedrag and wonder if there was an error changing the /corpse loop. This is just an exercise for me to see if I can start making mods to macros. Did I get it right?
 
Search for the line /call CampfireBack

around line 1189 or so...

Rich (BB code):
    /while (1) {
        /doevents
        /if (${ChainPull}!=2) {
            /call CampfireBack

Right after the line /call CampfireBack

insert


/call GetCorpse ${Group.Puller.Name}

this assumes your puller is per the above designation. I know Maskoi hates putting in the actual names of any real character into scripts, so you will have to find a way to designate the name as a variable.

JJB


 
Go grab a corpse

Users who are viewing this thread

Back
Top
Cart