Jump to content

PerfectWorld

Inactive Member
  • Posts

    14
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by PerfectWorld

  1. Acum 2 ore, Gurgarath a spus:

    Hello,

    I got it fixed somehow in 2015 when the bug was firstly reported to me. I remember it was serverside though. I reverted it back to the old pvp mode where the player was not ultimely falling. I might have to take a look again because it is in my old sources...VdoOpfv.jpg

    Please look, i really need this fix, thx

  2. Acum 40 minute, PerfectWorld a spus:
    
    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);
    }
    
    void CActorInstance::__PushDirect(CActorInstance & rVictim)
    {
    	D3DXVECTOR3 v3Direction;
    	v3Direction.x = cosf(D3DXToRadian(m_fcurRotation + 270.0f));
    	v3Direction.y = sinf(D3DXToRadian(m_fcurRotation + 270.0f));
    	v3Direction.z = 0.0f;
    
    	rVictim.__SetFallingDirection(v3Direction.x, v3Direction.y);
    }
    
    void CActorInstance::__SetFallingDirection(float fx, float fy)
    {
    	m_PhysicsObject.SetDirection(D3DXVECTOR3(fx, fy, 0.0f));
    }

     

    It's like yours or other sources i compared.

     

    ActorInstanceBattle.cpp : https://pastebin.com/PLAgwq7F

     

    The problem could be from the attack if the monsters can throw me

  3. 1 oră în urmă, OtherChoice a spus:

    Show me  your ActorInstanceBattle.cpp i'll take a look too.
    However those has something worng probably

    
    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);
    }
    
    void CActorInstance::__PushDirect(CActorInstance & rVictim)
    {
    	D3DXVECTOR3 v3Direction;
    	v3Direction.x = cosf(D3DXToRadian(m_fcurRotation + 270.0f));
    	v3Direction.y = sinf(D3DXToRadian(m_fcurRotation + 270.0f));
    	v3Direction.z = 0.0f;
    
    	rVictim.__SetFallingDirection(v3Direction.x, v3Direction.y);
    }

    Check for null vectors and __SetFallingDirection function

    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);
    }
    
    void CActorInstance::__PushDirect(CActorInstance & rVictim)
    {
    	D3DXVECTOR3 v3Direction;
    	v3Direction.x = cosf(D3DXToRadian(m_fcurRotation + 270.0f));
    	v3Direction.y = sinf(D3DXToRadian(m_fcurRotation + 270.0f));
    	v3Direction.z = 0.0f;
    
    	rVictim.__SetFallingDirection(v3Direction.x, v3Direction.y);
    }
    
    void CActorInstance::__SetFallingDirection(float fx, float fy)
    {
    	m_PhysicsObject.SetDirection(D3DXVECTOR3(fx, fy, 0.0f));
    }

     

    It's like yours or other sources i compared.

     

    ActorInstanceBattle.cpp : https://pastebin.com/PLAgwq7F

    • Metin2 Dev 1
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.