DrPolitica Publicado 22 de Septiembre del 2021 Reportar Compartir Publicado 22 de Septiembre del 2021 src Cliente/Gamelib/ActorInstanceBattle.cpp Buscar: Quote void CActorInstance::__HitGreate(CActorInstance& rVictim) { Agregar abajo: Quote if (IS_HUGE_RACE(rVictim.GetRace())) { return; } Una pequeña contribución a la comunidad. Kronixer™ y [D]ELARO ✓ reacciono a esto 2 Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
CHELO Publicado 25 de Septiembre del 2021 Reportar Compartir Publicado 25 de Septiembre del 2021 Que hace esto disculpa la pregunta Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Enju Publicado 25 de Septiembre del 2021 Reportar Compartir Publicado 25 de Septiembre del 2021 hace 1 hora, CHELO dijo: Que hace esto disculpa la pregunta Que no empujes a los bosses cuando los golpeas. Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
MiGueLiT0 Publicado 20 de Octubre del 2021 Reportar Compartir Publicado 20 de Octubre del 2021 Buena Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
[D]ELARO ✓ Publicado 22 de Octubre del 2021 Reportar Compartir Publicado 22 de Octubre del 2021 Este cambio de código lo que hace es que a ti no te empujen los jefes, pero si buscan la linea que voy a dejar abajo ahí ustedes agregan 1 a 1 los jefes que no podrás empujar al tu atacarlos, por ejemplo normalmente viene el dragón beran y yo agregue el jefe orco para testear, probado por mi ya no empujas al jefe que agregues en cada case. Esto se busca en el mismo ActorInstanceBattle.cpp bool IS_HUGE_RACE(unsigned int vnum) { switch (vnum) { case 691: // Jefe Orco case 2493: // Beran return true; } return false; } Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
caanmasu Publicado 22 de Octubre del 2021 Reportar Compartir Publicado 22 de Octubre del 2021 void CActorInstance::__HitGreate(CActorInstance& rVictim) { Cuando un actor del juego (puerta, metin, personaje, mob, construccion, etc) recibe un "golpe bien dado" Llámese golpe bien dado a los golpes básicos que generan empuje (golpes de caballo o el último golpe de un combo). El parámetro que llega es el actor que recibe el golpe. if (IS_HUGE_RACE(rVictim.GetRace())) { return; } IS_HUGE_RACE es una función que sirve como una bandera, que clasifica a los monstruos como "raza enorme", llámese mobs en el mob_proto que tienen rank 4 (jefe) o mayor. Aquí pregunta que si el actor que recibe daño es un jefe, entonces no ejecutará las siguientes líneas de un "golpe bien dado". PD: no es necesario poner los vnum de los jefes en este bloque porque IS_HUGE_RACE ya los clasifica. Si un personaje jugador recibe el golpe, por supuesto que va a ser empujado porque un personaje no es un jefe mob. Y los jefes no empujan con golpes básicos. Esto no funciona para habilidades. Si se fijan en los enum: enum EHitType { HIT_TYPE_NONE, HIT_TYPE_GREAT, HIT_TYPE_GOOD, }; Solo existen dos tipos de golpe. Ese none es que es no identificado y pues dará error. Los otros dos son el golpe bueno (normal) y el "golpe bien dado" (que empuja). Ya si van a poner lo de que no empuje cuando pegue el jefe una skill, creo que el enum es este: enum EAttackType { ATTACK_TYPE_SPLASH, ATTACK_TYPE_SNIPE, }; No estoy muy seguro si splash es aplastar y snipe es como "tipo francotirador" :v supongo que golpes lejanos Sería probar entrando a la función: void CActorInstance::__ProcessDataAttackSuccess y comentar la línea: __PushCircle(rVictim); para ver si vuelve a empujar. Porque la función es así: void CActorInstance::__PushCircle(CActorInstance & rVictim) { const TPixelPosition& c_rkPPosAtk=NEW_GetAtkPixelPositionRef(); D3DXVECTOR3 v3SrcPos(c_rkPPosAtk.x, -c_rkPPosAtk.y, c_rkPPosAtk.z); const D3DXVECTOR3& c_rv3SrcPos = v3SrcPos; const D3DXVECTOR3& c_rv3DstPos = rVictim.GetPosition(); D3DXVECTOR3 v3Direction; v3Direction.x = c_rv3DstPos.x - c_rv3SrcPos.x; v3Direction.y = c_rv3DstPos.y - c_rv3SrcPos.y; v3Direction.z = 0.0f; D3DXVec3Normalize(&v3Direction, &v3Direction); rVictim.__SetFallingDirection(v3Direction.x, v3Direction.y); } Me parece que esto hace el personaje se desplace al realizar el golpe y de una vez lo derriba. No sé si esté equivocado en alguna parte, me puse a investigar un rato. [D]ELARO ✓ reacciono a esto 1 Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Mensajes recomendados
Unirse a la conversación
Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.