- Desde
- 1 Oct 2019
- Mensajes
- 1,781
- Reacciones
- 1,655
- Honor
- 184
Este es un script de tienda que puedes poner en un NPC. En la tienda, puede agregar varios elementos y configurarlos en categorías. Cuando abras el menú de chismes del NPC, verás todas las categorías disponibles y las monedas que tienes en tu cuenta. Al hacer clic en una categoría, verá todos los elementos que pertenecen a ella con el siguiente diseño:
[price] ItemName (x quantity)
Cuando agregas un artículo en tu tienda, puedes definir el nivel mínimo de equipo que el jugador debe tener para verlo.
Los elementos y categorías se establecen directamente en la base de datos.
Fuente:
Los elementos y categorías se cargarán en el inicio mundial, por lo que deberá reiniciar su WorldServer si realiza algunos cambios en una de esas dos tablas.
Las monedas que tienen los jugadores se almacenan en un nuevo campo de la tabla de cuentas de autenticación, llamado "monedas".
Si no desea modificar su archivo World.cpp, existe una alternativa. Puede realizar todos los pasos antes del que le indica que abra World.cpp. Luego puede crear un script mundial y llamar a "Maelstrom::sStoreMgr->LoadStore()" en el inicio mundial.
[price] ItemName (x quantity)
- Price es la cantidad de monedas necesarias para comprar el artículo.
- ItemName es el nombre del artículo. Cuando crees tu tienda solo tienes que poner la entrada del artículo y encontrará su nombre
- Quantity es la cantidad del artículo que recibirá el jugador si realiza la compra.
Cuando agregas un artículo en tu tienda, puedes definir el nivel mínimo de equipo que el jugador debe tener para verlo.
Los elementos y categorías se establecen directamente en la base de datos.
Fuente:
Necesitas,
Acceder
o
Registrarse
para ver el contenido.
Cómo funciona
Hay dos tablas que se agregarán a su base de datos de personajes: store_categories y store_items . En el primero, creas todas las categorías de tu tienda. En el segundo, agrega los artículos que desea vender en cada categoría.Los elementos y categorías se cargarán en el inicio mundial, por lo que deberá reiniciar su WorldServer si realiza algunos cambios en una de esas dos tablas.
Las monedas que tienen los jugadores se almacenan en un nuevo campo de la tabla de cuentas de autenticación, llamado "monedas".
Instalación
Primero, descargue todos los archivos de esta carpeta (incluida la carpeta sql/).Base de datos
- Ejecute el archivo sql ubicado en sql/auth en su base de datos de autenticación . Agregará un nuevo campo en la tabla de la cuenta: "monedas". Representa las monedas que los jugadores pueden usar para comprar algunos artículos en la tienda.
- Ejecute los archivos sql ubicados en la carpeta sql/characters en su base de datos de personajes . Creará dos tablas como se mencionó anteriormente.
- Complete su tabla store_categories con las distintas categorías de su tienda
- Complete su tabla store_items con los artículos que desea vender en su tienda
- Tome el NPC que desee como su NPC de la tienda y establezca su script_name en "script_store"
Centro
- Añadir los StoreManager.h y StoreManager.cpp archivos en TrinityCore/src/servidor/juego/Scripting
- Abra su IDE y agregue el archivo .h en "Archivos de encabezado" y el archivo .cpp en "Archivos de origen" en su proyecto "Juego"
- Agregue el archivo store_script.cpp en TrinityCore/src/server/scripts/Custom
- Abra su IDE y agregue ese archivo a los "Archivos de origen" de su proyecto "Scripts"
- Abra el archivo World.cpp en su proyecto "Juego"
- Agregue el archivo "StoreManager.h" en los archivos incluidos (alrededor de la línea 66) => #include "StoreManager.h"
- Encuentre la implementación de la función void World :: SetInitialWorldSettings () (alrededor de la línea 1306)
- En la implementación de esa función, justo antes de la línea "uint32 startupDuration = GetMSTimeDiffToNow (startupBegin);" (alrededor de la línea 1893) agregue la siguiente instrucción: "Maelstrom :: sStoreMgr-> LoadStore ();"
- Vaya a su archivo ScriptLoader.cpp y agregue el script para el NPC de la tienda como un script habitual. La función para registrar es "void AddSC_script_store()"
- Compila tu núcleo
Si no desea modificar su archivo World.cpp, existe una alternativa. Puede realizar todos los pasos antes del que le indica que abra World.cpp. Luego puede crear un script mundial y llamar a "Maelstrom::sStoreMgr->LoadStore()" en el inicio mundial.
En el juego
- Agrega tu NPC de la tienda
- Hablar con el / ella
- Disfrutar !