XatiyaRO

General => Errores y Bugs => Mensaje iniciado por: Ereborn en 15 de Diciembre de 2012, 23:08:55 pm

Título: Slow grace Bug?
Publicado por: Ereborn en 15 de Diciembre de 2012, 23:08:55 pm
Buenas, solo reportar un evento raro donde el efecto de slow grace ha durado unos 5 minutos seguidos aun cuando no estaba dentro de la cancion en ningun momento.
Creo que puede deberse a que el efecto se mantiene despues de morir (estaba en slow grace cuando me mataron y el efecto dura normalmente 20 segundos despues de volver a city, lo que no se si sera bug tambien) y se puede bugear a veces.
Título: Re:Slow grace Bug?
Publicado por: wythel en 15 de Diciembre de 2012, 23:27:11 pm
Me paso lo mismo hoy con el sinx una gypsi metió slow y después de un buen rato no se me quitaba(contando que tenia autoritative) y me volvieron a dar agi.
Título: Re:Slow grace Bug?
Publicado por: Ereborn en 27 de Enero de 2013, 22:08:17 pm
Up, añadir que la duracion del slow grace en woe esta siendo muy superior a 20 segundos (esta vez muriendo gipsy)
Título: Re:Slow grace Bug?
Publicado por: edani en 27 de Enero de 2013, 22:09:42 pm
Doy un Up a esto porque, desde hace ya un tiempo, encuentro que el efecto dura demasiado. En la descripción de la skill hay dos valores: stay duration (lo que dura la skill activa) y effect duration (el tiempo que te dura como efecto adverso). Sé con seguridad que dura más de 20 segundos y eso no debería ser posible de acuerdo con la descripción de ratemyserver. Si está modificado en este servidor, me gustaría que lo dijesen públicamente (alguna persona de responsabilidad y que tenga peso en el staff).

Saludos. 
Título: Re:Slow grace Bug?
Publicado por: JonyW en 27 de Enero de 2013, 22:13:05 pm
la duracion del slow grace es de 3 min, aunque igual he notado que esta durando mas de lo normal ultimamente
Título: Re:Slow grace Bug?
Publicado por: Popa~ en 27 de Enero de 2013, 22:15:38 pm
la duracion del slow grace es de 3 min
o.0

Lo "normal" son 20 segundos después de salirte de la canción, lo que edani llama "effect duration". Había ocasiones en las que el Slow del teamfight anterior nos seguía afectando durante la WoE :S
Título: Re:Slow grace Bug?
Publicado por: JonyW en 27 de Enero de 2013, 22:23:07 pm
la duracion del slow grace es de 3 min
o.0

Lo "normal" son 20 segundos después de salirte de la canción, lo que edani llama "effect duration". Había ocasiones en las que el Slow del teamfight anterior nos seguía afectando durante la WoE :S
no se vayan por las descripciones de ratemyserver que son una basura xD, cosa de leer el script de la skill
Título: Re:Slow grace Bug?
Publicado por: Popa~ en 27 de Enero de 2013, 22:24:11 pm
la duracion del slow grace es de 3 min
o.0

Lo "normal" son 20 segundos después de salirte de la canción, lo que edani llama "effect duration". Había ocasiones en las que el Slow del teamfight anterior nos seguía afectando durante la WoE :S
no se vayan por las descripciones de ratemyserver que son una basura xD, cosa de leer el script de la skill
¿Cómo puedo leer los scripts de las skills?

En la descripción de la skill se indica que la duración es de 180 segundos, pero eso es lo que dura la canción en la gypsy sin que haga amp, cambie de arma, etc. Una cosa es eso y otra el tiempo que te sigue afectando una canción sin que haya una gypsy/clown tocándola encima tuya.
Título: Re:Slow grace Bug?
Publicado por: JonyW en 27 de Enero de 2013, 22:32:45 pm

coinciden un poco la duracion de la skill puesta con la del efecto, al menos para esta cancion, para el ms riff y demas skills de "soporte" la duracion es de 20 seg al salir de la cancion, y en el scrip que lei (lo puedes hacer en la pagina de eathena con uno cuantos conocimientos de programacion y tal) la duracion aprox del movement speed reducido por la cancion es de 3min, el efecto del ASPD reducido si es de solamente 20 seg
Título: Re:Slow grace Bug?
Publicado por: edani en 30 de Enero de 2013, 22:05:15 pm
Googleando un poco he encontrado algunas cosas. No soy experto en la materia, así que pido que no se me pida demasiado y puede que algo que diga no es del todo cierto, fruto de mi desconocimiento.

Primero de todo, una descripción de la skill: http://irowiki.org/wiki/Slow_Grace. Creo que lo explica bastante bien y se entiende de una manera muy por encima cómo funciona Slow Grace.

Luego, yendo un poco más a fondo, busqué el script de la skill y esto fue lo que encontré (se encuentra en el archivo skill.c):
Código: [Seleccionar]
case DC_DONTFORGETME:
val1 = 3*skilllv+(status_get_dex(src)/10); // ASPD decrease
val2 = 2*skilllv+(status_get_agi(src)/10); // Movement speed decrease
if(src->type == BL_PC){
val1 += pc_checkskill((struct map_session_data *)src,DC_DANCINGLESSON);
val2 += pc_checkskill((struct map_session_data *)src,DC_DANCINGLESSON);
}
break;
Cómo no soy experto en programación, a mí no me dice nada dicho código, no veo que ponga nada de una duración expresada en tiempo. Quizás, el código sí que esté haciendo referencia, pero yo no lo veo.

Por último, quise revisar el fichero donde se especificaba el tiempo que dura una skill o los delays, etc. (parece ser que se llama skill_cast_db.txt) y esto es lo que encontré: http://code.google.com/p/rathena/source/browse/trunk/db/re/skill_cast_db.txt?r=16983 de lo cual interesa:
Código: [Seleccionar]
// Structure of Database:
// SkillID,CastingTime,AfterCastActDelay,AfterCastWalkDelay,Duration1,Duration2,Cool Down,Fixed Casting Time

//== Explained:
// CastingTime : time to cast this skill, in miliseconds
// AfterCastActDelay : "normal" delay, character cannot use skills, in miliseconds
// AfterCastWalkDleay : amount of time before character can move again, in miliseconds
// Duration1 / Duration2 : usually the durations used by the skill, at special cases it is used to hold special data
// Cool Down : amount of time until character can re-use this skill, in miliseconds
// Fixed Casting Time: the skills fixed casting time (when 0, uses 20% of cast time and less than 0 means no fixed cast time)

//-- DC_DONTFORGETME
328,0,0,0,180000,20000,0,0

// Duration1 / Duration2 : usually the durations used by the skill, at special cases it is used to hold special data
328,0,0,0,180000,20000,0,0

Lo que yo entiendo de esta información es que los valores de effect duration y stay duration son diferentes. Otra cosa ya es que esto, precisamente, se haya modificado.

En fin, repito: no soy experto en esto y, por lo tanto, puede ser que esté explicando algo mal. Quisiera que alguien que entienda se pronunciase (staff de programación); y si además me/nos aclarase qué pasa pues mejor ;).

Saludos.
Título: Re:Slow grace Bug?
Publicado por: Popa~ en 31 de Enero de 2013, 06:32:35 am


Gracias por el enlace.

Viendo la descripción de cada número y los números en sí se deduce lo siguiente:
La canción dura 3 minutos (180.000 milisegundos). Algunas canciones duran 3 y otras duran 2. Esto se refiere al tiempo que está la gypsy cantando si hace la skill (o Encore) y no cancela de ninguna manera la canción; el recuadro de color que le rodea.

El Duration 2, es decir, lo que dura la canción después de que la Gypsy ya no esté cantando sobre ti, es 20.000 milisegundos para TODAS las canciones (excepto dissonance y ugly dance), entre las que se incluye el Slow Grace.
Título: Re:Slow grace Bug?
Publicado por: Puar en 31 de Enero de 2013, 10:59:30 am
Código: [Seleccionar]
//-- DC_DONTFORGETME
328,0,0,0,180000,20000,0,0
Yo diría, que según eso, el efecto son 20 segundos. Como todas las canciones, vaya.
Y 20 segundos no dura, al menos aquí. La última woe estuve más de 5 minutos con el efecto.
Título: Re:Slow grace Bug?
Publicado por: Phi en 31 de Enero de 2013, 13:31:47 pm
Código: [Seleccionar]
//-- DC_DONTFORGETME
328,0,0,0,180000,20000,0,0
Yo diría, que según eso, el efecto son 20 segundos. Como todas las canciones, vaya.
Y 20 segundos no dura, al menos aquí. La última woe estuve más de 5 minutos con el efecto.
Eso esta bien en el código, lo que tiene que pasar es que cuando se te aplica otra skill, cambias de mapa, mueres, deslogueas, etc; no recuperas tu antigua velocidad de movimiento, lo que hay que saber es qué es ese evento que provoca eso (todo esto lo digo partiendo que dudo que desde que me fuera se editara eso).


Código: [Seleccionar]
case UNT_DONTFORGETME:
case UNT_FORTUNEKISS:
case UNT_SERVICEFORYOU:
if (sg->src_id==bl->id && !(sc && sc->data[SC_SPIRIT] && sc->data[SC_SPIRIT]->val2 == SL_BARDDANCER))
return 0;

if (!sc) return 0;
if (!sce)
sc_start4(bl,type,100,sg->skill_lv,sg->val1,sg->val2,0,sg->limit);
else if (sce->val4 == 1) {
//Readjust timers since the effect will not last long.
sce->val4 = 0;
delete_timer(sce->timer, status_change_timer);
sce->timer = add_timer(tick+sg->limit, status_change_timer, bl->id, type);
}
break;

Código: [Seleccionar]
case DC_DONTFORGETME:
case DC_FORTUNEKISS:
case DC_SERVICEFORYOU:
if (sce)
{
delete_timer(sce->timer, status_change_timer);
//NOTE: It'd be nice if we could get the skill_lv for a more accurate extra time, but alas...
//not possible on our current implementation.
sce->val4 = 1; //Store the fact that this is a "reduced" duration effect.
sce->timer = add_timer(tick+skill_get_time2(skill_id,1), status_change_timer, bl->id, type);
}
break;

Código: [Seleccionar]
if( !status_isdead(src) && ((TBL_PC*)src)->state.warping && !((TBL_PC*)src)->state.changemap ) {
switch( group->skill_id ) {
case BA_DISSONANCE:
case BA_POEMBRAGI:
case BA_WHISTLE:
case BA_ASSASSINCROSS:
case BA_APPLEIDUN:
case DC_UGLYDANCE:
case DC_HUMMING:
case DC_DONTFORGETME:
case DC_FORTUNEKISS:
case DC_SERVICEFORYOU:
skill_usave_add(((TBL_PC*)src), group->skill_id, group->skill_lv);
break;
}
}
http://code.google.com/p/rathena/source/browse/trunk/src/map/skill.c

Os faltaba copiar esas partes del codigo, creo que la ultima parte puede ser la que no esté bugeada o algo de eso.
Título: Re:Slow grace Bug?
Publicado por: Rez en 31 de Enero de 2013, 13:37:21 pm
El tiempo que dura la skill son 3 minutos. El tiempo que debería durar el efecto sobre el enemigo son 20 segundos (como afectar un MS o cualquier otra de support). Pero en este server esta bug llegando a durar minutos.

Código: [Seleccionar]
//-- DC_DONTFORGETME
328,0,0,0,180000,20000,0,0
Yo diría, que según eso, el efecto son 20 segundos. Como todas las canciones, vaya.
Y 20 segundos no dura, al menos aquí. La última woe estuve más de 5 minutos con el efecto.
Eso esta bien en el código, lo que tiene que pasar es que cuando se te aplica otra skill, cambias de mapa, mueres, deslogueas, etc; no recuperas tu antigua velocidad de movimiento, lo que hay que saber es qué es ese evento que provoca eso (todo esto lo digo partiendo que dudo que desde que me fuera se editara eso).

De hecho, el efecto ms dura despues de muerto. Lo que deberia haber es algún tipo de "desdope" cuando mueres, exceptuando efectos que perduran aún muerto como pergaminos de exp y similares.
Título: Re:Slow grace Bug?
Publicado por: Puar en 01 de Febrero de 2013, 17:58:15 pm
Si rez dice que el efecto del ms te dura después de muerto, seguramente el bug esté en el código que ha puesto Phi. A ver si alguien de programación lo puede revisar.
Título: Re:Slow grace Bug?
Publicado por: edani en 03 de Febrero de 2013, 17:58:38 pm
¿Algún miembro de programación que se digne a decirnos algo?
Título: Re:Slow grace Bug?
Publicado por: Nymph en 06 de Febrero de 2013, 17:12:29 pm
Sí es un bug, parece que ocurre algún fallo con el temporizador en todas las canciones. Está reportado en eAthena, así que no es del servidor. Cuando se encuentre la solución se pondrá.
Título: Re:Slow grace Bug?
Publicado por: edani en 06 de Febrero de 2013, 17:58:42 pm
Sí es un bug, parece que ocurre algún fallo con el temporizador en todas las canciones. Está reportado en eAthena, así que no es del servidor. Cuando se encuentre la solución se pondrá.
Muchas gracias =)
Título: Re:Slow grace Bug?
Publicado por: Kazuki Haru en 24 de Abril de 2013, 07:38:23 am
Error corregido.
El parche se aplicará en el próximo reinicio.