RPG Maker Forums

Hey there,

While practicing and trying to get better at scripting, this little snippet was created. This script allows you to implement random shops in your game. Please note that I am not the best scripter out there. I also like to keep my scripts simple. This system is designed to use the same notetags as Galv's Random Loot and will interlock with my other scripts (Random Drops, Simple Rarities) later on to form a little system (Item Suite).

Get the most recent version (1.0) plus a demo project from my DropBox:

https://dl.dropboxusercontent.com/u/18289607/RPGMakersScripts/Random%20Shop%20v1.0.rar

The script itself can be found on PasteBin as well:

http://pastebin.com/ySiLsHLR

Introduction

This script allows you to use a script call to randomly generate a shop. Add notetags to items to specify level requirements and rarity values. The shop inventory will be generated automatically according to the party level and the notetags provided for items. Shops can sell items of specific types, subtypes or custom defined families. Using a clever combination of type, subtype and families - you can tailor the random shop to offer only items of a very specific type. Like only Armors of the Small Shield type, or just Weapons of the Sword type and so on.

Note that in this very first version, the shop inventory is re-generated every time a player visits the shop. Persistent shop inventories will be added later. Right now its highly fluctuating - a bit like in Disgaea.

Version 1.0

  • Limit shops to a maximum amount of items
  • Include only items of certain rarity and level bounds
  • Use the <noshop> notetag to prevent items from showing up in the shop.
  • Modify the shop price +/- by a percentage amount (optional).
Full Documentation

Code:
#===============================================================================#                          +++ SIMPLE RANDOM SHOP +++#===============================================================================# + Original Script by Fhizban (also known as Malagar)## + Version 1.0# + Updated August 2015# + For RPGMaker VX Ace# + Free for Non-Commercial and Commercial use# + Requires no other scripts#===============================================================================#                                DESCRIPTION#===============================================================================#  This script allows you to use a script call to randomly generate a shop. Add#  notetags to items to specify level requirements and rarity values. The shop#  inventory will be generated automatically according to the party level and#  the notetags provided for items. Shops can sell items of specific types,#  subtypes or custom defined families.#===============================================================================#                                INSTALLATION#===============================================================================# + Put this script after Material but before main.# + Add some of the notetags (described below) to the items in the database.# + Add a new event that represents a shop to your map.# + Add a script call to the event that will generate a random shop (see below).#===============================================================================#                                DOCUMENTATION#===============================================================================# You are required to setup two different parts to make this script work:#   1) Add Notetags to your items in the database.#   2) Add the script call to your events (chests).#   3) Optionally you can change the configuration below to your taste.## 1) Editing Notetags:#    You must specify the following notetags for all ITEMS, WEAPONS and ARMOR that#    you want to randomly appear in your events (shops). If any items do not have#    these tags, they will just not appear in a random shops at all.##    <family: x>                    # The group or family the item belongs to#                                   # You define these families yourself (1-99)#    <rarity: x>                    # The rarity value (1+ higher is rarer)#    <level-min: x>                 # Min level of player for item to show (1-99)#    <level-max: x>                 # Max level of player for item to show (1-99)##    Optional notetag for ARMORS and WEAPONS only:##    <lucky: x>                     # All equipped lucky items of the party are added to#                                   # calculate the total chance to get rarer items.##    New Optional notetags for all item types:##    <noshop>      # Item does never appear in a random shop (requires Simple Random Shop 1.0+)#    <noloot>      # Item is never found as random loot (requires Simple Random Loot 1.4+)#    <nodrop>      # Item is never dropped from an enemy (requires Simple Random Drop 1.0+)## 2) Using the script call:#    By using this script call, you can randomly populate a shop. Go to your event and add#    a new command to it, choose script from the very last command tab and insert the#    following line.#  #    EXAMPLE:##            random_shop(0, 1, 10, 50, 1, 1)##    SYNTAX:##            random_shop(type, rarity_min, rarity_max, price=0, amount=0, subtype=0, family=0)##    type                           # The type of item to be found:#                                   # 0 = All Types, determined randomly#                                   # 1 = Item#                                   # 2 = Armor#                                   # 3 = Weapon#                                   # 4 = One randomly determined Type##    rarity_min                     # Min and Max Rareness determine the item rarity that#    rarity_max                     # the script call will obtain when successful. You can#                                   # state any number that you also use on the notetags#                                   # of your items. Example:#                                   # rarity_min=10, rarity_max=50#                                   # The script call will generate a random number 1-50.#                                   # An item can only be obtained if it has a rarity#                                   # EQUAL or LESS than the generated number.##    price                          # OPTIONAL. This will alter the price of all items in#                                   # the shop by X percent. It is also possible to set#                                   # this to a negative number, lowering the prices.##    amount                         # OPTIONAL. This limites the shop inventory to X items.#                                   # If not set, the default maximum amount limit is used.##    subtype                        # OPTIONAL. This only applies to WEAPONS or ARMOR and#                                   # will be ignored otherwise. Filters the random loot#                                   # to drop only items of the stated type.#                                   # (e.g. 1 = General Armour)##    family                         # OPTIONAL. Family can be any number or 0.#                                   # 0 = drops any item of the stated type/subtype#                                   # x = drops only items of the stated type/subtype that#                                   # share the family.## Using a clever combination of type, subtype and families - you can tailor the random# shop to offer only items of a very specific type. Like only Armors of the Small# Shield type, or just Weapons of the Sword type and so on.#===============================================================================#                                COMPATABILITY#===============================================================================# + Should be compatible with most other scripts (like YANFLY engine).# + Can be combined with my other scripts to form the complete ITEM SUITE:#   + Simple Random Loot#   + Simple Random Shop#   + Simple Random Drop#   + Simple Random Rarities#===============================================================================

Latest Threads

Latest Profile Posts

Day 9 of giveaways! 8 prizes today :D
He mad, but he cute :kaopride:

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.

Forum statistics

Threads
106,037
Messages
1,018,464
Members
137,821
Latest member
Capterson
Top