• 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

Problem - Battle Rez Help

howlinhoss

Active member
Joined
Aug 10, 2019
RedCents
265¢
Hi All,

I started playing on an emu server where I am loving modbot for playing 24 toons. Hoping to get some help with a few issues I see around rez and deaths.

Rezzing
[BGCOLOR=initial]1) If I remove the rez script my clerics wont rez. I assume rez script is still needed?[/BGCOLOR]
[BGCOLOR=initial]2) When rez script is used, I notice my clerics still rez in combat even if I remove cbt. [/BGCOLOR]
[BGCOLOR=initial]3) I didnt see MQ2REZ as a required plugin, does Modbot handle accepting rez and looting corpse? I have RezMinPct=96 but if I turn off MQ2Rez it wont accept the rez. [/BGCOLOR]
[BGCOLOR=initial]4) After rez sometimes melee toons will stand around - I see messages that functions are put on hold until they receive a command. Is there a way to stop this so after battle rez melee continue to fight? Confirmed ACMANAPCT=0 for melee/hybrid and 101 for casters.[/BGCOLOR]

Note: just did some more testing - I made a corpse and conversely changed idle to cbt. Even when not in cbt cleric was rezzing.

[BGCOLOR=initial]Attached my cleric ini file and a bard I saw standing around after rez. Thanks in advance for the help![/BGCOLOR]
 

Attachments

Last edited:
1) The DoRez in the config file actually has to do with accepting rez, has nothing to do with a rez capable class doing rez.
2) I have been toying with battle rez but havent had much time to devote to figuring out the odds & ends yet. Hope to report back more at a later date.
3) MQ2Rez is not required by modbot. I dont have it installed. Believe I looked at it briefly some time ago. IRC it also deals with accepting and not casting rez.
4) This is by design. Can include in the script a line to re-activate the toon, something like ie:
Code:
C6=/bct {Spawn[pccorpse].ID} //letsroll
or issue "/mb letsroll" on the respective toon.
 
1) The DoRez in the config file actually has to do with accepting rez, has nothing to do with a rez capable class doing rez.
2) I have been toying with battle rez but havent had much time to devote to figuring out the odds & ends yet. Hope to report back more at a later date.
3) MQ2Rez is not required by modbot. I dont have it installed. Believe I looked at it briefly some time ago. IRC it also deals with accepting and not casting rez.
4) This is by design. Can include in the script a line to re-activate the toon, something like ie:
Code:
C6=/bct {Spawn[pccorpse].ID} //letsroll
or issue "/mb letsroll" on the respective toon.
Thanks for the info Felis. So for MB to accept a rez all I really need is to set RezMinPct=96 and DoRez=True? I think I had those settings correct but I will have to test again.
 
Thanks for the info Felis. So for MB to accept a rez all I really need is to set RezMinPct=96 and DoRez=True? I think I had those settings correct but I will have to test again.
Thats about it. Theres also RezAcceptCall=TRUE wich I always set to true. Some of my groups have healers that can do battle calls but not rez ie sha/dru. In a group like this setting to false will eliminate the possibility of any type of battle rez/call wo doing a fade 1st but since both are dot classes aggro will only stay clear till the next tick. The receiving toon will auto-decline a call if set to false.

But like I said getting a toon to do a rez/call is another story. Its not natively implemented in ModBot but I know it can be done with the correct config entries/scripts. Just havent had time irl to play with it.
 
Yes, currently you'd have to setup scripts to detect the corpse, etc. If someone has a script, or has some pseudocode for it, let me know. I had an old one someplace, I'll see if I can find it. At minimum, we can share it here. If we can agree on a good implementation, I can code it into MB so we don't all need our own script entries.
 
Hi Woobs. Here is the code I found in the ini bank and that I have used. It works well to rez corpses. However it does not look like you can control clerics to rez in idle or cbt state. Also on same corpse after it casts the first rez it immediately casts again while toon has accepted rez/zoning/looting corpse. Alittle inefficient but not a major issue.

Code:
[AB6]
Gem=script
Spell=rezscript
SpellFoci=
DurMod=0
SpellAlias=rezspell
Announce=/bc
SpellMinMana=20
TarCnt=1
TarType=self idle
Recast=FALSE
SpellIcon=
PreCondition=TRUE

[AB7]
Gem=item
Spell=water sprinkler of nem ankh
SpellFoci=
DurMod=0
SpellAlias=rez
Announce=/rs Rezzing << %t >>
SpellMinMana=0
TarCnt=0
TarType=war shd pal rng mnk rog brd bst ber shm clr dru wiz mag enc nec idle
Recast=FALSE
SpellIcon=
PreCondition=TRUE

[Script-rezscript]
Commands=6
C1=/if (!{NearestSpawn[pccorpse radius 80].ID}) /return
C2=/target id {NearestSpawn[${RezCount},pccorpse pc].ID}
C3=/delay 2 {Target.Type.Equal[pccorpse]}
C4=/corpse
C5=/if (${RezCount}==3) /varset RezCount 1
C6=/call CastCall {Me.CleanName} ''cast rez {Spawn[pccorpse].ID}''
 
I came across this in 1 of the toon ini files posted. Going to use it as a base to work with.
Code:
[Script-rezscript]
Commands=6
C1=/if (!{Spawn[pccorpse radius 80].ID}) /return
C2=/target id {Spawn[pccorpse pc].ID}
C3=/delay 2 {Target.Type.Equal[pccorpse]}
C4=/corpse
C5=/call CastCall {Me.CleanName} ''cast rez {Spawn[pccorpse].ID}''
C6=/bct {Spawn[pccorpse].ID} //letsroll

Looks like you need a triggering event to call an entry to call the script. Like I said not my coding and havent had a chance to play with it yet. Keep in mind this is only in alpha stage and not sure how it will exactly tie together yet. In theory the heal entry should call the script wich casts the buff entry w the heal AA. Written for my clr. Thinking something like:
Code:
[AH2]
Gem=script
Spell=rezscript
SpellFoci=
DurMod=0
SpellMinMana=0
SpellAlias=rezspell
Announce=/bc Found a Dead one.
TarCnt=1
Class=pc hp1
PreCondition=TRUE
[AB11]
Gem=alt
Spell=Blessing of Resurrection
SpellFoci=
DurMod=0
SpellAlias=rez
Announce=/bc Resing %t
SpellMinMana=0
TarCnt=0
TarType=clr
Recast=FALSE
SpellIcon=
PreCondition=TRUE
 
Hi Woobs. Here is the code I found in the ini bank and that I have used. It works well to rez corpses. However it does not look like you can control clerics to rez in idle or cbt state. Also on same corpse after it casts the first rez it immediately casts again while toon has accepted rez/zoning/looting corpse. Alittle inefficient but not a major issue.
Thats where I got mine from. Calling it during combat or idle is based on what heal/buff/event is calling the res. Event would probably work best but would be superseded by a heal call that could interrupt the rez. Like I said its the minor details I need to work out. Also dont want it chain calling the script post res due to I probably need the toon healing elsewhere.

Clr in particular have a very short CD on rez so if the dead toon hasnt accepted it yet causing the corpse to poof the script will run again.

I however am not sure what the RezCount variable you have is for. Little out of context w just the script text. Dont believe its a modbot variable.
C5=/if (${RezCount}==3) /varset RezCount 1
 
Thats where I got mine from. Calling it during combat or idle is based on what heal/buff/event is calling the res. Event would probably work best but would be superseded by a heal call that could interrupt the rez. Like I said its the minor details I need to work out. Also dont want it chain calling the script post res due to I probably need the toon healing elsewhere.

Clr in particular have a very short CD on rez so if the dead toon hasnt accepted it yet causing the corpse to poof the script will run again.

I however am not sure what the RezCount variable you have is for. Little out of context w just the script text. Dont believe its a modbot variable.
C5=/if (${RezCount}==3) /varset RezCount 1
I was wondering what that was for too. I looked at the ini file I got it from and it had this start up script.

Code:
[Script-MBStartup]
Commands=3
C1=/declare RezCount int outer
C2=/varset RezCount 1
C3=/return
 
Looks like you got that from the 60 clr ini. Best I can tell is ${RezCount} is declared in the startup, used to find the nearest of any pc corpse then set to 1. I see no place the variable is incremented. Admittedly later in the post the guy admits he borrowed the code from elsewhere. I am assuming he missed an increment count somewhere which would cause the script to look for the 2nd closest pc corpse then the 3rd closest before resetting the variable to 1.

In the current state in the 60clr ini the variable is basically useless. But its an interesting idea but probably lacking in practice. Sha/Dru/Pal have longer CD on timers so the player has probably accepted rez and cleared there corpse by the time there timer is back. Possibly on a clr since there CD is so short allowing them to cycle corpses. But even so by the time they get to the 3rd corpse the 1st has probably been cleared and will alter the counting. If anything it might have some use in raids but meh....

No raids tonight and homework is about caught up for the wk so hoping to have some time to play with this tonight.
 
I made some small revisions to my clr rez but I was still unable to control tartype to control rez in cbt state or idle state. This caused some unfortunate wipes since my cleric was more focused on rezzing then healing. If I understand this correctly, rezscript just calls to use rez but does it consider the tartypes declared in rez?

Code:
[AB6]
Gem=script
Spell=rezscript
SpellFoci=
DurMod=0
SpellAlias=rezspell
Announce=/bc
SpellMinMana=20
TarCnt=1
TarType=self
Recast=FALSE
SpellIcon=
PreCondition=TRUE

[AB7]
Gem=item
Spell=water sprinkler of nem ankh
SpellFoci=
DurMod=0
SpellAlias=rez
Announce=/rs Rezzing << %t >>
SpellMinMana=0
TarCnt=0
TarType=war shd pal rng mnk rog brd bst ber shm dru wiz mag enc nec cbt idle
Recast=FALSE
SpellIcon=
PreCondition=TRUE

[Script-rezscript]
Commands=6
C1=/if (!{Spawn[pccorpse radius 80].ID}) /return
C2=/target id {Spawn[pccorpse pc].ID}
C3=/delay 2 {Target.Type.Equal[pccorpse]}
C4=/corpse
C5=/call CastCall {Me.CleanName} ''cast rez {Spawn[pccorpse].ID}''
C6=/bct {Spawn[pccorpse].ID} //mb letsroll
 
Well didnt get a chance to work on things tonight like I wanted, dam adulting. Ok basically there is an entry that based on some condition calls the res script. Where to stick this initial entry will take some trial and error as I dont want the program tied up continually checking for corpses.

The RezScript checks the immediate area for pc corpses, sets the target to that corpse, summons the corpse closer then calls an entry that does the actual rezing. This 3rd entry has the tarcount=0 so it doesnt activate on its own but is needed to be able to call a rez cast.

The [AB#] entries have nothing to do with checking targets. Since [AB6] is a buff and there is no associated spell icon for the spell it will always evaluate to true and therefore attempt to cast the buff wich runs the script wich cast rez.

The base issue is there is nothing in ModBot for targeting corpses so therefore you cant call the rez directly. Thats what the script is for. The checking of and targeting of said corpse so the Rez entry has something to cast on. The 2 main issues seem to be:
1) When and how often to call the RezScript
2) Stopping the condition from repeatedly attempting to Rez once it has been cast so the healer isnt being tied up for the duration.

On a side note you are much better off changing the [AB7] entry to gem=alt spell=Blessing of Resurrection. It has a much quicker cast/cycle time then the epic 1.0

Until I can get the time to try myself my recomendation would be to change [AB6] tarcount=0 to disable it for now jic you need to revert and 2nd try adding this entry:
Code:
[AE#]
Gem=script
Spell=RezScript
SpellFoci=
DurMod=0
Delay=#
EventMinMana=0
EventMinHP=1
EventMinEndur=0
MinMana=0
MaxMana=101
MinHP=0
MaxHP=101
MinEndur=0
MaxEndur=101
TarType=self cbt idle
SpellAlias=rezspell
Announce=/bc Checkign for corpses
TarCnt=1
Change delay=# to the time in seconds you want a delay between rez checks and will probably want to go with "announce=" once you have things dialed in so it doesnt spam too much.

The upside of an [AE#] entry is it will check in both combat and idle time. Down side is it will give a lower priority to it then heals and possibly interrupt the casting to cast a heal. Fine for any class but a dead tank. Not sure if it will check for healing while running a script as technically the script will be in control while the rez spell is casting.

Also with a slight tweak to the rezscript on a clr it should be fairly easy to have it cast divine rez on tank if it is available. Just need to research the variables for the /if statement.
 
Thanks for sharing this Felis. I will try it out on my EMU server tonight. We are in Velious so rez stick will take place of rez AA. Also I am in a raid setting so I will need to change C6 to look for warrior then use divine rez.

C6=/if ({Spawn[id {AHTargetName}].CleanName.Find[${Group.MainTank.Name}]} && {Me.AltAbilityReady[Divine Resurrection]}) /multiline ; /call CastCall {Me.CleanName} ''cast divinerez {Spawn[pccorpse].ID}'' ; /return
 
Deleted post, needs more testing. Something isnt updating right.
 
Ok think its functional now. You might have to edit a few things due to server. Still working on limiting Rez @woobs is there some sort of strange interaction with Buff entries that call scripts? No matter what I set the precondition to it always runs the script. Since the default of the variable =0 if there are no pc corpses around then this should limit calling the script if there are none in range but no matter what I change it to the script gets called.
Code:
PreCondition=/if ({Spawn[pccorpse radius 80].ID}!=0) /return TRUE

Yet the 1st line of the script
C1=/if (!{Spawn[pccorpse radius 80].ID}) /return will kick it back. Tried just removing the ! in the pre condition but no luck.

Working with clr 1st. I borrowed the AHATargetName as i looks to be declared in modheal but never used. As to the ini entries:
Code:
[Script-RezScript]
Commands=8
C1=/if (!{Spawn[pccorpse radius 80].ID}) /return
C2=/varset AHTargetName {NearestSpawn[1,pccorpse radius 80].ID}
C3=/target id {NearestSpawn[1,pccorpse radius 80].ID}
C4=/delay 5 {Target.Type.Equal[pccorpse]}
C5=/corpse
C6=/if ({Spawn[id {AHTargetName}].CleanName.Find[{Group.MainTank.Name}]} && {Me.AltAbilityReady[Divine Resurrection]}) /multiline ; /call CastCall {Me.CleanName} ''cast divinerez {Spawn[pccorpse].ID}'' ; /return
C7=/if ({Me.AltAbilityReady[Blessing of Resurrection]}) /call CastCall {Me.CleanName} ''cast rez {Spawn[pccorpse].ID}''
C8=/return
[AB#]
Gem=script
Spell=RezScript
SpellFoci=
DurMod=0
SpellAlias=rezcheck
Announce=/bc Found PC corpse
SpellMinMana=0
TarCnt=1
TarType=self cbt idle
Recast=FALSE
SpellIcon=
PreCondition=/if ({Spawn[pccorpse radius 80].ID}!=0) /return TRUE
[AB#]
Gem=alt
Spell=Blessing of Resurrection
SpellFoci=
DurMod=0
SpellAlias=rez
Announce=/bc Resing %t
SpellMinMana=0
TarCnt=0
TarType=clr
Recast=FALSE
SpellIcon=
PreCondition=TRUE
[AB#]
Gem=alt
Spell=Divine Resurrection
SpellFoci=
DurMod=0
SpellAlias=divinerez
Announce=/bc Divine Rez to %t
SpellMinMana=0
TarCnt=0
TarType=clr
Recast=FALSE
SpellIcon=
PreCondition=TRUE
 
Last edited:
Problem - Battle Rez Help

Users who are viewing this thread

Back
Top
Cart