Would it be possible to edit the .EXE so the first facility encounters would spawn other items?

16 posts / 0 new
Last post
#1
Would it be possible to edit the .EXE so the first facility encounters would spawn other items?

As the title reads.

Is it?

I've toyed around with editing the .exe a bit; I believe it would be possible, you would just have to make sure that your desired item would have the same number of characters as the two possible items to get at the start [multi-tool and first-aid kit] but then you wouldn't get those items. As far as adding more items to receive at the start, I wouldn't know how to go about doing so; it would take quite a bit of programming knowledge. Quite frankly, I couldn't imagine two better starting items than the FAK and the multi-tool. [ Lest of course you replace the FAK with maybe a backpack, though the loot inside, if any, may or may not be better than the loot in the FAK ]

TLDR: Yes, but you would be giving up the items that originally spawned and the text would stay the same. [ I wouldn't recommend editing it, unless you happen to put the same number of characters, which I suppose would be possible with extra spaces after the final character if it were too short, but too long, I wouldn't know what to do.]
Pardon the run-on sentence.

Well, despite having looked at those two tables for those two particular encounters, i don't see where i'm supposed to change the ID's for the items being spawned.

On line 299473 (notepad ++) It shows the treasure table ID for the multi-tool, 67.
On line 243882 (notepad ++) That event calls for the ID 67. My guess would just be to edit that number with the treasure table ID for the item you want. I would play around with it myself, but I've a character I can't really let go of right now. :\
Line 299049 (N++) is the treasure ID for the dmc pass: 14
Line 299529 .308 Rifle with scope and Strap; treasure ID 74

Now the first aid kit its ID is a single digit: 5, line 298977 it is called a medical kit here for some reason.

The things you can sub in here aren't really much of anything. just some scavenger loot results; multiple, bandit loadout (ID: 9, line 299009), and some fires.

Again, this is all guess work from looking at the code, I have yet to test any of this for the sake of my currently living NEO Scavenger. :3

Addendum: I'd also like to reiterate that treasuretable IDs are different than regular item IDs unlike what I first assumed. Treasure table starts on line 298943

Second Addendum: Just noticed that .982 is up and official and hopefully stable, all of what I wrote is for .980, but the general idea is the same, line numbers will probably differ.

Unless there's actually something more specific to look for besides ID numbers, i'm not sure i can find it

As of the latest one, the incomprehensible jibber-jabber stops at line 341323.

... And looking around, i actually find the things i am looking for, I THINK!

First of all, the item table:

<table name="itemtypes"> <column name="id">90</column> <column name="nGroupID">46</column> <column name="nSubgroupID">0</column> <column name="strName">multitool</column> <column name="strDesc">Pearson &quot;Ravager&quot; multitool pocket knife</column> <column name="strDescAlt"></column> <column name="nCondID">1</column> <column name="vImageList">ItmMultiTool.png,ItmMultiToolHeld.png</column> <column name="vImageUsage">0,0,0,0,1,1</column> <column name="fWeight">0.12</column> <column name="fMonetaryValue">50</column> <column name="fMonetaryValueAlt">0</column> <column name="fDurability">1</column> <column name="fDegradePerHour">0</column> <column name="fEquipDegradePerHour">0.0001</column> <column name="fDegradePerUse">0.01</column> <column name="vDegradeTreasureIDs">3,3</column> <column name="aEquipConditions"></column> <column name="aPossessConditions"></column> <column name="aUseConditions"></column> <column name="aCapacities"></column> <column name="vEquipSlots">21=1=1,20=1=1</column> <column name="vUseSlots"></column> <column name="bSocketLocked">0</column> <column name="vProperties">5,6,9,10,13,15,18,21,28,45,48,50</column> <column name="aContentIDs"></column> <column name="nFormatID">3</column> <column name="nTreasureID">0</column> <column name="nComponentID">3</column> <column name="bMirrored">0</column> <column name="nSlotDepth">0</column> <column name="strChargeProfiles"></column> <column name="aAttackModes">20=12,21=12</column> <column name="nStackLimit">1</column> <column name="aSwitchIDs"></column>

The only remotely ID interesting number i see is 90 at one of the first lines. the ID.

Next, for the treasuretable you mention:

<table name="treasuretable"> <column name="id">67</column> <column name="strName">Multitool</column> <column name="aTreasures">46.0x1.0x1</column> <column name="bNested">0</column> <column name="bSuppress">0</column> <column name="bIdentify">0</column>

there's no number 90, so how that works, i don't understand at all...

And here's the encounter table:

<table name="encounters"> <column name="id">242</column> <column name="strName">Use eagle eye to notice details</column> <column name="strDesc">Something catches your your eye as you scan the room. Obscured in the shadows behind tank #2, it looks like something small and metallic is lying on the floor. Upon closer inspection, it appears to be a multitool pocket knife. Probably left behind by maintenance personnel ages ago, and nobody saw it since. Whoever left it here, you're pretty sure they don't need it as much as you, so you decide to take it.</column> <column name="strImg">EncCryoFacility.png</column> <column name="nTreasureID">67</column> <column name="nRemoveTreasureID">3</column> <column name="aConditions">16</column> <column name="aPreConditions">-16</column> <column name="fPrice">0</column> <column name="aResponses">=237x1x0x0x0</column> <column name="aMinimapHexes"></column> <column name="bRemoveCreatures">0</column> <column name="bRemoveUsed">0</column> <column name="nItemsID">155</column> <column name="nCreatureID">0</column> <column name="ptCreatureHex">0,0</column> <column name="ptTeleport">0,0</column> <column name="ptEditor">7697,-6638</column> <column name="nType">0</column> <column name="fLootChance">0</column> <column name="fAccidentChance">0</column> <column name="fCreatureChance">0</column> <column name="vAccidents">1</column> <column name="vLoot">3</column> </table> <table name="encounters"> <column name="id">243</column> <column name="strName">Search the console for records.</column> <column name="strDesc">You check the console for any patient info, and come across three records:

So i see the connection between the encounter and the treasure, but i still don't get WHERE the treasuretable gets the ID from.

Okay I just tested it, I changed the ID from 67 to 74 and low and behold I recieved a .308 with a scope and a strap. :)
My guess is that treasuretable IDs are used in the loot generating random number generator. After the item has been created it uses its regular Item ID. So say, for example, that it rolls a 67 which generates item ID 90.

Not every item has a treasure table ID, because not every item is available for loot/craftable. So yeah. Treasuretable IDs are used for item generation, Regular item IDs are used for other things, perhaps calling for craft ingredients? I'm still trying to make sense of those craft recipes. I'm also not entirely sure what tempTreasureID's are.

TLDR; if you want to change the LOOT use TREASURE IDs.

PS. I tried posting the modified event, but I got blocked by the spam filter. .-.

Really appreciating that you wanna help me! :)

And i was thinking, is it possible to add multiple ID's to that one encounter?

...

You know what, i am actually having another crazy thought here. Just like the C-store in DMC, is it theoretically possible to rig one of the places/encounters in the cryo facility to -maybe- act like the c-store? Like, with custom items, and if you'd use the console again, it would automatically resock, just like when you re-enter the C-store?

...

I absolutely cannot stop tampering with this! So far, i know this much:

IMAGE(http://i.imgur.com/RMILuSo.png)

The problem is, that the exe is formatted a certain way and has a very specific number of characters, if you change the number of characters the game no longer works, it needs to be reformatted. This is something that is beyond my level of expertise. However I would be willing to take a crack at if you'd like to get together on Skype [for screen share & for text communication, not for voice or video] or something I can PM you my name.

Now that said, I couldn't figure out what those were before, I assumed that it had to do with the chance to spawn the items, not the amount. I don't believe that I have ever had two .308 w/scope & sling spawn at the same time, lol.

Now that you've highlighted the aTreasures thing, I'm thinking those periods are denoting each item in a list if translated to regular text, I'd see it as: 28, 2x1, 0x2-1. Also I don't know where or what the C-Store is... honestly I haven't ever made it to the DMC I kind of get killed a lot.

How much C++ programming have you done, or any programming for that matter; as what you're wanting to do is really out there, quite a bit more than just changing a couple of variables. [Plus the spam filter has been giving me a lot of issues on this forum, and I have no idea why, lest it has to do with all of the punctuation I use, lol.]

Yeah, in the time before you made that replied, i actually deducted that adding additional, JUST A SINGLE, digit or character screws up the whole thing.

Actually being able to edit the cryo encounters to spit out rifles w/ strap'n'scope, and compound bows is just a damn amazing coincidence.

And the whole thing about the C-store:

Spoiler: Highlight to view
It's a convenience store in DMC that sells some assorted stuff. They feature a stock of water, canned food, lighters etc. The good thing about the C-store, is they restock as soon as enter the store, even after you bought the whole thing, left and entered again.

I'm starting to speculate that would even be possible with the whole "Add a digit and kill the .exe" thing.

As for programming. I have absolutely no knowledge to any of the languages, but on a handful of languages, i pick it up fairly quickly.

As for the entire get-together thing, i guess we could give it a go.

But getting to me is probably easier through steam: http://steamcommunity.com/profiles/76561197965059086/ - If you don't use, or have steam, my skype name is lekkimsm2500.

Looking forward!

28.2 is the item ID.
1.0 is the chance for that item to spawn. In this case is 100%.
2-1 is the amount of that item. In this case, 2 or just 1.

Pew pew pew!

I have a thought, though not sure how well it will work... I've edited the capacity of the medpack from 4x4 to 8x8 so now it can hold bigger items, perhaps there's a way to change the contents of the med pack that will spawn with the medic perk... I'm going to look into the code for this be back later to let you know what I find.

Actually it is perfectly possible, you're going to want to look at the treasure-tables. :) As always keep the number of digits the same, that said I would like to let you know that the game reads preceding zeros and extraneous decimals just fine. That is, 003 and 03. work just was well as 3 to allow you to avoid editing the number of characters/format of the game.

You can make it so that those medkits have lots more of the same items already possible [ probably only up to 9, though] as well as making that have a 100% chance of spawning all of those possible items.

An easy to understand and do example of this would be going to the Haggerty Health Clinic and finding those encounters and encounter options in the .exe So you find the one that allows you to purchase anti-biotics. Well you have a couple of options here, one you could edit the number of those anti-biotics bottles that spawn [ I'm not actually sure if they're all going to have things in them] You can edit the number of pills that come inside of them [ again not sure if they all go in all bottles if that value is edited, and it can only be increased to 9 pills per bottle, which is 150% of the original value] or you can change it to something more desirable, perhaps a nanokit refill? [ Which is something I did just to try it, works fine] and while you're at the nanokit you're probably going to make that spawn chance 100% unless you'd like to balance it a little bit by keeping the current spawn chance. [ It'd be sort of like a medical lotto lol.] And you can also edit the number of refills that pop up, again only up to 9. All of these would be done by going to the treasuretable called in the encounter [be it the default one or one that you've edited in there] and editing that.

All of that said, you can turn this encounter [purchasing ' six antibiotic pills' ] into the creation of any item in the game, with some clever editing. :) So if you're feeling particularly OP or bored, you can always spawn in a gun or two and a buttload of ammo at the expense of a couple of hundred dollars. As always if you run into a bug that no one else has encountered un edit it and see if you can reproduce it; this way Dan isn't chasing after bugs that we have introduced into our own .exes.

If I recall the format correctly it is (ID.Chance.Number) [though don't quote me on that, if I could see the posted picture above while I was typing all of this I could double check. :) It is fairly intuitive though.]

Well I only have a minute left on the computer [ 87 seconds lol ] at the library so I am going to go ahead and wrap this up. Happy editing! [oh and if you're feeling REALLY OP you can edit the backpack size to 14x14 and it won't mess with your graphics too bad. Just keep things that need ammo frequently in the bottom slot. :P

Oh god the technical stuff..

~STAHP..
HAMMA TIME.~

It's really not too bad once you dive in. It's kind of overwhelming to explain everything from scratch. It's understandable after diving in.

I even found out it's possible to change the conditions too!

The Eagle Eye condition actually has a value, that determines the distance for how long you can watch. The normal value is 1, so you could all the way up to 9 (The art, of not adding another character, but changing the ones that is already in!), and I CAN SEE FOREVER. But seriously, nothing is going to happen, if you only open up the .exe with Notepad++, and have a gawk at it! But if you look a bit closer, much of it makes good sense!

I can even make the snack cakes hydrate me quite alot too! ... Along with having it made, so it no longer has any weight, and can be eaten infinitely without disappearing :)

Would it be possible to get a guide or instruction on how to do this for the latest 1.13 version since all the files and folders and locations changed?

I just want to add a few things to the beginning Gyges Cryo facility while using the EXE Patchwork mod. The start of games is really brutal for me. But item codes and things have all changed and I have no idea what to do now and where to look for the right tables codes etc.