BlackSpectre Posted December 24, 2022 Posted December 24, 2022 It was a long, 6 month journey, but I've finally figured out how we can send recipes using the /emailsendattachment slash command! OMG! I tried so many things. Random numbers up to 5,000. Patterns of numbers in imagined arrays, columns, and even numbers correlated to the letters/characters in recipe names, and of course, a numerical representation of alphabetical order. I tried codes intended to represent enhancement types and levels. I experimented with over 100 different enhancement recipes. Through all of this receiving the same error message, "This recipe is not tradeable". Six months of experimenting and nada, zilch, nothing. Last week I all but gave up. I hadn't broken the code and thought I had exhausted all of my options. There was nothing left to try. So off to Reddit I went, and asked for help. In my post I mentioned that I needed some bigger brains than mine to look at this problem. Yep. I was stuck. No where left to go... or so I thought. I don't know what the dynamic is that makes this happen, but somehow the mere act of asking for help provoked a flood of new ideas to investigate and test out. This is nowhere near the only time this has happened. I used to think it was the act of talking with someone, the conversation, the following of conceptual threads and connected implications that spurred new ideas to pop up, but this time there was hardly any conversation. It's the weirdest thing. Anyway, it turns out my fatal mistake was thinking that recipes needed an "inventory" number in order to be attached to an in-game email. It wasn't a far out idea at all... both inspirations and enhancements use an inventory number, so it makes sense that recipes would too... except they don't. After many searches, I discovered a server file named InvRecipe.dbidmap that had these strange numbers in a huge list of recipes broken down by name and by level. Since my new idea was that recipes themselves had an ID number that didn't have any relation to any sort of inventory location, I started testing the numbers in the file... and BAM! To my surprise, I hit on the solution! Boo-yah!!!! Instead of an inventory number, recipes use a special AttribFileItem ID number. The list includes the ID number, the internal name for the recipe that includes its level, and a letter from A-F representing one of each enhancement in a set. The new problem was there was no way to know which enhancement "C" was, for example! If I had 6 recipes, one for each enhancement in the set, which recipe would match A, B, C, D, E, or F? Over the last 6 months, I have been reading through a lot of code found in the game's configuration files. I'm not going to pretend I understand everything I've been reading, but In those files I saw mention of placing recipes in columns and arrays, and warnings not to change their locations. To me, this meant that recipes had a fixed sequential order which the game used to search for the recipe... and I was right. I tracked down a file that listed the recipes and their aspects (End Red/Accuracy/Damage/Range, etc) and correlated the order in which they appeared with the alphabetical order of A-F. Then I wrote a little script that took each AttribFileItem and paired it with one of the enhancement aspects in the other list. After 2 hours of processing it still wasn't done. I wrote a bad script that was processing the data far too slowly, even it it was doing it all accurately. I rethought how to accomplish what I wanted, and ended up settling on using the recipie/aspect list instead and a REGEX to match all of the recipes with the correct aspects in the AttribFileItem list. Then I went through the new list several times, fixing errors, eliminating bad data, and tracking down recipes that didn't appear in one or the other list. I finished that process 2 hours ago, and posted the new list and the new information at the Homecoming Wiki. You can find it all here... https://homecoming.wiki/wiki/Emailsendattachment_(Slash_Command) . I've been overflowing with excitement ever since I discovered the solution 3 days ago! I've figured out how to use a lot of new slash commands over the last 6 months and broken a lot of codes, but this discovery is the crown jewel! There was a part of me that felt we would never figure out how to send recipes with /emailsendattachment. Adversity can often make the successes we have far sweeter, and this is definitely true in this case. For the rest of you... well, consider this my Christmas gift to all of us. Merry Christmas, everyone! 🙂 2 1 4 Black Spectre - A Dark Defender's Home on the Web • The Advanced Bind Guide • The Masters of BAF: A Guide for Leaders and Players • The Wiki List of Slash Commands
Glacier Peak Posted December 24, 2022 Posted December 24, 2022 1 hour ago, BlackSpectre said: It was a long, 6 month journey, but I've finally figured out how we can send recipes using the /emailsendattachment slash command! OMG! I tried so many things. Random numbers up to 5,000. Patterns of numbers in imagined arrays, columns, and even numbers correlated to the letters/characters in recipe names, and of course, a numerical representation of alphabetical order. I tried codes intended to represent enhancement types and levels. I experimented with over 100 different enhancement recipes. Through all of this receiving the same error message, "This recipe is not tradeable". Six months of experimenting and nada, zilch, nothing. Last week I all but gave up. I hadn't broken the code and thought I had exhausted all of my options. There was nothing left to try. So off to Reddit I went, and asked for help. In my post I mentioned that I needed some bigger brains than mine to look at this problem. Yep. I was stuck. No where left to go... or so I thought. I don't know what the dynamic is that makes this happen, but somehow the mere act of asking for help provoked a flood of new ideas to investigate and test out. This is nowhere near the only time this has happened. I used to think it was the act of talking with someone, the conversation, the following of conceptual threads and connected implications that spurred new ideas to pop up, but this time there was hardly any conversation. It's the weirdest thing. Anyway, it turns out my fatal mistake was thinking that recipes needed an "inventory" number in order to be attached to an in-game email. It wasn't a far out idea at all... both inspirations and enhancements use an inventory number, so it makes sense that recipes would too... except they don't. After many searches, I discovered a server file named InvRecipe.dbidmap that had these strange numbers in a huge list of recipes broken down by name and by level. Since my new idea was that recipes themselves had an ID number that didn't have any relation to any sort of inventory location, I started testing the numbers in the file... and BAM! To my surprise, I hit on the solution! Boo-yah!!!! Instead of an inventory number, recipes use a special AttribFileItem ID number. The list includes the ID number, the internal name for the recipe that includes its level, and a letter from A-F representing one of each enhancement in a set. The new problem was there was no way to know which enhancement "C" was, for example! If I had 6 recipes, one for each enhancement in the set, which recipe would match A, B, C, D, E, or F? Over the last 6 months, I have been reading through a lot of code found in the game's configuration files. I'm not going to pretend I understand everything I've been reading, but In those files I saw mention of placing recipes in columns and arrays, and warnings not to change their locations. To me, this meant that recipes had a fixed sequential order which the game used to search for the recipe... and I was right. I tracked down a file that listed the recipes and their aspects (End Red/Accuracy/Damage/Range, etc) and correlated the order in which they appeared with the alphabetical order of A-F. Then I wrote a little script that took each AttribFileItem and paired it with one of the enhancement aspects in the other list. After 2 hours of processing it still wasn't done. I wrote a bad script that was processing the data far too slowly, even it it was doing it all accurately. I rethought how to accomplish what I wanted, and ended up settling on using the recipie/aspect list instead and a REGEX to match all of the recipes with the correct aspects in the AttribFileItem list. Then I went through the new list several times, fixing errors, eliminating bad data, and tracking down recipes that didn't appear in one or the other list. I finished that process 2 hours ago, and posted the new list and the new information at the Homecoming Wiki. You can find it all here... https://homecoming.wiki/wiki/Emailsendattachment_(Slash_Command) . I've been overflowing with excitement ever since I discovered the solution 3 days ago! I've figured out how to use a lot of new slash commands over the last 6 months and broken a lot of codes, but this discovery is the crown jewel! There was a part of me that felt we would never figure out how to send recipes with /emailsendattachment. Adversity can often make the successes we have far sweeter, and this is definitely true in this case. For the rest of you... well, consider this my Christmas gift to all of us. Merry Christmas, everyone! 🙂 I don't understand the significance of your discovery, but I'm excited that you've achieved your goal! I lead weekly Indom Badge Runs / A newer giant monster guide by Glacier Peak / A tour of Pocket D easter eggs! / Arena All-Star Accolade Guide! Best Post Ever....
WanderingAries Posted December 24, 2022 Posted December 24, 2022 While cool to see something so worked out, I'm not sure how much faster this will be in practice. OG Server: Pinnacle <||> Current Primary Server: Torchbearer || Also found on the others if desired <||> Generally Inactive Installing CoX: Windows || MacOS || MacOS for M1 <||> Migrating Data from an Older Installation Clubs: Mid's Hero Designer || PC Builders || HC Wiki || Jerk Hackers Old Forums <||> Titan Network <||> Heroica! (by @Shenanigunner)
BlackSpectre Posted December 24, 2022 Author Posted December 24, 2022 1 hour ago, WanderingAries said: While cool to see something so worked out, I'm not sure how much faster this will be in practice. It depends on what we can do with it using binds/macros. /emailsendattachment definitely has advantages for specific applications over using the UI, but if you don't need to send the same thing multiple times, don't need to send multiple items with fast clicks, don't need to send one of any number of items in one click, or don't need to automate anything I totally agree. On the other hand, if you do... Black Spectre - A Dark Defender's Home on the Web • The Advanced Bind Guide • The Masters of BAF: A Guide for Leaders and Players • The Wiki List of Slash Commands
BlackSpectre Posted December 24, 2022 Author Posted December 24, 2022 2 hours ago, Glacier Peak said: I don't understand the significance of your discovery, but I'm excited that you've achieved your goal! Thanks. I'm excited too! I think the significance is that a door that has been locked since the beginning of the game is now unlocked... for the first time ever. That's worth celebrating. Whether or not the door leads anywhere is up in the air, but now we have the chance to find out! 🙂 2 Black Spectre - A Dark Defender's Home on the Web • The Advanced Bind Guide • The Masters of BAF: A Guide for Leaders and Players • The Wiki List of Slash Commands
Greycat Posted December 26, 2022 Posted December 26, 2022 On 12/23/2022 at 8:59 PM, BlackSpectre said: I don't know what the dynamic is that makes this happen, but somehow the mere act of asking for help provoked a flood of new ideas to investigate and test out. This is nowhere near the only time this has happened. I used to think it was the act of talking with someone, the conversation, the following of conceptual threads and connected implications that spurred new ideas to pop up, but this time there was hardly any conversation. It's the weirdest thing. "Explain it to a duck." Doesn't matter if there's no real conversation. You can explain a problem to a rubber duck and suddenly get ideas... since you're having to start from the beginning and explain everything, including what you're assuming. 1 Kheldian Lore and Backstory Guide 2.0: HC edition Out to EAT : A look at Epic ATs - what is, could have been, and never was Want 20 merits? Got a couple of minutes? Mini guide to the Combat Attributes window
lemming Posted December 26, 2022 Posted December 26, 2022 5 hours ago, Greycat said: "Explain it to a duck." Doesn't matter if there's no real conversation. You can explain a problem to a rubber duck and suddenly get ideas... since you're having to start from the beginning and explain everything, including what you're assuming. Heh. We used to have a mannequin at one job when you wanted someone to look at an issue you were having with code because it usually was during the explanation phase, you'd suddenly go "Oh, there's the problem!" At least while working from home, I can show a problem to my cat. 1
Crystal Dragon Posted December 27, 2022 Posted December 27, 2022 On 12/26/2022 at 5:53 AM, Greycat said: "Explain it to a duck." Doesn't matter if there's no real conversation. You can explain a problem to a rubber duck and suddenly get ideas... since you're having to start from the beginning and explain everything, including what you're assuming. Wait, Conrad joined the forums too? (Sorry I couldn't help myself.) 1 Roleplaying mentor volunteer, and mentorship contributor. Chatrange Popmenu/Where to find me/Beginners Links
Zepp Posted December 28, 2022 Posted December 28, 2022 query: is there a way to get around the "no spaces" thing in global names? Archetype Concept Compilation -- Powerset Concept Compilations: Assault Melee -------------------------------------------------------------------------------------------------------------------------------------------------------------------- The Great Archetype Concept Battle: Final Round -------------------------------------------------------------------------------------------------------------------------------------------------------------------- Archetype Proposal Amalgamation
Glacier Peak Posted December 28, 2022 Posted December 28, 2022 2 hours ago, Zepp said: query: is there a way to get around the "no spaces" thing in global names? I was going to say use underscore I lead weekly Indom Badge Runs / A newer giant monster guide by Glacier Peak / A tour of Pocket D easter eggs! / Arena All-Star Accolade Guide! Best Post Ever....
Zepp Posted December 28, 2022 Posted December 28, 2022 2 hours ago, Glacier Peak said: I was going to say use underscore Thanks, that worked, Unfortunately, not I just automatically accept emails I send to myself Archetype Concept Compilation -- Powerset Concept Compilations: Assault Melee -------------------------------------------------------------------------------------------------------------------------------------------------------------------- The Great Archetype Concept Battle: Final Round -------------------------------------------------------------------------------------------------------------------------------------------------------------------- Archetype Proposal Amalgamation
BlackSpectre Posted December 28, 2022 Author Posted December 28, 2022 10 hours ago, Zepp said: query: is there a way to get around the "no spaces" thing in global names? Sadly, no. It's a bug with the commands. Their code would need to be altered in order to fix that problem... and it's low priority for the devs. So I think we're out of luck. Black Spectre - A Dark Defender's Home on the Web • The Advanced Bind Guide • The Masters of BAF: A Guide for Leaders and Players • The Wiki List of Slash Commands
Marine X Posted December 29, 2022 Posted December 29, 2022 (edited) 23 hours ago, Zepp said: query: is there a way to get around the "no spaces" thing in global names? I'm confused, my in game Globals are @Marine X and @Marine X2, is there something I am missing, because both work and I email stuff to my Global regularly on both accounts. Or does the issue only come into play with the send email attachment slash command? Have never used it. Edited December 29, 2022 by Marine X " When it's too tough for everyone else, it's just right for me..." ( Unless it's Raining, or Cold, or Really Dirty or there are Sappers, Man I hate those Guys...) Marine X
Zepp Posted December 29, 2022 Posted December 29, 2022 4 hours ago, Marine X said: I'm confused, my in game Globals are @Marine X and @Marine X2, is there something I am missing, because both work and I email stuff to my Global regularly on both accounts. Or does the issue only come into play with the send email attachment slash command? Have never used it. Only an issue with the slash command. The underscore workaround works, but if you email it to yourself you automatically collect 1 Archetype Concept Compilation -- Powerset Concept Compilations: Assault Melee -------------------------------------------------------------------------------------------------------------------------------------------------------------------- The Great Archetype Concept Battle: Final Round -------------------------------------------------------------------------------------------------------------------------------------------------------------------- Archetype Proposal Amalgamation
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now