• 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

Config - Small additional information on KA .ini settings

Meeply

Member
Joined
May 4, 2018
RedCents
164¢
New user here. If this is obvious to everyone I apologize in advance. When reading the "KissAssist Instructions & Settings Info", there were recurring settings in the .ini toon files that were listed as "Need more info." As a commercial Windows dev, I can see what the writer is attempting in at least one instance.

Many of the spots under [] sections have a setting that would look like this.

Rich (BB code):
[DPS]
DPSOn=0
DPSCOn=0
DPSSize=20
DPSSkip=20
DPSInterval=2
DPS1=NULL
DPS2=NULL
DPS3=NULL
DPS4=NULL
DPS5=NULL
DPS6=NULL
DPS7=NULL
DPS8=NULL
DPS9=NULL
DPS10=NULL
DPS11=NULL
DPS12=NULL
DPS13=NULL
DPS14=NULL
DPS15=NULL
DPS16=NULL
DPS17=NULL
DPS18=NULL
DPS19=NULL
DPS20=NULL
DebuffAllOn=0


There is no description for the DSPSize nor the value it should be set to. This [Section name]Size setting seems fairly common in many other sections as well. The way I understand reading .ini files, there is an obvious reason for this. The developer wants to know how many entries to read. That's why in this case the value is set to 20. There are 20 DPS(x) entries. While it is possible to guess and check for the end of a list, the coding is a little more complicated. I can't tell if the developer was trying to make the code easier, faster or both.

While I can't tell how it would behave if the value doesn't exist or is too long, I'm fairly certain if it is set too small, the program reading the .ini file will skip over the extra entries. Ex: If DPSSize was set to 10, I believe any setting for DSP11 and higher would be skipped and ignored.

Just FYI if I am correct and someone wants to make the manual more complete.

Edit: Apologizes, after reading more, was in the wrong forum. Hopefully moved to the correct forum.
 
Last edited:
I think it is also about the fact the DPSSize is used to create an array, so they use a defined value to create the array which then creates the NULL entries ready for people to put in their spells/abilities
 
The size setting is there so u can tweak your inis to fit perfectly to your class.
Some classes only have 5 dps spells for example, so it is going to speed up your macro if u set it to only 5 then...

Instead of iterating over 20 entries it will now just do 5.
Other classes like wizard for example might need 30 entries... etc...
There was a time when the entries where hard coded to 20 and that was later changed to this system...

After u fill in your section you will know how many u need and then set the size to that value. If U only use up 17 spots change it to 17...

If u set it to for example 30, start kiss and then open the ini you will see that there are now 30 entries... kiss will default values to NULL to whatever the size is set to
 
Thanks for the clarification eqmule. I wouldn't know the how's and why's without seeing the code or being more experienced in mq2 but still basically the count of entries in the section. What surprises me is the number of examples on this site without that number. Does the code actively figure out how many entries and only use it for .ini file creation to leave space?

Mq2 noob just trying to make sense out of the documentation.
 
If you see ini files on this site which don't have the size set it just means it's an ini that was created before size was added and it was hardcoded to 20 or whatever.
 
Everything EQMule said is correct, with one exception. The sort routine recreates the arrays, getting rid of all the NULL/blank entries.

An example would be where you have DPSSize=20 and you only use the first 5 entries. When kiss starts it creates the DPS[] array with 20 elements DPS[20], but the sort routine will load all non-null entries, in this example that would be 5. Then in the sort routine, the DPS[] array is RECREATED with only 5 elements DPS[5].

This goes for all arrays used in kiss, that are sorted by the sort routine.
 
Thank you both for the responses. Helps me understand better what's going on as I try to level a whole new set of toons together and have to keep tweaking the .ini files every 5 levels etc. I haven't found what the name of that scripting language is or its full capabilities and limitations are yet so I'm not sure why it wouldn't use an automated sizing data structure like CArray or linked lists or various things I remember from my C++ days. You wouldn't have to pre-allocate much and only allocate more for each valid entry instead of using size entries or reallocate when sorting or a sort might not be needed as you could sort while reading the .ini the first time. I do very much understand that I don't understand the inner workings on what is available to you guys yet so I'm not judging, just trying to learn and anyway, some of the techniques I'm referring to might be better suited and easier for a plugin then any macro language anyway. Hoping after enough experience with this code and macro language I could become more useful on the development side.

While I do try to search before asking but just wondered if there was a separate forum for dev questions to help learn how to write and edit macro and plugins or does that stuff belong on the mq2 site or some other place than these forums? And if I can get my head around all this stuff, is there an outstanding todo list and wish list that others could help chip in on? Just haven't run across things like that yet.

Thanks again.
 
Last edited:
Everything EQMule said is correct, with one exception. The sort routine recreates the arrays, getting rid of all the NULL/blank entries.

An example would be where you have DPSSize=20 and you only use the first 5 entries. When kiss starts it creates the DPS[] array with 20 elements DPS[20], but the sort routine will load all non-null entries, in this example that would be 5. Then in the sort routine, the DPS[] array is RECREATED with only 5 elements DPS[5].

This goes for all arrays used in kiss, that are sorted by the sort routine.



Does the amount of empty (NULL) entries affect the responsiveness of the macro in terms of executing stuff faster? For the DPS section I always set it to the actual number of DPS (TRUE) statements I have, while say for Heals or Buffs section, I am to lazy to delete 18 entries that I never will use and just leave it as NULL. I'm wondering if I should set the size to the amount I actually have.
 
Does the amount of empty (NULL) entries affect the responsiveness of the macro in terms of executing stuff faster? For the DPS section I always set it to the actual number of DPS (TRUE) statements I have, while say for Heals or Buffs section, I am to lazy to delete 18 entries that I never will use and just leave it as NULL. I'm wondering if I should set the size to the amount I actually have.

Take a look at the SortArray routine, it will have the details of what arrays are sorted and then trimmed. But most of the Primary arrays are trimmed.
 
Config - Small additional information on KA .ini settings

Users who are viewing this thread

Back
Top
Cart