Yrian

04/06/2013 02:30:11

Dios me vais a banear del foro por pesado jajajaja.

Pues he creado un area, no se si os acordais de Indiana Jones en el caliz de oro. El pasillo de letras que si pisaban se caian, pues bien mi admin me pidio crear algo asi, hice el area, todo una sopa de letras con una frase para poder pasar pisando justamente en las placas de letras, puse trampas en las demas letras, pero el problema es que ni siquiera las trampas mortiferas altas, les quite la deteccion, les inhabilite el desarmarlas, pero el problema que los picaros altos las pasan por encima porque pide solamente cd 35 y con sus reflejos las saltan, no hay ninguna manera de crear o modificar las trampas para elevar la cd y ponerla por las nubes para que no haya modo de que puedan pasar a menos que sea por las letras correctas?

AlthorDeMalavir

04/06/2013 03:07:04

¿Has probado las épicas? creo que tienen una CD de 65

Yrian

04/06/2013 12:40:53

creo que eran epicas, probare de nuevo igualmente, pero no hay forma de modificar las trampas para subirles el damage que hacen o las cds?

AlthorDeMalavir

04/06/2013 13:44:46

la CD de las trampas que hay no se pueden subir, tendrías que crearte tu propio trigger y meterle un script para que haga lo que tu quieras.

Yrian

04/06/2013 14:35:00

si eso me temia, ademas probe la epica y es cd 35, ademas se ven l entrar en el area, lo que yo queria que fueran invisibles para los players, asi que me tocara crearlas por trigger y hacer que hagan damage.

bastaria con hacer un trigger y meter en OnEnter esto?

void main()
{
object oEntering = GetEnteringObject();

if (GetIsPC(oEntering))

effect eDamage = EffectDamage(200);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oPC) ;
}
}

Cerril

04/06/2013 23:54:26

Si quieres que el personaje reciba un daño de 200 puntos de golpe si, pero si quieres matarle sería mejor extraer los puntos de golpe del personaje y hacerle el daño = a los mismos.

AlthorDeMalavir

05/06/2013 01:01:50

[quote:affb7842f2="Yrian"]si eso me temia, ademas probe la epica y es cd 35, ademas se ven l entrar en el area, lo que yo queria que fueran invisibles para los players, asi que me tocara crearlas por trigger y hacer que hagan damage.

bastaria con hacer un trigger y meter en OnEnter esto?

void main()
{
object oEntering = GetEnteringObject();

if (GetIsPC(oEntering))

effect eDamage = EffectDamage(200);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oPC) ;
}
}[/quote:affb7842f2]

Así de primeras veo un par de fallos

[code:1:affb7842f2]
void main()
{
object oEntering = GetEnteringObject();

if (GetIsPC(oEntering))
{
effect eDamage = EffectDamage(200);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oEntering) ;
}
}
[/code:1:affb7842f2]

Yo le metería una tirada de reflejos, se cabrearan si no existe posibilidad de salvar, en D&D eso no esta muy bien visto, aunque desconozco las reglas que usa vuestro servidor.

Yrian

06/06/2013 00:55:19

a no no es que no quiero que puedan pasar, es como una sopa de letras, donde tienen que pisar las letras correctas si no recibiran el damage.

Creo que no funciona me da error de compilacion, alguna idea de solucionarlo?

Cerril

06/06/2013 12:36:19

El código que ha cologado althor, está correcto, no tienen error de compilación.

Aun así yo le pondría al gun efecto visual de daño para que los vean los Jugadores.

Puedes poner una tirada de salvación empleando la función ReflexSave para que por ejemplo se reciba la mitad del daño.

Si lo que quieres es matar en caso de fallar la tirada tienes que obtener primero los puntos de golpe del pj con la función GetCurrentHitPoints y establecer el valor devuelto a nDamge, el ejemplo sería así:

[code:1:cd6cabe865]void main()
{
object oEntering = GetEnteringObject();
int nDC = 65; //Esta sera la DC de salvacion
int nDamage = GetCurrentHitPoints(oEntering) + 20; //Da el valor de sus puntos de golpe +20 para asegurarnos que muere
effect eImpacto = EffectVisualEffect(VFX_IMP_TORNADO); //Efecto visual de impacto

//Si es un Jugador
if (GetIsPC(oEntering))
{
//Realiza la tirada de salvacion de reflejos y en caso de acertarla se
//recibe tan solo la mitad del damage.
if (ReflexSave(oEntering, nDC) > 0)
{
nDamage /= 2;
}

effect eDamage = EffectDamage(nDamage);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oEntering);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpacto, oEntering);
}
}[/code:1:cd6cabe865]

Cerril

06/06/2013 12:38:15

para cambiar el efecto visual de impacto que he puesto, te metes en la sección constantes y escribres VFX_IMP_

En la lista aparecerán todos los efectos visuales de impacto, puedes ir probando el que mas te guste.

Cerril

06/06/2013 12:43:02

Este escript tiene la ventaja de que asusta muchisimo pero no te mata en caso de acertar la TS, ya que te va quitando la mitad de los puntos de golpe que tengas en el momento.

Por ejemplo un gerrero con 700 puntos de golpe pisa y falla, pues recibirá un daño de 360 puntos la primera vez.

La segunda que pise recibirá un daño de 180 puntos.

La tercera 90, la cuarta 45, etc.

si te pilla con 10 puntos de golpe o menos tambien mata aunque superes la TS.

En cualquier otro caso si fallas caes.

Yrian

06/06/2013 12:53:45

Guay tiene buena pinta, apenas llegue del curro lo pruebo gracias por vuestra ayuda