Tutorial de Script C++ World of Warcraft 1

mariodanny91

Guardian
Desde
2 Feb 2020
Mensajes
207
Reacciones
222
Honor
80
Tutorial de Script C++ World of Warcraft 1:

En esta guía, enseñaré una de las maneras de hacer un script C++ para el emulador JadeCore que está basado en TrinityCore antiguo. Les servirá de conocimiento base para otros emuladores más actualizados y motivarlos a investigar mas sobre el tema. Vale aclarar que todo lo planteado aquí es de manera autodidacta no soy programador, solo comparto lo que he aprendido.
Para esta guia deben tener instalado Visual Studio, Cmake y otras dependencias que exija el core ya sea OpenSSL,Boost,Mysql en sus versiones x86 o x64.

Punto sobre los cuales hablaré:
-Comenzare con el link del source JadeCore548-patched.rar
-Como agregar el script C++ al source.
-Estructura del Script.
-Casteo de magias.
-Textos.
-Invocación de Npc.

Como agregar el script C++ al source.
Creamos un archivo en blanco ya sea con bloc de notas o con notepad++, en la carpeta \JadeCore548-patched\src\server\scripts\Custom, con extension .cpp
Yo voy a crear tutorial.cpp.
En el archivo CMakeLists.txt agregamos el script, en caso de no tenerlo lo pueden crear, debe quedar asi:

C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Pasamos el source por Cmake.

En Visual Studio buscamos en archivo ScriptLoader.cpp (\JadeCore548-patched\src\server\game\Scripting\ScriptLoader.cpp)
Se dede declarar en dos lugares:

C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Estructura del Script.
Esta es una plantilla de Script de la cual partiremos:

C++:
Necesitas, Acceder o Registrarse para ver el contenido.

1-Enumerar los datos que vamos a utilizar:
(pueden utilizar la palabra que deseen (xxxxx) pero debe quedar asi)
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Para los npc:+
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Para los textos:
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Para las magias:
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Para los eventos:
C++:
Necesitas, Acceder o Registrarse para ver el contenido.


2-Explicar cada funcion:

-Cuando la criatura se resetee es decir respanee.
C++:
Necesitas, Acceder o Registrarse para ver el contenido.


-Cuando la criatura entre en combate.
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

-Cuando la criatura mate, ya sea player o npc.
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

-Cuando la criatura muera.
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

3-Agregar los eventos con sus respectivos tiempos:
Al declararse en la funcion void EnterCombat empezara a contar el tiempo en el momento que empiece el combate.
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

4-Crear los eventos con sus respectivos spell, summon, textos, etc:
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Codigo:
Necesitas, Acceder o Registrarse para ver el contenido.


El Script deberia ir quedando asi:
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Explico que hace el npc sencillo:

Cuando entre en combate dirá un texto, se casteara una magia y :
cada 15 segundos casteara desgarrar a un objetivo aleatorio que este en un rango de 20 metros.
cada 10 segundos casteara rajar al objetivo con mas amenaza.
cada 5 segundos casteara torbellino en el lugar.
cada 20 segundos invocara un NPC en su posicion y dirá un texto.

Cuando mate dirá un texto.

Cuando muera dirá un texto.


Ahora vamos a la parte de SQL:
Crear el NPC con el nombre del script en la columna `ScriptName`:
SQL:
Necesitas, Acceder o Registrarse para ver el contenido.

Textos del NPC:
SQL:
Necesitas, Acceder o Registrarse para ver el contenido.

Compilamos y que lo disfruten.
 
Última edición:

Raverkai

Guardian
Desde
23 Apr 2020
Mensajes
190
Reacciones
221
Honor
82
Muchisimas gracias! Es fantástico!! ya que con este tutorial ayudas un montón a crear un jefe custom de forma practica!
Estaré muy al tanto de tus post <3
 

Remamakiller

ULTRA VIP
Desde
23 Oct 2019
Mensajes
754
Reacciones
497
Honor
82
Esto si es un muy buen aporte , a la comunidad wow creador
Mi agradecimiento por compartir , sus conocimientos desinteresadamente
 
Desde
19 Oct 2019
Mensajes
807
Reacciones
495
Honor
82
Tutorial de Script C++ World of Warcraft 1:

En esta guía, enseñaré una de las maneras de hacer un script C++ para el emulador JadeCore que está basado en TrinityCore antiguo. Les servirá de conocimiento base para otros emuladores más actualizados y motivarlos a investigar mas sobre el tema. Vale aclarar que todo lo planteado aquí es de manera autodidacta no soy programador, solo comparto lo que he aprendido.
Para esta guia deben tener instalado Visual Studio, Cmake y otras dependencias que exija el core ya sea OpenSSL,Boost,Mysql en sus versiones x86 o x64.

Punto sobre los cuales hablaré:
-Comenzare con el link del source JadeCore548-patched.rar
-Como agregar el script C++ al source.
-Estructura del Script.
-Casteo de magias.
-Textos.
-Invocación de Npc.

Como agregar el script C++ al source.
Creamos un archivo en blanco ya sea con bloc de notas o con notepad++, en la carpeta \JadeCore548-patched\src\server\scripts\Custom, con extension .cpp
Yo voy a crear tutorial.cpp.
En el archivo CMakeLists.txt agregamos el script, en caso de no tenerlo lo pueden crear, debe quedar asi:

C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Pasamos el source por Cmake.

En Visual Studio buscamos en archivo ScriptLoader.cpp (\JadeCore548-patched\src\server\game\Scripting\ScriptLoader.cpp)
Se dede declarar en dos lugares:

C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Estructura del Script.
Esta es una plantilla de Script de la cual partiremos:

C++:
Necesitas, Acceder o Registrarse para ver el contenido.

1-Enumerar los datos que vamos a utilizar:
(pueden utilizar la palabra que deseen (xxxxx) pero debe quedar asi)
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Para los npc:+
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Para los textos:
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Para las magias:
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Para los eventos:
C++:
Necesitas, Acceder o Registrarse para ver el contenido.


2-Explicar cada funcion:

-Cuando la criatura se resetee es decir respanee.
C++:
Necesitas, Acceder o Registrarse para ver el contenido.


-Cuando la criatura entre en combate.
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

-Cuando la criatura mate, ya sea player o npc.
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

-Cuando la criatura muera.
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

3-Agregar los eventos con sus respectivos tiempos:
Al declararse en la funcion void EnterCombat empezara a contar el tiempo en el momento que empiece el combate.
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

4-Crear los eventos con sus respectivos spell, summon, textos, etc:
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Codigo:
Necesitas, Acceder o Registrarse para ver el contenido.


El Script deberia ir quedando asi:
C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Explico que hace el npc sencillo:

Cuando entre en combate dirá un texto, se casteara una magia y :
cada 15 segundos casteara desgarrar a un objetivo aleatorio que este en un rango de 20 metros.
cada 10 segundos casteara rajar al objetivo con mas amenaza.
cada 5 segundos casteara torbellino en el lugar.
cada 20 segundos invocara un NPC en su posicion y dirá un texto.

Cuando mate dirá un texto.

Cuando muera dirá un texto.


Ahora vamos a la parte de SQL:
Crear el NPC con el nombre del script en la columna `ScriptName`:
SQL:
Necesitas, Acceder o Registrarse para ver el contenido.

Textos del NPC:
SQL:
Necesitas, Acceder o Registrarse para ver el contenido.

Compilamos y que lo disfruten.
Buena guia @mariodanny91 hace tiempo que no pasas por el ts para conversar, el unico detalle que te falta es que en programacion c++ el enum cuando se utiliza todas las variables que crees dentro de el seran constantes o sea que su valor no va a cambiar solo te pude resaltar eso ya veo que no te quedastes solo en sAI y conditions felicidades (y)
 
Desde
7 Jan 2021
Mensajes
3
Reacciones
1
Honor
3
estoy en un shadowcore intentando hacer un npc que setée la experiencia de personaje a elección del 2 al 10.
Es decir tocarlo que aparezca un menu. Tengo el codigo de c++ en npc_custom.cpp, el parece estar correcto por varios ejemplos que encontré por la red. El tema que al tocarlo solo me saluda, pero no sale el menú.

C++:
Necesitas, Acceder o Registrarse para ver el contenido.

Tengo el vinculo al script "npc_rate_xp_modifier" en la columna ScripName de la base de datos. Pero no lo logro que me aparezca el menú. Si alguien me puede orientar con esto estoy seguro que puede servir de mucho a la comunidad también.
 

mariodanny91

Guardian
Desde
2 Feb 2020
Mensajes
207
Reacciones
222
Honor
80
Antes de compilarlo lo agregaste al cmakelist.txt y después en scriptloader.cpp como expliqué al principio del tutorial.
Te recomiendo crear un tema aparte preguntando, por q creo q tengo uno de legióncore para q lo pruebes.
 

Avirax

Capataz
Desde
16 Mar 2020
Mensajes
47
Reacciones
28
Honor
52
hola bro disculpa pero me podrias ayudar con los mapas
 

Create an account or login to comment

You must be a member in order to leave a comment

Create account

Create an account on our community. It's easy!

Log in

Already have an account? Log in here.

3,655Temas
24,083Mensajes
15,181Usuarios
ThewarlockÚltimo usuario
Top