Tutorial básico de SmartAI para criaturas en Trinitycore

Desde
1 Oct 2019
Mensajes
2,337
Reacciones
2,122
Honor
541
Este es un tutorial de SmartAI para criaturas en TrinityCore.

Entonces, lo primero que comenzaremos son las herramientas / fuentes que estoy usando.

Estoy usando TrinityCore 3.3.5a, la última versión que acabo de compilar unos 10 minutos antes de escribir este tutorial

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

Voy a asumir que todos saben cómo use un editor de base de datos mysql como heidisql o navicat o sqlyog o tal vez algo más.

Personalmente, estoy usando navicat premium y recomiendo usar esto sobre los demás, ya que le mostraré por qué.

Navicat premium tiene una función que le permite resaltar una fila / entrada y presionar ctrl + c para copiarlo y puede pegarlo en un editor de texto como el bloc de notas y editar el texto en él, como una entrada para un elemento o npc y luego ctrl + c para copiar eso y luego volver a Navicat y ctrl + v para pegarlo y presionar ejecutar para guardarlo / agregarlo. Esta función para mí es fantástica y muy fácil de hacer varias cosas y te facilitará la vida en la edición de bases de datos. Entonces, dicho esto, continuemos.

La fuente que estoy usando para esta guía es solo el sitio web Wiki de TrinityCore y estoy usando el enlace a su documentación de SmartAI donde enumera cómo es la tabla y qué hace y qué puede hacer usted.

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

Esto es lo que usaremos como nuestra guía. Si sigues todo lo que se dice en esta página, puedes aprender un montón, ya que una vez casi escribí un guión para que fuera un 50% similar a una ventisca con solo seguir esta página, pero no voy a entrar tan lejos.

Así que comience, asegúrese de tener una criatura lista para usar como ejemplo para probar aquí. Recomiendo usar mi método anterior en Navicat y simplemente copiar una criatura básica de un área de inicio y simplemente cambiar su entrada a algo como 99999 y hacer que su nivel se establezca en lo que quiera para probar y asegurarse de que le haya establecido un nombre como TestNPC o algo fácil de recordar y la columna que se llama "AIName" sin el "por supuesto, asegúrese de que diga" SmartAI "sin el" también o de lo contrario el script Smart no funcionará.

Ahora entrando en el SmartAI real.

Vaya a la tabla smart_scripts y ábrala y cree una nueva línea/entrada lista para usar.

La primera parte será entryorguid, aquí queremos poner nuestra entrada de criaturas, que para mí es 99999. Podríamos poner un guid aquí, pero eso solo se usa para una criatura específica de una entrada, por ejemplo, tienes varias criaturas generadas en el mundo. que tienen la entrada 99999 pero dicen que solo quieres usar 1 de esas criaturas y no todas, entonces tendrías que guiar esas criaturas entrando en el juego y haciendo información .npc mientras lo tienes seleccionado y copia su número de guía hacia abajo y usando eso en lugar de su entrada.

Luego su source_type, esta columna determina qué tipo de script es, para nosotros usaremos 0 que es solo para criaturas y si desea hacer un script para un objeto de juego, entonces usaría 1, recuerde que todo está listado en el sitio web en una mesa.

El siguiente es id, este es el id del script que está configurado para esa entrada o guid específico, por ejemplo, lo estableceremos en 0, pero, si deseamos hacer otra fila / script para hacer otras cosas, entonces en ese nuevo fila tendremos 1 que será el segundo script para esa entrada o guid

Elsiguiente es el enlace, esto se usa para vincular varios scripts de la misma entrada o guid juntos de una manera en la que una determinada identificación tiene que ocurrir antes de que otra pueda hacerlo, por ejemplo, si la identificación es 0 y el enlace es 1, la identificación 1 solo puede ocurrir si la identificación 0 tiene, pero no lo usaremos ahora y solo lo configuraremos en 0.

El siguiente es even_type, ahora aquí es donde básicamente establece cuál será el evento que ocurrirá o puede ocurrir. Hay muchos tipos diferentes de eventos que puede usar, como en combate o fuera de combate o en% de salud o en muerte, etc., todos estos se enumeran en el sitio web y se pueden ver sobre cómo usar ellos. Usaremos 0 aquí, que es para InCombat, ya que este tutorial / script es para una criatura.

El siguiente es event_phase_mask, esto se usa para las fases del script y se puede configurar de 0 a 9 (no estoy seguro si puede ir más alto ya que no lo he intentado: /) y se puede incrementar a un número más alto para ir a fase diferente si es necesario. Usaremos 0 aquí, ya que será para todas las fases, ya que no usaremos múltiples. Hay más información en la página sobre esta parte si lo desea.

El siguiente es event_chance, estoy seguro de que todos saben qué es esto, es solo la probabilidad de que ocurra el evento, por lo que si se establece en 100 es un 100% de probabilidad de que ocurra, lo que será siempre sin importar qué y si se establece en 50 lo hará Solo habrá un 50% de probabilidad de que ocurra y creo que obtienes el punto.
tongue.gif


El siguiente punto es event_flags, esto se usa para establecer algunas banderas para el evento, como si es repetible o no o solo se puede usar en una mazmorra o incursión, por ejemplo. Simplemente estableceremos esto en 0 para que no tenga ningún indicador. Si quieres más información, compruébalo en el sitio web.

Ahora, event_param1 2 3 4 5, todos estos pueden ser diferentes para diferentes event_type, se puede ver en la página de las tablas. Ahora que estamos usando event_type 0 o InCombat que está en la parte superior como el primero, podemos ver cómo se usan los parámetros. 1 y 2 en nuestro caso es el tiempo inicial en ms que tarda en ocurrir por primera vez o solo una vez, configuraremos 1 a 5000 que son 5 segundos y 2 lo configuraremos a 10000 que son 10 segundos, entonces, ¿qué Lo que estamos haciendo es decirle que queremos que esto suceda entre 5 y 10 segundos al entrar en combate. 3 y 4 son los temporizadores de repetición si desea que esto vuelva a ocurrir / repetir lo que hacemos y configuramos estos para que sean iguales, por lo que 3 será 5000 y 4 será 10000. El parámetro 5 no se usa, así que lo configuramos en 0. más información está en la página.

Ahora es action_type, aquí es donde establecemos qué acción nos gustaría que ocurriera en este evento, hay muchos tipos diferentes de acciones como, emitir, hablar, moverse y muchas más que se pueden ver en el sitio web. Usaremos la acción 11, que es el lanzamiento.

Ahora vienen los parámetros de acción, action_param 1 2 3 4 5 6, vamos a nuestro action_type que es 11 y vemos que tenemos que usar el primer 3. Para action_param 1 es el spellid que queremos lanzar, soy usando spellid 133 que es bola de fuego de mago, pero puedes usar lo que quieras aquí. El siguiente es el parámetro 2, que es castflags, lo pondremos en 0 ya que no queremos ningún indicador emitido en este momento, para ver más información sobre esto, tiene un enlace en el sitio web en el que puede hacer clic para obtener más información al respecto. . El siguiente es param 3 o triggeredflags que dejaremos en 0 porque básicamente no hay nada para esto y parece que aún no tiene documentación. Para el resto de los parámetros los pondremos en 0 ya que no se usan.

Ahora su target_type, aquí definimos a qué apuntar cuando la criatura lanza el hechizo, usaremos el tipo de objetivo 2 que es la víctima / aggro principal o el objetivo actual. Puede configurar esto para otros tipos de objetivos si lo desea y algunos de ellos pueden requerir el uso de los parámetros de objetivo o una ubicación de objetivo dentro del juego con las coordenadas xyz o. No necesitamos agregar nada más aquí, así que ya hemos terminado.

El último es el comentario, simplemente establezca aquí lo que quiera, pero generalmente el comentario se usa para decir qué es el evento y qué hace.

Ahora reinicie su servidor y entre en el juego y escriba .npc agregue 99999 o su identificación y simplemente entre al combate y todo debería estar funcionando.

Solo recuerde que todo esto está en el sitio web y es realmente fácil de hacer, y si usa navicat premium como yo, puede copiar esta fila y pegarla en un editor de texto como el bloc de notas y seguir creando cosas nuevas basadas en esto y Haz varias cosas muy rápido también.

Así que espero que hayan disfrutado y hayan encontrado útil este tutorial y espero que pueda ayudar a alguien.

Créditos: Phantom123
 

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í

3,743Temas
24,635Mensajes
15,333Usuarios
jaikotÚltimo usuario
Top