¿Cómo se hace? Poner una montura a nivel 1

Samma

Explorador
Desde
25 Nov 2020
Mensajes
39
Reacciones
5
Honor
22
Creador del tema
Quiero poner una montura a nivel 1. Es decir nada mas nacer, por misión por ejemplo.
Tengo dos ideas, pero no se como desarrollarlas, no se ni si se puede.

Idea 1.- Tener un ítem el cual invoque una montura o un vehículo. Que al darle otra vez al ítem, desaparezca. (No se si se pueda en SQL y LUA )

Idea 2.- Hacer una misión y que te de la montura. Todo sin necesidad de la equitación. Por ello lo de un ítem que invoque un vehículo.

Muchas gracias de antemano.
 
Hola, es posible crear una montura de nivel 1 para que aparezca al iniciar la partida o que se obtenga a través de una misión.

Una posible solución es utilizar un script Lua que se encargue de generar la montura al comienzo del juego. Puedes crear un objeto que solo pueda ser adquirido al completar una misión y que al ser utilizado, se agregue automáticamente la montura al inventario del jugador.

A continuación, te proporciono un ejemplo del código que se podría utilizar para crear una montura al inicio del juego:

```
function onInit()
-- Verificar si el jugador ya tiene una montura
if not Player.hasMount() then
-- Crear un objeto de montura
local mount = Object.createChild("montura")

-- Agregar la montura al inventario del jugador
Player.giveItem(mount)
end
end
```

Este código se encargará de verificar si el jugador ya tiene una montura. En caso de que no la tenga, se creará un nuevo objeto llamado "montura" y se agregará al inventario del jugador.

También puedes utilizar un script para crear un objeto que se pueda utilizar como el ítem mencionado en tu primera idea. Al activar el objeto, se puede invocar la montura y al volver a usar el objeto, la montura desaparecerá.

Espero que esto te ayude a resolver tu problema y si tienes alguna otra pregunta, ¡no dudes en preguntarme!
 
Creador del tema
Muchísimas gracias. Voy a ello, a ver si lo consigo.
En tal caso pondré imágenes de cómo queda.
 
Aqui tienes el script a tu idea 2.
Solo tienes que cambiar la id de npc y la spell de la montura que quieres dar.
Espero te sirba, cualquier cosa me avisas.

local NPC_ID = 180013 -- Reemplaza este valor con el ID del NPC
local MOUNT_SPELL_ID = 60424 -- Reemplaza este valor con el ID del hechizo de la montura a aprender
local function OnGossipHello(event, player, npc)
player:GossipClearMenu()
player:GossipMenuAddItem(0, "Aprender montura", 0, 1)
player:GossipSendMenu(1, npc)
end
local function OnGossipSelect(event, player, npc, sender, intid)
if intid == 1 then
player:GossipComplete()
if player:HasSpell(MOUNT_SPELL_ID) then
player:SendBroadcastMessage("Ya has aprendido esta montura.")
else
player:LearnSpell(MOUNT_SPELL_ID)
player:SendBroadcastMessage("Has aprendido la montura con éxito.")
end
end
end
RegisterCreatureGossipEvent(NPC_ID, 1, OnGossipHello)

RegisterCreatureGossipEvent(NPC_ID, 2, OnGossipSelect)
 
Quiero poner una montura a nivel 1. Es decir nada mas nacer, por misión por ejemplo.
Tengo dos ideas, pero no se como desarrollarlas, no se ni si se puede.

Idea 1.- Tener un ítem el cual invoque una montura o un vehículo. Que al darle otra vez al ítem, desaparezca. (No se si se pueda en SQL y LUA )

Idea 2.- Hacer una misión y que te de la montura. Todo sin necesidad de la equitación. Por ello lo de un ítem que invoque un vehículo.

Muchas gracias de antemano.
local NPC_ID = 15278 -- npc ID
local MOUNT_SPELL_ID = 60424 -- spell mount ID

local function OnGossipHello(event, player, npc)
player:GossipClearMenu()
player:GossipMenuAddItem(0, "Learn Mount", 0, 1)
player:GossipSendMenu(1, npc)
end

local function OnGossipSelect(event, player, npc, sender, intid)
if intid == 1 then
player:GossipComplete()
if player:HasSpell(MOUNT_SPELL_ID) then
player:SendBroadcastMessage("У вас уже есть этот маунт.")
else
player:LearnSpell(MOUNT_SPELL_ID)
player:SendBroadcastMessage("Вы изучили новый маунт.")
end
end
end

RegisterCreatureGossipEvent(NPC_ID, 1, OnGossipHello)
RegisterCreatureGossipEvent(NPC_ID, 2, OnGossipSelect)

work on AC 3.3.5
 
Creador del tema
wow wow wow....
Voy ahora a probar, que tengo tiempo. Estuve ayer liado en ello, pero no conseguí gran cosa.
 
Creador del tema
Aqui tienes el script a tu idea 2.
Solo tienes que cambiar la id de npc y la spell de la montura que quieres dar.
Espero te sirba, cualquier cosa me avisas.

local NPC_ID = 180013 -- Reemplaza este valor con el ID del NPC
local MOUNT_SPELL_ID = 60424 -- Reemplaza este valor con el ID del hechizo de la montura a aprender
local function OnGossipHello(event, player, npc)
player:GossipClearMenu()
player:GossipMenuAddItem(0, "Aprender montura", 0, 1)
player:GossipSendMenu(1, npc)
end
local function OnGossipSelect(event, player, npc, sender, intid)
if intid == 1 then
player:GossipComplete()
if player:HasSpell(MOUNT_SPELL_ID) then
player:SendBroadcastMessage("Ya has aprendido esta montura.")
else
player:LearnSpell(MOUNT_SPELL_ID)
player:SendBroadcastMessage("Has aprendido la montura con éxito.")
end
end
end
RegisterCreatureGossipEvent(NPC_ID, 1, OnGossipHello)

RegisterCreatureGossipEvent(NPC_ID, 2, OnGossipSelect)
¡¡Funciona increíblemente bien!! Es mas, creo que sería la mejor opción. Hablas con el NPC te da la montura y arreando. (La idea es por facilitar un poco el "Hardmode". Para que no sean tan pesados los viajes.)
Voy a crear otra montura, porque la que he puesto no es "la que toca". Lo hago y os pongo fotos.

Tengo que aprender mas sobre Lua. Menudo mundo!!

PD: De igual manera probare las otras opciones.

Edito este mismo post y pongo las imágenes:


1.png


2.png


3.png


4.png

Vuelvo a editar el Post para el que desee y no sepa crear la montura para el parche.

gracias a Customizacion - WoW @trinitytools.4279:

Vídeo 1:

Vídeo 2:
 
Última edición:
Back
Top