Neverwinter Nights
Menú
Gamersmafia es ahora un archivo de solo lectura.

¿Algun scripter avanzado que pueda ayudarme?

Quiero que un placeable (situable), compruebe al ser atacado, si el tipo de daño es del tipo “fuego”. Suponia que usando la funcion GetDamageDealtByType(), que en teoria devuele el daño producido por un tipo de daño, en el “slot on damaged”, conseguiria comprobar si el daño ha sido provocado por fuego, pero, en lugar de eso, siempre devuelve -1. La idea era usar los placeables “capullo” que destruidos sin mas engendraran una araña, y quemados, tras una animacion con llamas, se destruiran y la araña se quemara. En problema es distinguir el daño fisico del daño por fuego. Gracias por atender mi post, y una vez mas, gracias si eres capaz de hayar una solucion a mi problema. Este el el script que he creado de momento: [code:1:48ff99d846] void CreateTemporaryObject(int nObjectType, string sTemplate, location lLocation, int bUseAppearAnimation, float fDeadTime) { object oCreature = CreateObject(nObjectType, sTemplate, lLocation, bUseAppearAnimation); effect eGolpe = EffectDamage(1000); DelayCommand(fDeadTime, ApplyEffectToObject(DURATION_TYPE_INSTANT, eGolpe, oCreature)); } void main() { if (GetLocalInt(OBJECT_SELF, “Quemandose”)) return; effect eGolpe = EffectDamage(500, DAMAGE_TYPE_FIRE); SpeakString(IntToString(GetDamageDealtByType(DAMAGE_TYPE_FIRE))); if (GetDamageDealtByType(DAMAGE_TYPE_FIRE)) { SetLocalInt(OBJECT_SELF, “Quemandose”, 1); CreateTemporaryObject(OBJECT_TYPE_PLACEABLE, “plc_flamesmall”, GetLocation(OBJECT_SELF), FALSE, 2.0); DelayCommand(1.0, CreateTemporaryObject(OBJECT_TYPE_PLACEABLE, “plc_flamemedium”, GetLocation(OBJECT_SELF), FALSE, 2.0)); DelayCommand(2.0, CreateTemporaryObject(OBJECT_TYPE_PLACEABLE, “plc_flamelarge”, GetLocation(OBJECT_SELF), TRUE, 2.0)); DelayCommand(3.0, CreateTemporaryObject(OBJECT_TYPE_PLACEABLE, “plc_weathmark”, GetLocation(OBJECT_SELF), FALSE, 60.0)); DelayCommand(4.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eGolpe, OBJECT_SELF)); DelayCommand(4.0, CreateTemporaryObject(OBJECT_TYPE_CREATURE, “nw_spidphase”, GetLocation(OBJECT_SELF), FALSE, 0.5)); } } [/code:1:48ff99d846][/quote]

El problema está en que la funcioncita de marras solo funciona con criaturas, con placeables no furula, por eso te devuelve siempre un -1. Le daré vueltas a la cabeza a ver si se me ocurre alguna forma de pillar el tipo de daño, pero lo veo mal, porque de momento lo único que se me ocurre es que mires los efectos del arma que tiene el personaje que ataca, pero si ha sido mediante un hechizo ya no sirve…

Salu2

Pues es una pena, porque la idea no era mala y ya tenia todo el script pensado, salvo por ese detalle. A ver si alguien encuentra una solucion y publicare el script completo cuando lo termine. Gracias por la ayuda.
¿Alguien sabe si el daño por fuego se considera un effecto damage? Mmmm, tendre que probarlo…

Los más activos en Scripting