Retomo lo preguntado:
Bueno la razón de esto es que por que buscaba (y sigo buscando) una solución en cuanto al sol y los vampiros, si sale el sol, te daña , pero por ejemplo si mi personaje se pone a descansar en pleno sol no moriría nunca, mientras le daña se cura, asi que quería dejar al personaje jugador, alterado con la imposibilidad de descansar, ( ya se que hay métodos para ello, poner un contador y tal, que realmente es lo que he hecho), pero es más complejo de lo que parece, busco concretamente esa función por una razón.
En mi servidor esta enfocado en el mundo de vampiros, por lo tanto hay horas diurnas y nocturnas, ahora bien, ¿recordais Minecraft?, , si todos los que estan en el servidor se ponen a dormir ala misma hora, pasan las horas de golpe para jugar de día.
Esta es una idea parecida, no pasan de golpe , pero si más rapidas, si no hay nadie en combate en el servidor durante el día, las horas van pasando al doble de su velocidad real, hasta ahí todo bien,
pero no puedo hacer lo mismo ,si sale el Sol ,y me quema, pero no se considera que está en combate, por lo tanto las horas diurnas van el doble de rápido por eso quería forzar el combate con alguna función o algo que lo fuerce.
o se me ocurre que alo mejor si detecta de alguna forma que estoy siendo dañado pero no se si hay tal función.
Respecto a esto si no se os ocurre nada, ya le daré otra vuelta que me vino ala cabeza con el ejemplo de minecraft XD, pero mi siguiente duda es de hoy, y si que me tiene un poco jodido jeje, a ver que os parece.
----------
DUDA 2: esto es un removedor de 2 tipos de efectos , remueve incremento de CA, y relentizaciones, estoy buscando remover modificadores de Ataque, y resulta que no encuentro la constante(creo que no existe), ¿se os ocurre algo?
void main()
{
object oPC= GetItemActivator();
if (!GetIsPC(oPC)) return;
//Remove blindness from the PC
effect eLoop=GetFirstEffect(oPC);
while (GetIsEffectValid(eLoop))
{
if (GetEffectType(eLoop)==EFFECT_TYPE_MOVEMENT_SPEED_DECREASE)
RemoveEffect(oPC, eLoop);
if (GetEffectType(eLoop)==EFFECT_TYPE_AC_INCREASE)
RemoveEffect(oPC, eLoop);
eLoop=GetNextEffect(oPC);
}
}
con esto aumento el NÚMERO DE ATAQUES a 5 durante 60 segundos,
effect eMasAtaque = EffectModifyAttacks(5);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eMasAtaque , oJugador,59.9);
pero quiero poder removerlo con otra función, no ponerlo por tiempo, ¿Alguna idea?
Gracias.
Edito:
se me olvidaba,¿Alguien sabría indicarme donde puedo destripar un conjuro para ver el script?, busco concretamente el de acelerar, estaba pensando que alo mejor puedo encontrar la respuesta ahí ala segunda duda
cuando un se pone las botas de acelerar, se activa la velocidad , aumenta 4 ca natural, y suma un ataque, si me las quito, se q elimina todos esos bonificadores del tirón, basandome en eso, debería de ser posible cancelar el efecto.
Editado por Rk.Sayan, 13 August 2019 - 11:32 PM.