How do Config.MakeRunewords works exactly?

In the charconfig.js it I have this:

Summary

Config.Runewords.push([Runeword.Lore,“Cap”]);
Config.Runewords.push([Runeword.Lore,“Skull Cap”]);
Config.Runewords.push([Runeword.Lore,“Helm”]);
Config.Runewords.push([Runeword.Lore,“Mask”]);
Config.Runewords.push([Runeword.Lore,“Bone Helm”]);
Config.Runewords.push([Runeword.Lore,“War Hat”]);
Config.Runewords.push([Runeword.Lore,“Sallet”]);
Config.Runewords.push([Runeword.Lore,“Casque”]);
Config.Runewords.push([Runeword.Lore,“Death Mask”]);
Config.Runewords.push([Runeword.Lore,“Grim Helm”]);
Config.KeepRunewords.push("[type] == helm # [LightResist] >= 25");

In the pickit.nip it I have this:

Summary

//Lore
[Type] == Helm && [quality] == normal && [flag] != ethereal # [sockets] == 2 # # [maxquantity] == 1

1-We are agree that the bot will make the runeword Lore if Config.MakeRunewords = true ?
2-and “KeepRunewords.push” is MANDATORY to keep the runeword, otherwise it will reroll infinitly right?
3-I do have to put the base(s) item(s) in the pickit.nip so the bot will start collecting the runes after it find the base helmet 2 soc?

4-Why the hell it doesn’t work? no 2 soc helmet found in 4 days of botting

5- is it possible to make the bot do only this runeword once, so I don’t have 20 Lore in my inventory?

6- I’m I doing something wrong with pickit.nip of those base items? I made some mistakes maybe?

Summary

//Spirit
([Name] == CrystalSword || [Name] == BroadSword) && [quality] == normal && [flag] != ethereal # [sockets] == 4 # # [maxquantity] == 1
//Lore
[Type] == Helm && [quality] == normal && [flag] != ethereal # [sockets] == 2 # # [maxquantity] == 1
//Insight
[Type] == Polearm && [Flag] == Ethereal && [Quality] == Superior # [Sockets] == 4 # [MaxQuantity] == 2
//Leaf
//[Type] == Staff && [Flag] != Ethereal && [Quality] <= Superior # [SkillFireMastery]+[SkillMeteor]+[SkillFireball] >= 3 && [Sockets] == 2 # [MaxQuantity] == 1
//Stealth
[Type] == Armor && ([Name] == QuiltedArmor || [Name] == LeatherArmor || [Name] == HardLeatherArmor || [Name] == StuddedLeather || [Name] == RingMail || [Name] == BreastPlate || [Name] == LightPlate) && [quality] == normal && [flag] != ethereal # [sockets] == 2 # # [maxquantity] == 1
//Smoke
([Name] == QuiltedArmor || [Name] == LeatherArmor || [Name] == HardLeatherArmor || [Name] == StuddedLeather || [Name] == RingMail || [Name] == BreastPlate || [Name] == LightPlate) && [quality] == normal && [flag] != ethereal # [sockets] == 3 # # [maxquantity] == 2
//Spirit
[Name] == Monarch && [quality] == normal && [flag] != ethereal # [sockets] == 4 # # [maxquantity] == 1

Hmm, could it fail because I put “# # [maxquantity] == 1” with double # # where there should be only one?

you don’t need any low helm for Lore runeword, anyway the runeword level is 27 (Sol)

any line should contain the option for Roll variable from Cubing.js, like:

Config.Runewords.push([Runeword.Lore,“Bone Helm”, Roll.NonEth]);

1 yes

2 yes, according to lines 113-125 from Runewords.js

3 yes, but you can also pick normal helms (maybe a defense stat value should be added) and use the cube socketing
Config.Cubing = true;
Config.Recipes.push([Recipe.Socket.Helm, “Bone Helm”, Roll.NonEth]); // Socket nonethereal Bone Helm

4 … maybe the areas aren’t proper for dropping socketed items

5 idk, maybe a condition for defense should be added in the pickit for helms

6 … maybe some of the condition should be removed and the low level armors. why high level armors aren’t included?
([name] == mageplate || [name] == duskshroud || [name] == wyrmhide || [name] == scarabhusk || [name] == wirefleece || [name] == greathauberk || [name] == archonplate)
check The Arreat Summit - Items: Elite Armor
[type] == armor && [class] == elite || [name] == mageplate

Summary

//Spirit
([Name] == CrystalSword || [Name] == BroadSword) && [flag] != ethereal # [sockets] == 4 # # [maxquantity] == 1
//Lore
[Type] == Helm && [flag] != ethereal # [sockets] == 2 # # [maxquantity] == 1
//Insight
[Type] == Polearm && [class] == elite && [Flag] == Ethereal # [Sockets] == 4 # [MaxQuantity] == 2
//Leaf
//[Type] == Staff && [Flag] != Ethereal # [SkillFireMastery]+[SkillMeteor]+[SkillFireball] >= 3 && [Sockets] == 2 # [MaxQuantity] == 1
//Stealth
[Type] == Armor && ([Name] == RingMail || [Name] == BreastPlate || [Name] == LightPlate) && [quality] == normal && [flag] != ethereal # [sockets] == 2 # # [maxquantity] == 1
//Smoke
([Name] == RingMail || [Name] == BreastPlate || [Name] == LightPlate) && [quality] == normal && [flag] != ethereal # [sockets] == 3 # # [maxquantity] == 2
//Spirit
[Name] == Monarch && [flag] != ethereal # [sockets] == 4 # # [maxquantity] == 1

No, check NipGuide max-quantity

Lore is just an exemple frankely, I’m running autosmurf with autobuild/autoequip and I would like that the bots do some cheap/easy runewords and autoequip them. It works for spirit sword/monarch but doesn’t on stealth/lore/insight/ancienpledge/smoke --> the base items aren’t keep for those runeword

Roll.NonEth does’t seem to be mandatory, it works without it for spirit sword/monarch. Nonetheless I updated all runewords with it, we will see.

High level armor aren’t included because they require too much str.

Areas are proper, I used this pickit to clean a lot of areas (act4, act1, act5, cow…), the bot found 5 broad sword (no cristal?) and 2 monarch 4 soc… plenty of 2 soc armor/helmet should have drop xD

Trying this now, can someone check if there is any mistakes?

Summary

//Spirit
([Name] == CrystalSword || [Name] == BroadSword) && [quality] == normal && [flag] != ethereal # [sockets] == 4 # [maxquantity] == 1
//Lore
[Type] == Helm && [Quality] == normal && [Flag] != ethereal # [Defense] >= 1 && [Sockets] == 2 # [maxquantity] == 1
//Insight
[Type] == Polearm && [Flag] == Ethereal && [Quality] == Superior # [Sockets] == 4 # [MaxQuantity] == 2
//Leaf
//[Type] == Staff && [Flag] != Ethereal && [Quality] <= Superior # [SkillFireMastery]+[SkillMeteor]+[SkillFireball] >= 3 && [Sockets] == 2 # [MaxQuantity] == 1
//Stealth
[Type] == Armor && ([Name] == QuiltedArmor || [Name] == LeatherArmor || [Name] == HardLeatherArmor || [Name] == StuddedLeather || [Name] == RingMail || [Name] == BreastPlate || [Name] == LightPlate) && [Quality] == normal && [Flag] != ethereal # [Defense] >= 1 && [Sockets] == 2 # [maxquantity] == 1
//Smoke
[Type] == Armor && ([Name] == QuiltedArmor || [Name] == LeatherArmor || [Name] == HardLeatherArmor || [Name] == StuddedLeather || [Name] == RingMail || [Name] == BreastPlate || [Name] == LightPlate) && [Quality] == normal && [Flag] != ethereal # [Defense] >= 1 && [Sockets] == 2 # [maxquantity] == 1
//Spirit
[Name] == Monarch && [quality] == normal && [flag] != ethereal # [sockets] == 4 # [maxquantity] == 1

I fixed it by adding defense to requirement, and deleting a pickit line in autobuild (bot were set to pick ONE helmet/armor white in autobuild, and same with socket armor/helm in normal pickit).

Now I’m looking for a way to make one and only runeword type per char.

by example these line won’t pick any superior crystal sword or broadsword with 4 sockets, and any superior helm with 2 sockets

maybe you can use [Quality] <= Superior if the stat requirements contains the sockets