• Anuncios

    • Guest

      RGPD (LEY DE 25 DE MAYO DE 2018)   24/05/2018

      Pueden ver el original RGPD del servidor en este enlace (inglés). Opcionalmente, pueden ver una versión adaptada al español aquí: ¡Es muy importante leer y aceptar esto antes de seguir jugando!
    • Terënas

      ¿Necesitas ayuda?   16/08/2018

      Bienvenidos al foro en español de Firestorm
      Si es tu primera vez y no sabes dónde solicitar ayuda para resolver tu problema, te dejamos unos enlaces que seguro te serán de utilidad.   ¿Tienes un problema dentro del juego? ¿No puedes entrar al juego? ¿Compraste puntos y no te han llegado? ¿Fuiste sancionado y quieres apelar? ¿Perdiste una montura u objetos? ¿Encontraste a un jugador haciendo trampa? ¿Compraste algo en la tienda y no te ha llegado? ¿Encontraste un bug (error o fallo) en el juego?   Si deseas contactar con un miembro del Staff puedes ver la lista completa de miembros en el siguiente enlace:    
    • Guest

      ¡Avatares personalizados ahora disponibles!   12/04/2020

      ¡Saludos, usuarios del foro de Firestorm!   ¡A petición popular de los usuarios y debido a los múltiples problemas con la sincronización de avatares del foro con los avatares de la cuenta de los jugadores, ahora los usuarios del foro podrán seleccionar un avatar personalizado y una imagen de fondo en sus perfiles del foro! Para poder cambiar vuestro avatar, deberán acceder a vuestro perfil del foro y pulsar en el icono de imagen que encontrarán junto a vuestro avatar: 1) La imagen no podrá superar los 250 Kb de tamaño. 2) La resolución máxima será de 170x170px.   Para poder cambiar vuestro fondo de perfil, deberán pulsar en el botón de Foto de portada (deberán pulsar a la derecha de dicho botón, por alguna extraña razón): 1) La imagen no podrá superar los 750 Kb de tamaño.   ¡No olviden respetar las normas de cortesía y normas sociales especificadas tanto en el post de normas del foro como en el post de código de conducta del servidor, o su cuenta del foro será sancionada acorde a la gravedad de la falta cometida!   Un saludo y pasen un buen día.
    • Guest

      ¡Cambios de nombre del foro!   27/05/2020

             Nos alegra comunicarles que todo aquel que quiera cambiar su nombre, ya sea porque tenga su correo en su perfil de foro, o simplemente porque haya decidido cambiarlo, ahora podrá hacerlo.   Simplemente tendrá que comentar en este post con el nombre que desea tener en el foro para que su solicitud sea atendida.   No se admitirán nombres que resulten ofensivos y/o inapropiados (sexual, racista, terrorista, etc).                       ¡Un saludo a todos!
Hypnos

[Guia 12] Hacer que un Npc use magias

18 posts en este tema

Buenas, voy a ser breve con esta. Cualquier duda preguntar abajo como siempre. Esto os valdra para,por ejemplo, algo que anda pidiendo mucho la gente que es meterle las magias a los guardias de las ciudades principales. Lo que vamos a hacer es lo que se llama una SAI o smart_script.

Vamos a usar el siguiente reporte: https://firestorm-servers.com/es/report/see_report/3659

Primero metemos las magias en la tabla de el npc,en creature_template,la primera linea.

En la segunda linea indicamos en la tabla de la criatura que esta tendra una SAI, sin esto no funcionaria nada.

Y a continuacion, hacemos la SAI.


UPDATE `creature_template` SET `spell1`=9080,`spell2`=11972,`spell3`=14516,`spell4`=16100  WHERE `entry`=13839;

UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`=13839;


DELETE FROM `smart_scripts` WHERE `entryorguid`=13839;
INSERT INTO `smart_scripts`(`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,
`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(13839,0,0,0,4,0,100,0,0,0,5000,5000,11,16100,0,0,0,0,0,17,20,40,0,0,0,0,0,'Royal DreadGuard- SMART_ACTION_CAST Shoot '),
(13839,0,1,0,0,0,100,0,0,0,30000,30000,11,9080,0,0,0,0,0,2,0,0,0,0, 0, 0, 0,'Royal DreadGuard- SMART_ACTION_CAST Harmstring '),

(13839,0,2,0,0,0,100,0,0,0,10000,10000,11,14516,0,0,0,0,0,2,0,0,0,0, 0, 0, 0,'Royal DreadGuard- SMART_ACTION_CAST Srike'),

(13839,0,3,0,0,0,100,0,0,0,35000,35000,11,11972,0,0,0,0,0,2,0,0,0,0, 0, 0, 0,'Royal DreadGuard- SMART_ACTION_CAST Shield Bash');

 

entryorguid= la id del npc

source_type=0 siempre ya que significa que es una criatura,npc.

id= significa el orden de los eventos.

link=al evento que quieres que suceda despues, Se explicara mas adelante en otra guia, cuando se use.

event_type= el evento que tiene que ocurrir para que se ejecute esa linea o accion. En la wiki de trinity podeis ver las que hay. En nuestro caso hemos usado el evento 4. Significa que cuando entre en agroo casteara esa magia.

event_chance= la probabilidad de que ocurra. Normalmente es 100 porque queremos que ocurra siempre. Para hacer castear magias de forma aleatoria se pondria menos,¿logico no?

event_flags= la cantidad de veces que queremos que se repita el evento. Sirve para limitarlo a x numero de veces.

event_param3 y event_param4= al minimo y maximo de tiempo en el que queremos que el evento sea chekeado para ocurrir otra vez. Digamos que para decirle que tire la magia cada 10 segundos por ejemplo. El valor es en milisegundos. Si queremos que sean 10 segundos, tendremos que poner 10000.

action_type= la accion que queremos que ocurra cuando se de el evento que pusimos. En este caso sera castear magias en los 4 eventos que pusimos. Corresponde al valor 11.

action_param1=  la id de la magia que tirara.

target_type= sobre quien se ejecutara la accion. En el primer evento hemos puesto al player que se encuentre en el rango de 20-40 yardas. El valor 17 corresponde al player en rango.

En las otras 3 hemos puesto el valor 2 que corresponde a la victima, o lo que es lo mismo al player que coja el agroo.

Os he explicado solo las columnas que hemos usado y alguna mas. Cuando se haga otra guia se explicaran las que vayan haciendo falta.

Explicando esta SAI de forma resumida, lo que hara sera:

Cuando un jugador este en rango de 20-40 yardas el guardia usara la magia shoot para dispararle cada 5 segundos hasta que entre en un rango inferior a 20 yardas o se aleje fuera de la zona de agroo.

Si se acerca mas de 20 yardas, el guardia le tirara la magia Harmstring  cada 30 segundos, Srike cada 10 segundos y Shield Bash cada 35 segundos.

 

 

A 1 persona le gusta esto

Compartir este post


Enlace al post
Compartir en otros sitios

Está bien pero los SmartAI solo sirven para spawned npcs (ya que son muy limitados) para acciones más complejas (Raidboss) necesitarás crear un cpp en c++, compilar e ir perfeccionando el codestyle. ^^.

Compartir este post


Enlace al post
Compartir en otros sitios
hace 5 horas, Enteyx dijo:

Está bien pero los SmartAI solo sirven para spawned npcs (ya que son muy limitados) para acciones más complejas (Raidboss) necesitarás crear un cpp en c++, compilar e ir perfeccionando el codestyle. ^^.

Aunque esta claro que con C++ se pueden hacer mas cosas y mejor, estas muy equivocado si piensas que no se pueden hacer cosas complejas con SAI. Y te informo que sí se pueden hacer jefes con SAI. Otra cosa es que sea mas conveniente y sencillo con C++.

Compartir este post


Enlace al post
Compartir en otros sitios

Bueno la parte de "sencillo" en cuanto a C++ depende de la complejidad de la que estemos hablando... hacer un Gossip npc no tiene nada que ver con hacer un boss calcular paths y fases pero bueno, es practico pero no es eficiente el SmartAI ya que sigue un patrón fijo el C++ es más flexible en ese sentido.

Compartir este post


Enlace al post
Compartir en otros sitios
hace 39 minutos, Enteyx dijo:

Bueno la parte de "sencillo" en cuanto a C++ depende de la complejidad de la que estemos hablando... hacer un Gossip npc no tiene nada que ver con hacer un boss calcular paths y fases pero bueno, es practico pero no es eficiente el SmartAI ya que sigue un patrón fijo el C++ es más flexible en ese sentido.

Cuando digo sencillo me refiero a que con C++ puedes hacer un script de 10 lineas que haga x cosa mientras que con SAI serian 40 lineas para hacer lo mismo, por poner un ejemplo.

Nadie dijo que el sql sea mejor que C++, no tiene comparacion un lenguaje de programacion con uno orientado a base de datos. De igual manera, si quieres debatir sobre lenguajes te invito a que abras otro tema y no desvirtualices este por favor. Esto es una simple guia para la gente que le guste y quiera ayudar subiendo parches. 

Tambien te invito a que crees alguna guia para hacer scripts con C++, ya que pareces saber y estar interesado en ello. Podria ayudar a la comunidad y de paso algunos repasamos un poco (valga la redundancia).

A 2 personas les gusta esto

Compartir este post


Enlace al post
Compartir en otros sitios
On 11/3/2016 at 10:40 PM, Hypnos dijo:

Cuando digo sencillo me refiero a que con C++ puedes hacer un script de 10 lineas que haga x cosa mientras que con SAI serian 40 lineas para hacer lo mismo, por poner un ejemplo.

Nadie dijo que el sql sea mejor que C++, no tiene comparacion un lenguaje de programacion con uno orientado a base de datos. De igual manera, si quieres debatir sobre lenguajes te invito a que abras otro tema y no desvirtualices este por favor. Esto es una simple guia para la gente que le guste y quiera ayudar subiendo parches. 

Tambien te invito a que crees alguna guia para hacer scripts con C++, ya que pareces saber y estar interesado en ello. Podria ayudar a la comunidad y de paso algunos repasamos un poco (valga la redundancia).

¿Y los parches que hagamos en C++ también los podemos enviar? Pensaba que sólo SQL xD

Compartir este post


Enlace al post
Compartir en otros sitios
hace 4 minutos, metalchaos dijo:

¿Y los parches que hagamos en C++ también los podemos enviar? Pensaba que sólo SQL xD

Tambien se puede, de hecho ya se acepto uno hace tiempo en el foro frances.

A 1 persona le gusta esto

Compartir este post


Enlace al post
Compartir en otros sitios

Donde podemos ver o informarnos lo que necesite un script?
Ademas podria intentar hacer un tutorial sobre Script a un boss (lo unico que aprendi hasta la hora xD) y en un futuro sobre quest o Gameobject, ya que he estado investigando sobre ello y tratando de aprender.

Compartir este post


Enlace al post
Compartir en otros sitios
hace 14 horas, rafaelzero92 dijo:

Donde podemos ver o informarnos lo que necesite un script?
Ademas podria intentar hacer un tutorial sobre Script a un boss (lo unico que aprendi hasta la hora xD) y en un futuro sobre quest o Gameobject, ya que he estado investigando sobre ello y tratando de aprender.

Los boss normalmente se hacen en C++ y es algo mas complejo. Puedes hacer minibosses modificando la SAI que se uso como ejemplo arriba.

En cuanto a quests o gobject dime que es lo que quieres saber concretamente. Los gobject es muy parecido a las criaturas y de quest pues vamos poco a poco.  Podria copiarte las 400 lineas de Surprise Attack quest si quieres aunque es algo como un 70% blizzlike pero se parece, y tal vez te valdria para aprender algo de lo que quieres....

Compartir este post


Enlace al post
Compartir en otros sitios

Bueno en cuanto lo que es Gameobject, me interesan los items de crafteo ej: la navaja gnomica y algunos tesoros que dan beneficios o juguetes, por otro lado me gustaria aprender sobre objetos en el juego, por ejemplo revisar las ciudadelas: establos, mina, etc y para su funcionamiento, otro seria el en Talador arreglar el portal para bajar a la torre de zangarra.

Compartir este post


Enlace al post
Compartir en otros sitios

Busque entre las guias y esto es lo que mas se acerca, esta guia me sirve de alguna manera para arreglar el bug de las monturas del mamut de viaje y yak de gran expedicion los cuales deberían de recoger a los npc que ellos invocan o que guia debería de ver?

Compartir este post


Enlace al post
Compartir en otros sitios
hace 3 horas, reyard dijo:

Busque entre las guias y esto es lo que mas se acerca, esta guia me sirve de alguna manera para arreglar el bug de las monturas del mamut de viaje y yak de gran expedicion los cuales deberían de recoger a los npc que ellos invocan o que guia debería de ver?

El mamut de viaje deberia estar arreglado ya. Aunque creo que no siempre salen montados. La otra la echare un vistazo cuando tenga tiempo. Pero creeme que ya van varios intentos de arreglar el mamut y debe haber algo en el core que no permite arreglarlo con sql.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Compartir este post


Enlace al post
Compartir en otros sitios

Acabo de probar tanto el mamut de tundra y el yak, ambos estan bug, supuse que seria algo facil, por eso quería hacer el código para ayudar puesto que esas monturas cuestan mucho y muchos quedan frustrados.

Compartir este post


Enlace al post
Compartir en otros sitios
On 12/4/2016 at 10:10 PM, reyard dijo:

Acabo de probar tanto el mamut de tundra y el yak, ambos estan bug, supuse que seria algo facil, por eso quería hacer el código para ayudar puesto que esas monturas cuestan mucho y muchos quedan frustrados.

Ya he hecho varios parches y mirado varias veces el mammut y creeme que de ser tan facil como pensabas ya estaria arreglado :P . Con el ultimo parche  deberia funcionar bien pero como comente antes, debe haber algo en el core C++ que hace que no funcione correctamente.

El yak he implementado el mismo parche que con el mammut y deberia funcionar parecido ahora + tu parche de transmogrifer.

On 20/3/2016 at 11:19 PM, rafaelzero92 dijo:

Bueno en cuanto lo que es Gameobject, me interesan los items de crafteo ej: la navaja gnomica y algunos tesoros que dan beneficios o juguetes, por otro lado me gustaria aprender sobre objetos en el juego, por ejemplo revisar las ciudadelas: establos, mina, etc y para su funcionamiento, otro seria el en Talador arreglar el portal para bajar a la torre de zangarra.

Si realmente tienes interes deberias empezar por montarte un servidor local de trinity o leerte y practicar parches simples usando la wiki de trinity o estas miniguias. Quieres abarcar mucho pero las cosas hay que hacerlas poco a poco...

A 2 personas les gusta esto

Compartir este post


Enlace al post
Compartir en otros sitios

Y ya colocaron el parche el dia de hoy o cuando será?, el dia de hoy veo que el yak sigue igual y el transfigurador aun no funciona.

Compartir este post


Enlace al post
Compartir en otros sitios
On 18/4/2016 at 0:49 AM, reyard dijo:

Y ya colocaron el parche el dia de hoy o cuando será?, el dia de hoy veo que el yak sigue igual y el transfigurador aun no funciona.

Perdona por no responder antes,se coloco el parche el lunes. El funcionamiento de la montura deberia ser el mismo que el de el mammut. En cuanto al transfigurador no testee tu parche en el ptr porque me parecio que la flag era la correcta pero quizas no lo era o hay otro problema detras....tendre que mirarlo otra vez....

A 1 persona le gusta esto

Compartir este post


Enlace al post
Compartir en otros sitios

Jade Guardian

http://www.wowhead.com/npc=55236

Habilidades:

es.wowhead.com/spell=19615

es.wowhead.com/spell=103236

Spoiler

UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 55236;
DELETE FROM `smart_scripts` WHERE (source_type = 0 AND entryorguid = 55236);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(55236, 0, 0, 0, 23, 0, 100, 0, 19615, 0, 0, 0, 11, 19615, 32, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Frenzy Effect'),
(55236, 0, 1, 0, 4, 0, 100, 0, 0, 0, 5000, 5000, 11, 103236, 0, 0, 0, 0, 0, 17, 20, 40, 0, 0, 0, 0, 0, 'Striking Stare');

 

Quiero aprender a ponerle hechizo a las Criaturas, crees que esta bien el Codigo?

Compartir este post


Enlace al post
Compartir en otros sitios

Bien es sencillo....

UPDATE `creature_template` SET `AIName` = 'SmartAI' WHERE `entry` = 55236;
DELETE FROM `smart_scripts` WHERE `entryorguid` = 55236;
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(55236, 0, 0, 1, 0, 0, 100, 0, 0, 0, 1000, 30000, 11, 19615, 32, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Frenzy Effect'),
(55236, 0, 1, 0, 4,0, 100, 0, 0, 0, 5000, 5000, 11, 103236, 0, 0, 0, 0, 0, 17, 20, 40, 0, 0, 0, 0, 0, 'Striking Stare');

Compartir este post


Enlace al post
Compartir en otros sitios

Registra una cuenta o conéctate para comentar

Debes ser un miembro de la comunidad para dejar un comentario

Crear una cuenta

Regístrate en nuestra comunidad. ¡Es fácil!


Registrar una cuenta nueva

Iniciar Sesión

¿Ya tienes cuenta? Conéctate aquí.


Iniciar Sesión