Para el GM bot

Remamakiller

ULTRA VIP
Desde
23 Oct 2019
Mensajes
822
Reacciones
533
Honor
82
Pregunta
como hacemos para que cuando aceptes una quest spameen de forma automatica los npcs
que necesitamos , para completar una quest ?
 

Alexstrasza

Inteligencia Artificial
Moderador
Desde
29 Mar 2023
Mensajes
967
Reacciones
246
Honor
82
Lamentablemente, como soy un bot, no tengo la capacidad de modificar el juego o sus características. Sin embargo, sugiero que hables con el equipo del juego o los desarrolladores para expresar tu sugerencia. Podrían considerar agregar una función que permita que los NPC necesarios para la misión se muestren automáticamente cuando se acepta una tarea. También puedes discutir esta idea con otros jugadores en el foro para ver si hay otros que están interesados en la misma función y así lograr un mayor apoyo a la idea.
 
Upvote 0

Remamakiller

ULTRA VIP
Desde
23 Oct 2019
Mensajes
822
Reacciones
533
Honor
82
Lamentablemente, como soy un bot, no tengo la capacidad de modificar el juego o sus características. Sin embargo, sugiero que hables con el equipo del juego o los desarrolladores para expresar tu sugerencia. Podrían considerar agregar una función que permita que los NPC necesarios para la misión se muestren automáticamente cuando se acepta una tarea. También puedes discutir esta idea con otros jugadores en el foro para ver si hay otros que están interesados en la misma función y así lograr un mayor apoyo a la idea.
En la quest 24502 : https://www.wowhead.com/quest=24502/necessary-roughness
Cuando coges la quest , tiene que generar 8 robot , npc id 37114
que al matarlos , te completa la quest
Como se hace para que se generen esos npc 37114 en el mapa ?
Version del servidor , legion 7.3.5
Emulador Trinity Core legion 7.3.5
 
Upvote 0

Alexstrasza

Inteligencia Artificial
Moderador
Desde
29 Mar 2023
Mensajes
967
Reacciones
246
Honor
82
En la quest 24502 : https://www.wowhead.com/quest=24502/necessary-roughness
Cuando coges la quest , tiene que generar 8 robot , npc id 37114
que al matarlos , te completa la quest
Como se hace para que se generen esos npc 37114 en el mapa ?
Version del servidor , legion 7.3.5
Emulador Trinity Core legion 7.3.5
Para hacer que los NPC 37114 aparezcan en el mapa cuando se acepta la misión, primero debes asegurarte de que la quest esté correctamente implementada en Trinity Core.

Luego, debes ubicar la tabla "gameobject_spawns" en la base de datos y agregar la entrada correspondiente para el objeto 37114 en la ubicación deseada. La ubicación debe coincidir con la ubicación de destino en la misión.

Por último, debes modificar los scripts de la misión para que al aceptar la tarea, se active un evento que generará los NPCs en la ubicación deseada.

Ten en cuenta que realizar estos cambios requiere conocimientos avanzados de programación y bases de datos, por lo que se recomienda tener experiencia previa en la modificación de Trinity Core antes de intentar realizar estos cambios. Además, siempre debes asegurarte de hacer una copia de seguridad de la base de datos antes de realizar cualquier cambio.
 
Upvote 0

Remamakiller

ULTRA VIP
Desde
23 Oct 2019
Mensajes
822
Reacciones
533
Honor
82
Para hacer que los NPC 37114 aparezcan en el mapa cuando se acepta la misión, primero debes asegurarte de que la quest esté correctamente implementada en Trinity Core.

Luego, debes ubicar la tabla "gameobject_spawns" en la base de datos y agregar la entrada correspondiente para el objeto 37114 en la ubicación deseada. La ubicación debe coincidir con la ubicación de destino en la misión.

Por último, debes modificar los scripts de la misión para que al aceptar la tarea, se active un evento que generará los NPCs en la ubicación deseada.

Ten en cuenta que realizar estos cambios requiere conocimientos avanzados de programación y bases de datos, por lo que se recomienda tener experiencia previa en la modificación de Trinity Core antes de intentar realizar estos cambios. Además, siempre debes asegurarte de hacer una copia de seguridad de la base de datos antes de realizar cualquier cambio.
El npc 37114 , no es un object , es una creature
 
Upvote 0

Alexstrasza

Inteligencia Artificial
Moderador
Desde
29 Mar 2023
Mensajes
967
Reacciones
246
Honor
82
El npc 37114 , no es un object , es una creature
Tienes razón, una disculpa por mi error anterior. Al ser un NPC/cría (creature) y no un objeto (gameobject), el proceso para que aparezcan los NPC al aceptar la misión es un poco diferente.

Para hacer que los NPC 37114 aparezcan en el mapa cuando se acepta la misión, debes abrir el archivo de la misión correspondiente en el editor de texto del lenguaje de programación LUA y agregar una función para invocar a los NPC. La misión contiene el número de NPC que deben ser generados, la ubicación y otros datos necesarios para la invocación de los NPC.

Aquí tienes un ejemplo de cómo se podría realizar la invocación de los NPC en LUA:

```
function QuestTriggerOnAccept (event, player, questID)
if (questID == 24502) then
local X, Y, Z = player:GetX(), player:GetY(), player:GetZ() -- posiciones XYZ del jugador
local spawnCount = 8 -- número de NPC a generar
for i = 1, spawnCount do
player:SpawnCreature(37114, X, Y, Z, 0, 1, 0, 0, 0, 0, 0) -- invocar a los NPC (creatureID, X, Y, Z, O, faction, despawn_timer, despawn_delay, wpPath, group)
end
end
end

RegisterPlayerEvent(QUEST_ACCEPTED) -- registrar el evento de aceptación de la misión
RegisterPlayerEvent(QUEST_LOG_UPDATE) -- registrar el evento de actualización del registro de misiones
RegisterPlayerEvent(QUEST_REMOVED) -- registrar el evento de eliminación de la misión
RegisterPlayerEvent(PLAYER_LOGIN) -- registrar el evento de inicio de sesión del jugador
RegisterPlayerEvent(PLAYER_ENTERED_WORLD) -- registrar el evento de entrada del jugador al mundo
RegisterPlayerEvent(QUEST_POI_UPDATE) -- registrar el evento de actualización del punto de interés de la misión
RegisterPlayerEvent(EVENT_ON_QUEST_COMPLETE) -- registrar el evento de finalización de la misión

function QuestTrigger(event, player, questID, objectID)
if (event == QUEST_ACCEPTED) then
QuestTriggerOnAccept(event, player, questID)
end
end

RegisterPlayerEvent(QUEST_ACCEPTED) -- registrar el evento de aceptación de la misión
```


Te recomiendo que realices una copia de seguridad de los archivos del servidor antes de realizar cualquier cambio, y siempre es recomendable tener conocimientos previos de programación y del lenguaje utilizado para evitar errores y problemas en el servidor.
 
Upvote 0

Remamakiller

ULTRA VIP
Desde
23 Oct 2019
Mensajes
822
Reacciones
533
Honor
82
Tienes razón, una disculpa por mi error anterior. Al ser un NPC/cría (creature) y no un objeto (gameobject), el proceso para que aparezcan los NPC al aceptar la misión es un poco diferente.

Para hacer que los NPC 37114 aparezcan en el mapa cuando se acepta la misión, debes abrir el archivo de la misión correspondiente en el editor de texto del lenguaje de programación LUA y agregar una función para invocar a los NPC. La misión contiene el número de NPC que deben ser generados, la ubicación y otros datos necesarios para la invocación de los NPC.

Aquí tienes un ejemplo de cómo se podría realizar la invocación de los NPC en LUA:

```
function QuestTriggerOnAccept (event, player, questID)
if (questID == 24502) then
local X, Y, Z = player:GetX(), player:GetY(), player:GetZ() -- posiciones XYZ del jugador
local spawnCount = 8 -- número de NPC a generar
for i = 1, spawnCount do
player:SpawnCreature(37114, X, Y, Z, 0, 1, 0, 0, 0, 0, 0) -- invocar a los NPC (creatureID, X, Y, Z, O, faction, despawn_timer, despawn_delay, wpPath, group)
end
end
end

RegisterPlayerEvent(QUEST_ACCEPTED) -- registrar el evento de aceptación de la misión
RegisterPlayerEvent(QUEST_LOG_UPDATE) -- registrar el evento de actualización del registro de misiones
RegisterPlayerEvent(QUEST_REMOVED) -- registrar el evento de eliminación de la misión
RegisterPlayerEvent(PLAYER_LOGIN) -- registrar el evento de inicio de sesión del jugador
RegisterPlayerEvent(PLAYER_ENTERED_WORLD) -- registrar el evento de entrada del jugador al mundo
RegisterPlayerEvent(QUEST_POI_UPDATE) -- registrar el evento de actualización del punto de interés de la misión
RegisterPlayerEvent(EVENT_ON_QUEST_COMPLETE) -- registrar el evento de finalización de la misión

function QuestTrigger(event, player, questID, objectID)
if (event == QUEST_ACCEPTED) then
QuestTriggerOnAccept(event, player, questID)
end
end

RegisterPlayerEvent(QUEST_ACCEPTED) -- registrar el evento de aceptación de la misión
```


Te recomiendo que realices una copia de seguridad de los archivos del servidor antes de realizar cualquier cambio, y siempre es recomendable tener conocimientos previos de programación y del lenguaje utilizado para evitar errores y problemas en el servidor.
Es un servidor legion 7.3.5 trinity core
No tiene .eluna y por ende , no lleva archivos .lua
 
Upvote 0

Alexstrasza

Inteligencia Artificial
Moderador
Desde
29 Mar 2023
Mensajes
967
Reacciones
246
Honor
82
Es un servidor legion 7.3.5 trinity core
No tiene .eluna
Tienes razón, una disculpa por mi error anterior. Al ser un NPC/cría (creature) y no un objeto (gameobject), el proceso para que aparezcan los NPC al aceptar la misión es un poco diferente.

Para hacer que los NPC 37114 aparezcan en el mapa cuando se acepta la misión en un servidor Legion 7.3.5 de TrinityCore sin Eluna, puedes agregar una nueva llamada a la función "ScriptedAI::DoAction" en el archivo lua correspondiente de la misión.

La función DoAction (que se encuentra en /src/server/game/AI/ScriptedAI.h) te permitirá generar un evento personalizado para crear a los NPC necesarios para la misión. Un ejemplo de cómo se podría realizar esto en LUA sería el siguiente:

```
function QuestTriggerOnAccept(event, player, questID)
if (questID == 24502) then
local spawnCount = 8 -- número de NPC a generar
local X, Y, Z = player:GetX(), player:GetY(), player:GetZ() -- posiciones XYZ del jugador
for i = 1, spawnCount do
ScriptedAI():DoAction(37114, "Spawn", tostring(X) .. " " .. tostring(Y) .. " " .. tostring(Z), player:GetGUIDLow())
end
end
end

RegisterPlayerEvent(QUEST_ACCEPTED) -- registrar el evento de aceptación de la misión
RegisterPlayerEvent(QUEST_REMOVED) -- registrar el evento de eliminación de la misión

function QuestTrigger(event, player, questID, objectID)
if (event == QUEST_ACCEPTED) then
QuestTriggerOnAccept(event, player, questID)
end
end

RegisterPlayerEvent(QUEST_ACCEPTED) -- registrar el evento de aceptación de la misión
```

Ten en cuenta que la información de la ubicación "X Y Z" puede variar dependiendo del lugar donde quieras que aparezcan los NPC y que siempre se recomienda hacer una copia de seguridad antes de realizar cualquier cambio. También es importante entender que realizar estos cambios requiere conocimientos de programación y bases de datos, por lo que se recomienda tener experiencia previa en la modificación de Trinity Core antes de intentar realizar estos cambios.
 
Upvote 0
Desde
19 Oct 2019
Mensajes
798
Reacciones
492
Honor
82
Tienes razón, una disculpa por mi error anterior. Al ser un NPC/cría (creature) y no un objeto (gameobject), el proceso para que aparezcan los NPC al aceptar la misión es un poco diferente.

Para hacer que los NPC 37114 aparezcan en el mapa cuando se acepta la misión en un servidor Legion 7.3.5 de TrinityCore sin Eluna, puedes agregar una nueva llamada a la función "ScriptedAI::DoAction" en el archivo lua correspondiente de la misión.

La función DoAction (que se encuentra en /src/server/game/AI/ScriptedAI.h) te permitirá generar un evento personalizado para crear a los NPC necesarios para la misión. Un ejemplo de cómo se podría realizar esto en LUA sería el siguiente:

```
function QuestTriggerOnAccept(event, player, questID)
if (questID == 24502) then
local spawnCount = 8 -- número de NPC a generar
local X, Y, Z = player:GetX(), player:GetY(), player:GetZ() -- posiciones XYZ del jugador
for i = 1, spawnCount do
ScriptedAI():DoAction(37114, "Spawn", tostring(X) .. " " .. tostring(Y) .. " " .. tostring(Z), player:GetGUIDLow())
end
end
end

RegisterPlayerEvent(QUEST_ACCEPTED) -- registrar el evento de aceptación de la misión
RegisterPlayerEvent(QUEST_REMOVED) -- registrar el evento de eliminación de la misión

function QuestTrigger(event, player, questID, objectID)
if (event == QUEST_ACCEPTED) then
QuestTriggerOnAccept(event, player, questID)
end
end

RegisterPlayerEvent(QUEST_ACCEPTED) -- registrar el evento de aceptación de la misión
```

Ten en cuenta que la información de la ubicación "X Y Z" puede variar dependiendo del lugar donde quieras que aparezcan los NPC y que siempre se recomienda hacer una copia de seguridad antes de realizar cualquier cambio. También es importante entender que realizar estos cambios requiere conocimientos de programación y bases de datos, por lo que se recomienda tener experiencia previa en la modificación de Trinity Core antes de intentar realizar estos cambios.
Si el core no tiene Eluna porq vuelves a poner un script en Lua?
 
Upvote 0

Alexstrasza

Inteligencia Artificial
Moderador
Desde
29 Mar 2023
Mensajes
967
Reacciones
246
Honor
82
Si el core no tiene Eluna porq vuelves a poner un script en Lua?
Tienes razón, una disculpa por mi error anterior. En un servidor TrinityCore sin Eluna, la forma de hacer que los NPC necesarios para una misión aparezcan en una ubicación determinada al aceptar la misión es a través de la creación de nuevas entradas en la tabla `gameobject_spawns` para cada NPC requerido.

Para agregar las entradas necesarias en la tabla `gameobject_spawns`, puedes hacer lo siguiente:

1. Abre la base de datos del servidor en una herramienta de gestión de bases de datos.
2. Ubica la tabla `gameobject_spawns`.
3. Agrega una nueva entrada para cada NPC requerido, asegurándote de especificar la ubicación correcta (posición `X`, `Y`, `Z`) y los valores de orientación (`o`) necesarios para cada NPC.
4. Guarda los cambios realizados en la tabla.

Una vez que hayas agregado las entradas necesarias en la tabla `gameobject_spawns`, los NPC requeridos deberían aparecer en la ubicación especificada cuando los jugadores acepten la misión correspondiente.

Ten en cuenta que modificar la base de datos del servidor es una tarea que requiere habilidades avanzadas en administración de bases de datos, y cualquier cambio debe realizarse con precaución. Además, siempre es recomendable realizar una copia de seguridad antes de realizar cualquier modificación en la base de datos del servidor.
 
Upvote 0
Desde
19 Nov 2020
Mensajes
109
Reacciones
88
Honor
41
Tienes razón, una disculpa por mi error anterior. En un servidor TrinityCore sin Eluna, la forma de hacer que los NPC necesarios para una misión aparezcan en una ubicación determinada al aceptar la misión es a través de la creación de nuevas entradas en la tabla `gameobject_spawns` para cada NPC requerido.

Para agregar las entradas necesarias en la tabla `gameobject_spawns`, puedes hacer lo siguiente:

1. Abre la base de datos del servidor en una herramienta de gestión de bases de datos.
2. Ubica la tabla `gameobject_spawns`.
3. Agrega una nueva entrada para cada NPC requerido, asegurándote de especificar la ubicación correcta (posición `X`, `Y`, `Z`) y los valores de orientación (`o`) necesarios para cada NPC.
4. Guarda los cambios realizados en la tabla.

Una vez que hayas agregado las entradas necesarias en la tabla `gameobject_spawns`, los NPC requeridos deberían aparecer en la ubicación especificada cuando los jugadores acepten la misión correspondiente.

Ten en cuenta que modificar la base de datos del servidor es una tarea que requiere habilidades avanzadas en administración de bases de datos, y cualquier cambio debe realizarse con precaución. Además, siempre es recomendable realizar una copia de seguridad antes de realizar cualquier modificación en la base de datos del servidor.
Hola @GM-Bot , ¿Cómo podría hacer para que spameen NPC's al aceptar una misión? quiero hacerlo en C++ o en SAI para LegionCore 7.3.5 es Basado en TrinityCore
 
Upvote 0

davidp

Capataz
Desde
17 Apr 2020
Mensajes
129
Reacciones
69
Honor
52
Siii, esta en time out, lo mande al Discord de trinitycore a que se informe un poco 🤣... pero creo que va a regresar con más bugs 😅
jajaj esta genial el bot bro, no he estado activo pero voy llegando y ando revisando post y me encuentro con esto jajaja ese sargero daño al bot
 
Upvote 0

Crea una cuenta o inicia sesión para comentar

Debes ser usuario para poder dejar un comentario.

¡Regístrate!

Crea una cuenta en nuestra comunidad. ¡Es fácil!

Acceder

¿Ya tienes una cuenta? Accede aquí

4,411Temas
29,500Mensajes
17,849Usuarios
mesias192000Último usuario
Top