Aced Shops
#1
Aced Shops
Version: 1.2
Initial development began 5-16-2026


Introduction

This script lets one set up shops that may limit interactions. In general it permits these functions:
  • Can make a store that only buys from the player or only does sales.
  • Can restrict items sold to inddividual stores based on the item IDs
  • Can set up a store to have custom prices for certain items
  • Can make a virtual Dynamic Shop with limited goods until restocked
  • Can have favorable or dissatisfied reactions affect store prices
    I was always a fan of Bethesda Softwork's mercantile price alteration systems
  • BONUS: Demo includes the "Advanced Shop Status Window" script by RPG Advocate


Demo
CLICK HERE-- Box.Com link
Look for the Download link in the top right of the screen



Instructions
On this release, I was barebones on instructions. I will return later with more instructions.



FAQ

This was per a request by Ace_V, said request and development found here:
https://www.save-point.org/thread-13478-lastpost.html

While development began initially with RPG Advocate's Buy Only/Sell-Only script, little of it even remains.



Compatibility

Performs several rewrites throughout the shop system.


Terms and Conditions

Free for use, even in commercial games. Only due credit is required.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply
#2
I'm encountering an error  Happy with a sweat


Code:
Script 'ACED SHOPS' line 538: NoMethodError occurred.
undefined method 'has_key?' for nil:NilClass



This is the line:
Code:
    unless $game_system.acev_shop_limit.has_key?(key) # If key not defined

Seems it's also affecting default/regular shops that don't use script calls.  Sweat
[Image: SP1-Writer.png]
[Image: SP1-PixelArtist.png]
Reply
#3
That line pertains to the existence of $game_system.acev_shop_limit. That is a variable that is created when you start a new game. If you are encountering an issue where it says that variable does not exist, then you are not running this from a new game but an already existing save file.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply
#4
(05-18-2026, 03:10 PM)DerVVulfman Wrote: That line pertains to the existence of $game_system.acev_shop_limit.  That is a variable that is created when you start a new game.  If you are encountering an issue where it says that variable does not exist, then you are not running this from a new game but an already existing save file.

Laughing My bad! Yes, I did indeed try it from an older save! (Previous one worked on an old save so I assumed this would be OK, too  Laughing)
[Image: SP1-Writer.png]
[Image: SP1-PixelArtist.png]
Reply
#5
BUMP
to version 1.1

There has been some structural differences made to the system, now broken into three separate pages: Instructions, Configuration, and the engine.

There was some repetitive code to access the prices of items when those prices are different from store to store, those prices having to appear in different windows and thus different window classes. For that, a new modules that contained the replicated methods were created, one module that was itself included in those classes. Thus, it reduced the number of lines caused by the duplication.

The item limits feature wasn't fully functional, and was found able to sell items even when the counter was at zero. This was certainly an issue, and now repaired.

If someone was to create a patch or script that wished to use the script-call commands, the bulk of the content was moved out of the Interpreter class into the Game_System class. In general, attempting to create a script that uses methods in the Interpreter class causes a bit of static, so it was thought safer to place the mechanics elsewhere.

Originally, there were only two script calls that could be made, one that could increase or decrease the number of items available in a store with limited goods, and one to remove that item from the limited quantity system control to make it a normal RMXP sellable item. Since then, more script calls have been made, one to set item quantities by a fixed value rather than increasing or decreasing quantities, one to determine how many of the limited items are in a store's inventory, and a simple call to determine if a store is even defined.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply
#6
BUMP
to version 1.2

First off, there was indeed one more issue with stores that had limited item quantities. If such a store was defined, that store would not allow normal items to be purchased, assuming they had 0 quantity rather than as many as your gold would allow. It was an easy fix, but annoying.

But now a new feature has been added. And being a fan of the Elder Scrolls games (I've been a fan since ARENA came out), I have loved the mercantile system introduced in Daggerfall where you had an actual relationship score that could affect NPC reactions including that of the shopkeepers. In Oblivion, it was a mercantile score, and in Skyrim, it was replaced by a factor in your Speechcraft tree.

That being the case, a new gratuity/favoritism system has been introduced. The gratuity level is essentially a multiplier that affects the prices of your goods you wish to sell, or an inverse version for when you wish to make purchases from the store.

This gratuity score can differ from store to store, and can be increased or decreased by simple script calls, and likewise can be retrieved by such.

And for those really keen on mercantile, individual stores can have their gratuity score be influenced by goods sold to the shops for better or worse. And likewise have gratuity scores influenced by what goods a party may be willing to purchase. For flexibility and diversity, the list of goods sold and their gratuity score bonuses are separate from the list of goods bought.

And being that this is a new version that has more data in which to keep track, a fresh save isn't just warranted, it is required.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply
#7
DEMO UPDATE
still at version 1.2
Secondary script added to demo

While Aced Shops contains massive rewrites of requisite classes used by the RPGMaker XP shop system, the classes themselves are still those classes by default. The system does not create a new class to access the storefront, using the same Scene_Shop class, though altered.

While other shop scripts that were created for the default shop system may have issue due to the new design, it should be possible to easily convert them to the new layout. Or in some cases, no conversion is required. To this, you will see the newest demo, version 1.2 that was uploaded last night now includes a separate script... a classic script from 2006.

The Advanced Shop Status Window by RPG Advocate, now cleanly inserted in the demo as its own separate script, allows the player to see whether an equipment piece is useful to any of the party members, whether a sword available increases their attack score, whether the available shield reduces their agility, or the like.

The Advanced Shop Status Window was available for download when Phylomortis.Com was online, and has been available in Save-Point for well over a decade. And now, merely added to the demo.
Up is down, left is right and sideways is straight ahead. - Cord "Circle of Iron", 1978 (written by Bruce Lee and James Coburn... really...)

[Image: QrnbKlx.jpg]
[Image: sGz1ErF.png]    [Image: liM4ikn.png]    [Image: fdzKgZA.png]    [Image: sj0H81z.png]
[Image: QL7oRau.png]    [Image: uSqjY09.png]    [Image: GAA3qE9.png]    [Image: 2Hmnx1G.png]    [Image: BwtNdKw.png%5B]
  Above are clickable links
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
   I ACED THIS BATTLER INVULNERABILITY DerVVulfman 1 3,351 05-21-2025, 06:30 AM
Last Post: Ace_V
   Buy-Only and Sell-Only Shops RPG Advocate 2 10,255 12-12-2009, 08:50 PM
Last Post: DerVVulfman



Users browsing this thread: 1 Guest(s)