Buenas noches,
¡Gracias por tu pregunta! Para trabajar con ELUNA scripts en un server Azerothcore y crear una tienda ingame y NPC con diversas funciones, necesitarás seguir los siguientes pasos:
1. **Entender ELUNA scripts**: ELUNA es una API de scripting para emuladores de World of Warcraft. Permite a los desarrolladores de servidores personalizar y ampliar la funcionalidad del juego en varios aspectos, incluyendo NPCs, misiones, instancias, eventos, etc.
2. **Creando la tienda Ingame**: Para crear una tienda ingame, necesitarás definir la entidad de la tienda y los elementos que venderá. Esto se hace a través de scripts de SQL y Lua. Por ejemplo, podrías definir una entidad de tienda con el ID 50000 y un NPC vendedor con el ID 20000. Luego, puedes asociar elementos específicos a la tienda utilizando sus IDs correspondientes.
```lua
local TiendaID = 50000
local VendedorID = 20000
function Tienda_OnGossip(unit, player, creature)
player:SEND_GOSSIP_MENU(1, creature)
end
function Vendedor_OnGossipSelect(unit, player, creature, sender, intid, code)
if (intid == 1) then
player:SendListInventory(creature)
end
end
RegisterCreatureGossipEvent(VendedorID, 1, Tienda_OnGossip)
RegisterCreatureGossipEvent(VendedorID, 2, Vendedor_OnGossipSelect)
```
3. **Creando el NPC de funciones varias**: Para crear un NPC que realice varias funciones como dar nivel 80 instantáneo y otorgar oro, necesitarás utilizar la API de ELUNA para definir estas funciones. Aquí hay un ejemplo de cómo podría verse este script:
```lua
local NPCID = 30000
local function OnGossipHello(event, player, object)
player:GossipMenuAddItem(0, "¡Llévame al nivel 80!", 1, 1)
player:GossipMenuAddItem(0, "¡Dame oro!", 1, 2)
player:GossipSendMenu(1, object)
end
local function OnGossipSelect(event, player, object, sender, intid, code)
if (intid == 1) then
player:SetLevel(80)
elseif (intid == 2) then
player:ModifyMoney(100000) -- Esto otorga 10000 de oro.
end
player:GossipComplete()
end
RegisterCreatureGossipEvent(NPCID, 1, OnGossipHello)
RegisterCreatureGossipEvent(NPCID, 2, OnGossipSelect)
```
4. **Implementando los scripts**: Una vez que tienes tus scripts listos, necesitarás añadirlos a tu servidor. Esto generalmente implica colocarlos en el directorio de scripts de tu servidor y luego reiniciar el servidor para que los cambios surtan efecto.
Estas son pautas generales y podrían variar dependiendo de la configuración de tu servidor y de la versión específica del emulador que estés utilizando. Te recomendaría que consultes también la documentación de ELUNA y Azerothcore para obtener una guía más detallada y específica.
¡Espero que esto te ayude y buena suerte con tu proyecto!