I've updated this to work with the v2.1 update, and also added the option to purchase stacks of 50x of each item to the store too. You may have to remove the old files, make a save in game, then add the new version to get it to show properly.
I haven't adjusted the prices from the base values, so i'll await feedback if the prices are maybe too low/too high for those of you wanting it to feel lore friendly.
Works well on CP 2.1. Just have to connect to a terminal and buy parts you need : simple and easy... = that's what I needed, well done and thanks a lot
If you're too lazy (like me) and want to have the choice between 50 and 500 of each (instead of 1 and 50), open your CRAFTIESPARTSSTORE-atelier-store.REDS mod file and replace the contents by this (values adjusted in consequence) :
I often find it quite easy to use 50 elements at once, even very early in the game, so I figured out that buying 500 instead of 50 would be happening more often than I thought at first sight. (It's even easier if you have the Claim Vehicles mod, and you start to steal (and then sell) the gangsters cars after each NCPD side gig right when starting to do the first chapter of the game).
The `AddStore` function now accepts an optional `quantities` parameter that you can pass. It's not a slider, but it's possible to add some sensible amount of parts to get per purchase.
@MikeTRX I might suggest maybe looking at the script-code within the Virtual Atelier Store - Darks Night City Market His has quantities, and might be useful as an example for what you'd like to accomplish.
Made some edits myself, since I had the same thought. Picture of my version, with stacks of 100 or 300 and price scaling according to base game data.
And here's the code (it's long due to the line breaks, but the formatting definitely made it easy to edit!). Can paste the whole thing overriding what's in the original to get the image's options, and/or change the values to your liking. To add additional quantities, you can duplicate each "Item."" line. Under //Cost, 0 pulls from game data. The values there correspond to the order of the //Items section. Similar for the //Quantity section that I added.
Don't work. If I try just copy-&-paste your code, and error occur during the game start and a warning appears saying that something in the mod script went wrog. I tried edditing it myselft but same problem. I though it might been the "?" at the start, or some "," or ";" mising, but no luck.
Hm. Not sure what went wrong, as the edit's still working for me. Maybe try deleting the r6 cache folder and verifying game files? Repasting my edits in case I missed something, but it looks correct?
?@addMethod(gameuiInGameMenuGameController) protected cb func RegisterCRAFTIESPARTSSTOREStore(event: ref<VirtualShopRegistration>) -> Bool { event.AddStore( n"CRAFTIESPARTSSTORE", "Crafties Parts Store", //Crafties Parts Store - by Mike_trx - Thanks to Jesusrofls for the Virtual Atelier framework!
There is a ? before the @ at the top of the file. this is a syntax error and will cause an error on launch. first line should look like this @addMethod(gameuiInGameMenuGameController)
So the 2.0 of cyber engine tweaks just got released and im getting tired of the vending machine exploit for parts..... Does anyone know if this mod works with 2.0
Great idea, but this mod seems to break Atlier and can't be uninstalled. With this mod downloaded, it's the only store that appears in Atlier, even after I remove Crafties' files, the store remains and no other stores appear
Not exactly sure what the issue is but this mod is completely broken for me. Tried installing manually, no new store appeared in the NET. Tried installing through Vortex, no new store appeared in the NET.
35 comments
I've updated this to work with the v2.1 update, and also added the option to purchase stacks of 50x of each item to the store too. You may have to remove the old files, make a save in game, then add the new version to get it to show properly.
I haven't adjusted the prices from the base values, so i'll await feedback if the prices are maybe too low/too high for those of you wanting it to feel lore friendly.
I use auto loot + auto disassemble mod and I just have too many components
@addMethod(gameuiInGameMenuGameController)
protected cb func RegisterCRAFTIESPARTSSTOREStore(event: ref<VirtualShopRegistration>) -> Bool {
event.AddStore(
n"CRAFTIESPARTSSTORE",
"Crafties Parts Store",
["Items.CommonMaterial1", "Items.UncommonMaterial1", "Items.RareMaterial1", "Items.EpicMaterial1", "Items.LegendaryMaterial1", "Items.QuickHackUncommonMaterial1", "Items.QuickHackRareMaterial1", "Items.QuickHackEpicMaterial1", "Items.QuickHackLegendaryMaterial1", "Items.CommonMaterial1", "Items.UncommonMaterial1", "Items.RareMaterial1", "Items.EpicMaterial1", "Items.LegendaryMaterial1", "Items.QuickHackUncommonMaterial1", "Items.QuickHackRareMaterial1", "Items.QuickHackEpicMaterial1", "Items.QuickHackLegendaryMaterial1" ],
[4, 6, 12, 18, 28, 6, 12, 18, 28, 200, 300, 600, 900, 1400, 300, 600, 900, 1400],
r"base/gameplay/gui/world/spaceship_screen/spaceship_screen.inkatlas",
n"background",
["Common", "Uncommon", "Rare", "Rare", "Legendary", "Uncommon", "Rare", "Epic", "Legendary", "Common", "Uncommon", "Rare", "Rare", "Legendary", "Uncommon", "Rare", "Epic", "Legendary"],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 50, 50, 50, 50, 50, 50, 50, 50, 50]
);
}
Replace contents of CRAFTIESPARTSSTORE-atelier-store.reds with this code
@addMethod(gameuiInGameMenuGameController)
protected cb func RegisterCRAFTIESPARTSSTOREStore(event: ref<VirtualShopRegistration>) -> Bool {
event.AddStore(
n"CRAFTIESPARTSSTORE",
"Crafties Parts Store",
["Items.CommonMaterial1", "Items.UncommonMaterial1", "Items.RareMaterial1", "Items.RareMaterial2", "Items.EpicMaterial1", "Items.EpicMaterial2", "Items.LegendaryMaterial1", "Items.LegendaryMaterial2", "Items.QuickHackUncommonMaterial1", "Items.QuickHackRareMaterial1", "Items.QuickHackEpicMaterial1", "Items.QuickHackLegendaryMaterial1", "Items.CommonMaterial1", "Items.UncommonMaterial1", "Items.RareMaterial1", "Items.RareMaterial2", "Items.EpicMaterial1", "Items.EpicMaterial2", "Items.LegendaryMaterial1", "Items.LegendaryMaterial2", "Items.QuickHackUncommonMaterial1", "Items.QuickHackRareMaterial1", "Items.QuickHackEpicMaterial1", "Items.QuickHackLegendaryMaterial1"],
[200, 300, 600, 600, 900, 900, 1400, 1400, 300, 600, 900, 1400, 2000, 3000, 6000, 6000, 9000, 9000, 14000, 14000, 3000, 6000, 9000, 14000],
r"base/gameplay/gui/world/spaceship_screen/spaceship_screen.inkatlas",
n"background",
["Common", "Uncommon", "Rare", "Rare", "Rare", "Rare", "Legendary", "Rare", "Uncommon", "Rare", "Epic", "Legendary", "Common", "Uncommon", "Rare", "Rare", "Rare", "Rare", "Legendary", "Rare", "Uncommon", "Rare", "Epic", "Legendary"],
[50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500, 500]
);
}
I often find it quite easy to use 50 elements at once, even very early in the game, so I figured out that buying 500 instead of 50 would be happening more often than I thought at first sight. (It's even easier if you have the Claim Vehicles mod, and you start to steal (and then sell) the gangsters cars after each NCPD side gig right when starting to do the first chapter of the game).
Example Image
I might suggest maybe looking at the script-code within the Virtual Atelier Store - Darks Night City Market
His has quantities, and might be useful as an example for what you'd like to accomplish.
And here's the code (it's long due to the line breaks, but the formatting definitely made it easy to edit!). Can paste the whole thing overriding what's in the original to get the image's options, and/or change the values to your liking. To add additional quantities, you can duplicate each "Item."" line. Under //Cost, 0 pulls from game data. The values there correspond to the order of the //Items section. Similar for the //Quantity section that I added.
?@addMethod(gameuiInGameMenuGameController)
protected cb func RegisterCRAFTIESPARTSSTOREStore(event: ref<VirtualShopRegistration>) -> Bool {
event.AddStore(
n"CRAFTIESPARTSSTORE",
"Crafties Parts Store",
//Crafties Parts Store - by Mike_trx - Thanks to Jesusrofls for the Virtual Atelier framework!
//Items
[
"Items.CommonMaterial1",
"Items.UncommonMaterial1",
"Items.RareMaterial1",
"Items.RareMaterial2",
"Items.EpicMaterial1",
"Items.EpicMaterial2",
"Items.LegendaryMaterial1",
"Items.LegendaryMaterial2",
"Items.QuickHackUncommonMaterial1",
"Items.QuickHackRareMaterial1",
"Items.QuickHackEpicMaterial1",
"Items.QuickHackLegendaryMaterial1",
"Items.CommonMaterial1",
"Items.UncommonMaterial1",
"Items.RareMaterial1",
"Items.RareMaterial2",
"Items.EpicMaterial1",
"Items.EpicMaterial2",
"Items.LegendaryMaterial1",
"Items.LegendaryMaterial2",
"Items.QuickHackUncommonMaterial1",
"Items.QuickHackRareMaterial1",
"Items.QuickHackEpicMaterial1",
"Items.QuickHackLegendaryMaterial1"
],
//Cost
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
r"base/gameplay/gui/world/spaceship_screen/spaceship_screen.inkatlas",
n"background",
//Quality
[
"Common",
"Uncommon",
"Rare",
"Rare",
"Rare",
"Rare",
"Legendary",
"Rare",
"Uncommon",
"Rare",
"Epic",
"Legendary"],
//Quantity
[
100,
100,
100,
100,
100,
100,
100,
100,
100,
100,
100,
300,
300,
300,
300,
300,
300,
300,
300,
300,
300,
300,
300,
300
]
);
}
?@addMethod(gameuiInGameMenuGameController)
protected cb func RegisterCRAFTIESPARTSSTOREStore(event: ref<VirtualShopRegistration>) -> Bool {
event.AddStore(
n"CRAFTIESPARTSSTORE",
"Crafties Parts Store",
//Crafties Parts Store - by Mike_trx - Thanks to Jesusrofls for the Virtual Atelier framework!
//Items
[
"Items.CommonMaterial1",
"Items.UncommonMaterial1",
"Items.RareMaterial1",
"Items.RareMaterial2",
"Items.EpicMaterial1",
"Items.EpicMaterial2",
"Items.LegendaryMaterial1",
"Items.LegendaryMaterial2",
"Items.QuickHackUncommonMaterial1",
"Items.QuickHackRareMaterial1",
"Items.QuickHackEpicMaterial1",
"Items.QuickHackLegendaryMaterial1",
"Items.CommonMaterial1",
"Items.UncommonMaterial1",
"Items.RareMaterial1",
"Items.RareMaterial2",
"Items.EpicMaterial1",
"Items.EpicMaterial2",
"Items.LegendaryMaterial1",
"Items.LegendaryMaterial2",
"Items.QuickHackUncommonMaterial1",
"Items.QuickHackRareMaterial1",
"Items.QuickHackEpicMaterial1",
"Items.QuickHackLegendaryMaterial1"
],
//Cost
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
r"base/gameplay/gui/world/spaceship_screen/spaceship_screen.inkatlas",
n"background",
//Quality
[
"Common",
"Uncommon",
"Rare",
"Rare",
"Rare",
"Rare",
"Legendary",
"Rare",
"Uncommon",
"Rare",
"Epic",
"Legendary"],
//Quantity
[
100,
100,
100,
100,
100,
100,
100,
100,
100,
100,
100,
300,
300,
300,
300,
300,
300,
300,
300,
300,
300,
300,
300,
300
]
);
}
first line should look like this
@addMethod(gameuiInGameMenuGameController)
Tried installing manually, no new store appeared in the NET.
Tried installing through Vortex, no new store appeared in the NET.
Could you give me the content of this file please ?
C:\...\Cyberpunk 2077\r6\cache\redscript.log
There should be a [error] part of some kind of.