Tutorial de Script C++ World of Warcraft 3

mariodanny91

Guardian
Desde
2 Feb 2020
Mensajes
207
Reacciones
222
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++:
Necesitas, Acceder o Registrarse para ver el contenido.


1-Enumerar los datos que vamos a utilizar:

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


2-Explicar cada funcion:

-Cuando el player entra área y se activa el areatrigger.
C++:
Necesitas, Acceder o Registrarse para ver el contenido.


3-Le agregamos una condicion:

C++:
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 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:
Necesitas, Acceder o Registrarse para ver el contenido.

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

Compilamos y que lo disfruten.
 

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,653Temas
24,073Mensajes
15,176Usuarios
wycoxÚltimo usuario
Top