Saltar al contenido

Más en DLAN: Nuestras Traducciones | Otras Traducciones | Mods y modding | Revisiones y Guías | Videojuegos | Arte | Literatura | Rol y Rol por foro e IRC | Mapa de la web
Foto

Como utilizar la función ActionCastSpellAtObject

bug ActionCastSpellAtObject npc

3 respuestas al tema

#1 Nebsan

Nebsan

    Humano

  • Miembro
  • Pip
  • 3 posts

Posteado 10 October 2018 - 10:01 PM

Muy buenas a todos^^

 
Recientemente he empezado a trastear en el mundillo del Scripting y la verdad me esta encantando. Pero estoy atascado con una función (ActionCastSpellAtObject()) y no acabo de conseguir que funcione como tengo en mente, espero que podáis ayudarme .
 
La situación es la siguiente : Mi idea es que al golpear un enemigo o bien cuando cuando spawnea (sea por un desencadenante o por script), se le lance un conjuro a dicho enemigo, por decirlo de una manera una especie de buff. Para no complicarlo por ahora solo quiero que reciba los efectos del conjuro, no importa que lo reciba cada vez que lo golpeo.
 
Mi codigo en el evento OnDamaged() de la criatura es:

 

void main()
{
object oTarget = OBJECT_SELF;

DelayCommand(2.0, ActionCastSpellAtObject(SPELL_GHOSTLY_VISAGE, oTarget, TRUE));
}

 

La cuestión es que si  pongo esta funcion en el evento OnUsed() de una palanca y apunto con la función GetLastUsedBy() a mi jugador, si que recibo el conjuro :(

 

 

Podríais ayudarme por favor :)

 

De ante mano muchas gracias.

 

Un saludo cordial. 


Editado por Nebsan, 10 October 2018 - 10:16 PM.


#2 MenemDoIt

MenemDoIt

    Antediluvian

  • Miembro
  • PipPipPipPipPip
  • 1210 posts

Posteado 11 October 2018 - 06:06 AM

en tu caso creo que lo mejor seria que, en lugar de lanzar el conjuro apliques directamente los efectos deseados sobre la criatura en cuestion, por ejemplo para el conjuro Ghostly Visage :

effect eLink = EffectLinkEffects(EffectDamageReduction(5,DAMAGE_POWER_PLUS_ONE),EffectVisualEffect(VFX_DUR_GHOSTLY_VISAGE));
eLink = EffectLinkEffects(eLink,EffectSpellLevelAbsorption(1));
eLink = EffectLinkEffects(eLink,EffectConcealment(10));
eLink = EffectLinkEffects(eLink,EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE));
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLink,OBJECT_SELF,TurnsToSeconds(GetCasterLevel(OBJECT_SELF)));

10016077DS1515734551.gif


#3 Nebsan

Nebsan

    Humano

  • Miembro
  • Pip
  • 3 posts

Posteado 11 October 2018 - 08:37 AM

Buenos días,

 

Primero de todo muchas gracias por tu tiempo para responder MenemDoIt. Me ha sorprendido la rápidez ^^.

 

Analizando el código que has adjuntado me ha surgido la siguiente duda :

 

  • Se puede simular el estado de todos o la gran mayoria de los conjuros de nwn, con el uso de Effects? .. imagino que si, ya que de alguna manera tienen que estar definidos en la BBDD del juego, pero no tengo ni idea de si se pude visualizar ese contenido.
  • Encadenando la pregunta anterior.. se  pueden visualizar los ficheros que esfecifican los efectos de cada conjuro ?

 

De nuevo gracias por vuestra atención.

 

Un saludo cordial

 

 



#4 Nebsan

Nebsan

    Humano

  • Miembro
  • Pip
  • 3 posts

Posteado 11 October 2018 - 09:05 AM

Muy buenas,

 

Investigando un poquito he encontrado un enlace a github, donde estan todos los conjuros de nwn.  :thumb:  

 

Respondiendo a mis preguntas anteriores, imagino que la mejor opción siguiendo el consejo de  es recrear el comportamiento de los conjuros con effects, para ello podemos fijarnos como se ha desarrollado cada conjuro entrando en el detalle de su fichero.

 

Adjunto el enlace a github para cualquiera que este interesado.

https://github.com/s.../mod/nss/spells

 

 

Un saludo cordial.

 

Se puede cerrar el post  ^^





Responder



  



También marcado con bug, ActionCastSpellAtObject, npc

A Bragol. Tus amigos te echan de menos.