Soporte en Español y Recursos para Servidores Privados de WoW

Únete ahora para obtener acceso a todo el foro. Una vez registrado y verificado tu email, podras crear temas, publicar respuestas, dar reputación a usuarios, descargar, obtener soporte en español y mucho más. Es rápido y totalmente gratis, ¿a qué estás esperando?

Tutorial de Script C++ World of Warcraft 3

mariodanny91

Guardian
Capataz
Explorador
Desde
2 Feb 2020
Mensajes
168
Reacciones
158
Honor
80
Tutorial de Script C++ World of Warcraft 3:

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.

Tutoriales anteriores:

Punto sobre los cuales hablare:
-Como hacer un Areatrigger en C++.


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

C++:
Por favor, Acceder o Registrarse para ver los códigos!


1-Enumerar los datos que vamos a utilizar:

C++:
Por favor, Acceder o Registrarse para ver los códigos!


2-Explicar cada funcion:

-Cuando el player entra área y se activa el areatrigger.
C++:
Por favor, Acceder o Registrarse para ver los códigos!


3-Le agregamos una condicion:

C++:
Por favor, Acceder o Registrarse para ver los códigos!


El Script deberia ir quedando asi:

C++:
Por favor, Acceder o Registrarse para ver los códigos!


Explico que hace el AreaTrigger_tutorial sencillo:

Si el player tiene la mision X incompleta, cuando entre al área se activa el areatrigger y
le cumple un objectivo de la mision X y le muestra un video.
*(no se debe hacer con misiones de mas de un objectivo, puede generar bucle o crash ya que mientra el player
tenga la mision incompleta y este en el area se va a seguir ejecutando el areatrigger).

*El ID del video lo encontramos en Movie.dbc y podemos ir mirando cuales son con el comando
.debug play movie
Syntax: .debug play movie #movieid (Play movie #movieid for you.)

*El killcredit esta definido en creature_template, columna KillCredit1 o KillCredit2 y tiene relacion con el objectivo de la mision en quest_template,
columna RequiredNpcOrGo1-10.



Ahora vamos a la parte de SQL:
Este script debemos vincularlo con la base de datos en la tabla areatrigger_scripts, la entry del areatrigger se encuentra en Areatrigger.dbc.
Para saber cual es utilizamos el comando (solo funciona estando en GM ON):
.debug areatriggers
Syntax: .debug areatriggers (Toggle debug mode for areatriggers. In debug mode GM will be notified if reaching an areatrigger)

Nos ira mostrando en el chat el id del areatrigger a medida que entremos y salgamos de las areas, escojemos el que necesitamos y ese será el entry.
En ScriptName es el nombre del script AreaTrigger_tutorial.

SQL:
Por favor, Acceder o Registrarse para ver los códigos!

*No ejecuten este ejemplo en su base de datos, puede que no coincida con ningun areatrigger.

Compilamos y que lo disfruten.
 
shape1
shape2
shape3
shape4
shape7
shape8
Top