In-game shops are used to sell to/buy from a NPC all inventory objects, be them an equipable object or a teleportation pact. Pets and some services (apartment, guild hall, mount feed) are also included in this.
To create a shop, you first have to create a Non Player Character (it will indeed be a .creature but it may be something inanimate, such as a simple distributor), hence a npc_bot in the primitive for it to be handled:
npc_manager > npc_folder (optional, only for sorting/grouping) > npc_zone > npc_group > npc_bot
It might be interesting to test the cascading of some parameters at the level of the
bot_chat_parameters of the npc_group.
The alias displayed here are based on the Atys world, used by Winch Gate and the game Ryzom. Hence they have to be adapted to your own project. The product codes however are hardcoded. It’s mandatory to use them.
It seems that specifying the nationality of a merchant results in:
All this needs to be tested/checked.
Fill the 'chat_parameters' area with:
then, either with detailed commands, or with product codes, or with one or several aliases defined in
You can just mention the type of the shop: STATIC_SHOP, DYNAMIC_SHOP or STATIC_DYNAMIC_SHOP (see below) and the list of objects sold by presenting as below:
item : itarmor.sitem 50 100 item : itarmor.sitem 100 500 item : itarmor.sitem 150 1000 item : itarmor.sitem 200 5000 item : itarmor.sitem 250 10000
It means listing after a 'item :' call, the datasheets of the .item sold, and their levels, and finally their prices.
There are a number of codes which allow calling directly a list of coherent products. It seems you have to mention them in a specific order for all the parameters to be taken into account.
The level part is labelled as: “Limited to 20 different levels”
Quality comes under 5 grades:
The object category (check if it is case sensitive)
Raw materials, sorted according to their use:
The teleportation pacts
The ecosystem of the proposed product
The origin of the sold objects
Types of tools
A number of them have already been created but it is possible to generate new ones by deriving from above elements. They can also be fitted into each other as shown in below examples.
MOUNT: doesn’t to have been filled despite being listed.
These aliases allow to call a group of objects such as the one defined in the item categories defined above