So from the script behind these two chat boxes where I click on the +1 magic arrows for this character's inventory of stuff in the section Equipment : As an example, I am able to draw the 20 character code for the +1 Arrows which is -OsjMmJU-yHNFVyZlyVq . I know from the various help sections it might be best to use .toLowerCase(), but I am not sure how to search for, let's say: Displaying repeating_equipment_$X_equipment_description in the 2nd Details chat, and Modifying repeating_equipment_$X_equipment_quantity without going over the repeating_equipment_$X_equipment_description|max , if latter is specified. Note that quantity is already showing - that's one of the characteristics passed from the original calling script to produce the first chat box, above (showing in the button <> 1) and to the Quantity amount in the second chat box. Can anyone give me a hint of how to find those things? I also have the character token ID, but I don't think that's needed to find and change the number. I'd be adding a button to change amount. My JS code for the second chat window, if necessary, is: //This will be launched from the StuffAmmo.js script. //No need to check for selected character as it is established in //which opens the first chat window. on('ready', () => { const ver = "Version 1"; const verdate = "2 June 2026"; log("═╣ StuffAmmoEq.js for All Eqpt by Tim, !stuff " + ver + ", " + verdate + " ╠═"); on("chat:message", function(msg) { if (msg.type !== "api") return; let args = msg.content.trim().split(/\s*--/); if (args[0].toLowerCase() !== "!listequip") { //log("Crumbs, it did not work: " + msg.content); return; //log("It worked: " + msg.content); // process args here let charID = args[1]; let charName = args[2]; let eqID = args[3]; let equipName = args[4]; //although a number in calling script, arguments are passed as strings, I believe let qtyNo = parseInt(args[5], 10) || 0; let equipMagic = parseInt(args[6], 10) || 0; //sendChat ("System", "2) charID: " + charID + " charName: " + charName + " eqID: " + eqID + " equipName: " + equipName + " Qty: " + qtyNo ); //Set up button and chat window: // The following 4 constants are from ROTTO's TradingPost.js const esc = (s) => String(s) .replace(/&/g, '&amp;') .replace(/</g, '&lt;') .replace(/>/g, '&gt;') .replace(/"/g, '&quot;') .replace(/'/g, '&#39;'); const attrEsc = esc; const panel = (title, body, usercolour) => '<div style="background:' + usercolour + ';border:1px solid #5b4632;border-radius:10px;padding:2px;max-width:760px;color:#f7f1e6;box-shadow:0 2px 6px rgba(0,0,0,0.35);">' + '<div style="font-size:22px;font-weight:bold;text-align:center;margin:0 0 10px 0;font-family:Georgia,serif;color:#fff8ec;line-height:1.15;word-break:break-word;">' + title + '</div>' + '<div style="background:#efe3cf;color:#1b1712;padding:12px;border-radius:6px;">' + body + '</div>' + '</div>'; const btn = (label, cmd, width) => '<a style="display:inline-block;text-align:center;margin:1px 2px 1px 0;padding:3px 6px;min-width:' + (width || 90) + 'px;color:#ffffff;background:#8a5a32;border:1px solid #6a4323;border-radius:6px;text-decoration:none;font-normal:100;" href="' + attrEsc(String(cmd).replace(/\n/g, ' ')) + '">' + esc(label) + '</a>'; //Get user colour from Roll Template Cover on sheet let usercol = getAttrByName(charID,"color_option") || ""; //Translate AD&D 1e sheet colour names to hex - may not be necessary, but convert to hex colours anyway. const colorMap = {"black": "#000000", "blue": "#4479EA", "darkblue": "#293178", "darkgreen": "#004900", "darkgrey": "#484848", "darkorange": "#6D2306", "darkpink": "#5A1D59", "darkpurple": "#4E2267", "darkred": "#6C1515", "darkyellow": "#977D30", "green": "#189A30", "grey": "#9E9E9E", "orange": "#D15400", "pink": "#B751B5", "red": "#FF0000", "white": "#FFFFFF", "yellow": "#F2E000"}; let userhex = colorMap[usercol] || "#FFFFFF"; if (userhex === "#FFFFFF") { userhex = "#808080"; } //Assemble title let strTitle = "<p>" + charName; strTitle += "<br>" + equipName+ "</p>"; //Assemble body let strBody = ""; if (equipMagic === 1) { strBody += "Magic Item"; if (qtyNo !== 1) { strBody += "s, "; } else { strBody += ", " } } strBody += "Quantity: " + qtyNo; sendChat("Details", panel(strTitle, strBody, userhex)); return; }); }); Thanks