• Hail, we're RedGuides. We want you to play six (yes, 6!) EverQuest characters at once. We have scripts and a friendly community to help, please join our playstyle and say hello! 👋
  • We've added LLM sections to our Terms & Rules and Resource Rules, for everyone's sanity & in-game safety.
    Read more
    a. Do not replace your voice with an LLM. This goes for your posts and your scripts. Drafting and editing with a tool is fine, but don't take you out of what you share.
    b. Do not replace your EQ character's voice with an LLM. We don't want scripts that speak over /ooc, /shout or other public channels. This has been an unwritten rule that's kept casino scripts off the site for decades, but we're now compelled to make it clear: keep automated communication private.

    Why Does RG Review Scripts?
    Nearly every LLM-written Lua script we see is making your character do impossible things, and rarely in a way that's beneficial to you. We've seen heavy server hammering, /target over impossible distances when /nav spawn would passively accomplish the same thing, a spawn search that fires 20+ times per second, and other pointless actions that are likely annoying GMs.

    You are welcome to use LLMs as a tool to structure, draft, and edit your work, but please read critically before hitting /lua run

Vanilla - PetToys Improvement

shanecol

Member
I run multiple pet casters and have been generally frustrated with the downtime caused by the pettoysplz scripting as it is faster to do it manually.

So, I made some changes to the kissassist macro that radically improve the performance of this code section. These changes make pettoysplz run in a few seconds instead of several minutes in some cases. I don't know the official process to submit a code change recommendation, so just thought I would post it here.

Problems with old script:
1) Slllloooooooowwwwwwww
>>> changed some hard timers to conditional loops with a small delay so that macro can move as soon as the system responds.
>>> batched item give so that 4 items at a time can transfer at a time. This also helps with pets popping in and out of combat so the mage can get done sooner and back to fighting.
2) Mage will summon items it doesn't need for 76+ mage pets
>>> corrected case sensitive item filters
>>> Added ${PetToySpell.Find[Plate]} to the list since all items in the mass plate summons are already on the pet.
3) Mounted Mage is likely to overshoot the target pet which causes lots of flying around in potentially dangerous areas while wasting valuable combat time.
>>> changed moveto to nav as nav is more responsive especially when you are on a mount.
4) Mage will get stuck in pettoys loops if a fight starts while the mage is summoning.
>>> The above speed improvements coupled with kissassist_charname.ini files minimzes this.

PetToys1=Grant Visor of Gobeker
PetToys2=Grant Ocoenydd's Plate
PetToys3=Grant Crystasia's Heirlooms
PetToys4=Grant Wirn's Armaments|Summoned: Gorstruck Fireblade|Summoned: Gorstruck Iceblade

Buffs25=command:/multiline ; /nav id ${Group.Member[char_name].Pet.ID} ; /pettoysplz ${Group.Member[char_name].Pet.CleanName}|Cond16
Cond16=${Group.Member[char_name].Pet.Secondary}!=12508 && ${Group.Member[char_name].Pet.Secondary}!=12505

So, the Cond checks to see if secondary is either Summoned: Gorstruck Fireblade -or- Summoned: Gorstruck Iceblade. Since I put the weapons at the end of the list, this check effectively ensures that the pet has all items or it will spawn a new instance of pettoysplz.

Anyway, run a diff on the attached file vs the old code and you'll find ~40 changed/new lines. Should be fairly simple to put through your code standards process and include it in an upcoming release if you think it might help others.
 

Attachments

I run multiple pet casters and have been generally frustrated with the downtime caused by the pettoysplz scripting as it is faster to do it manually.

So, I made some changes to the kissassist macro that radically improve the performance of this code section. These changes make pettoysplz run in a few seconds instead of several minutes in some cases. I don't know the official process to submit a code change recommendation, so just thought I would post it here.

Problems with old script:
1) Slllloooooooowwwwwwww
>>> changed some hard timers to conditional loops with a small delay so that macro can move as soon as the system responds.
>>> batched item give so that 4 items at a time can transfer at a time. This also helps with pets popping in and out of combat so the mage can get done sooner and back to fighting.
2) Mage will summon items it doesn't need for 76+ mage pets
>>> corrected case sensitive item filters
>>> Added ${PetToySpell.Find[Plate]} to the list since all items in the mass plate summons are already on the pet.
3) Mounted Mage is likely to overshoot the target pet which causes lots of flying around in potentially dangerous areas while wasting valuable combat time.
>>> changed moveto to nav as nav is more responsive especially when you are on a mount.
4) Mage will get stuck in pettoys loops if a fight starts while the mage is summoning.
>>> The above speed improvements coupled with kissassist_charname.ini files minimzes this.

PetToys1=Grant Visor of Gobeker
PetToys2=Grant Ocoenydd's Plate
PetToys3=Grant Crystasia's Heirlooms
PetToys4=Grant Wirn's Armaments|Summoned: Gorstruck Fireblade|Summoned: Gorstruck Iceblade

Buffs25=command:/multiline ; /nav id ${Group.Member[char_name].Pet.ID} ; /pettoysplz ${Group.Member[char_name].Pet.CleanName}|Cond16
Cond16=${Group.Member[char_name].Pet.Secondary}!=12508 && ${Group.Member[char_name].Pet.Secondary}!=12505

So, the Cond checks to see if secondary is either Summoned: Gorstruck Fireblade -or- Summoned: Gorstruck Iceblade. Since I put the weapons at the end of the list, this check effectively ensures that the pet has all items or it will spawn a new instance of pettoysplz.

Anyway, run a diff on the attached file vs the old code and you'll find ~40 changed/new lines. Should be fairly simple to put through your code standards process and include it in an upcoming release if you think it might help others.
@shanecol awesome contribution! Kiss has a contribution/tester team - if you are interested in assisting with KissAssist stuff (like being able to submit merge requests and open issues) let @ctaylor22 know you are interested
 
@shanecol If you would be interested in working on the Kiss test team, I have already made some changes to the PetToys routine in the next version of kiss. The biggest change is the ability to beg for pet toys. There is now a queue/list for giving pet toys. there are a lot of advantages in the new structure. Let me know if you are interested and I will get you set up on discord and send you more information on what we need to add in the new pettoys routine.
 
I didn't look at the code change, but contributions are always awesome.

Does the armor change impact non-mage pets?
No. It is specific to the mage's personal pet summon. Basically I noticed that if I had 4 summons to get my BL and Chanter pets geared fully, it also summoned the same items for the mage. This fixes it so it only does 2 summons for the mage and all 4 for other pet classes.
 
@shanecol If you would be interested in working on the Kiss test team, I have already made some changes to the PetToys routine in the next version of kiss. The biggest change is the ability to beg for pet toys. There is now a queue/list for giving pet toys. there are a lot of advantages in the new structure. Let me know if you are interested and I will get you set up on discord and send you more information on what we need to add in the new pettoys routine.

I'd be happy to assist with the testing.

IRL I'm a senior data engineer supporting Big Data ML apps for one of the worlds largest tech companies. I have ideas for a dynamic data structure that would reduce ML training cycle time to seconds instead of hours. I think that EQ/MQ2/KA is a perfect testbed for this and would like to talk with someone on your team about how we might partner on the project so that KA can benefit from the result.

Pop me a link to the discord channel so we can have a conversation.
 
I run multiple pet casters and have been generally frustrated with the downtime caused by the pettoysplz scripting as it is faster to do it manually.

So, I made some changes to the kissassist macro that radically improve the performance of this code section. These changes make pettoysplz run in a few seconds instead of several minutes in some cases. I don't know the official process to submit a code change recommendation, so just thought I would post it here.

Did some testing on my 112 Mage tonight and this code change is just amazing.
 
Well I am trying to get these changes included into the Kissassit 12 version, but there are some other changes in the making. Was hoping @shanecol would join in with the Kiss Test team and give us a hand..
 
Vanilla - PetToys Improvement

Users who are viewing this thread

Back
Top
Cart