Jump to content

kingshero

Inactive Member
  • Posts

    101
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by kingshero

  1. On 9/7/2017 at 9:21 PM, Mano said:

    change

      Reveal hidden contents

    m_GraphicThingInstance.SetScaleNew(scale, scale, scale);

    to

      Reveal hidden contents

    m_GraphicThingInstance.SetScale(scale, scale, scale, true);

    and

      Reveal hidden contents

     m_GraphicThingInstance.SetScaleNew(1.0f,1.0f,1.0f);

    to

      Reveal hidden contents

    m_GraphicThingInstance.SetScale(1.0f,1.0f,1.0f, true);

     

    thanks i don't need this fix i need fix the new func SetScaleNew i don't need use the old func you understand me ?

  2. On 9/6/2017 at 11:42 AM, Xerneas said:

    You have to edit  func i  instacebase?

    In this func theres a check for this. But i recommed to rewrite the scale func from Sash

    Spoiler

        if(m_dwRace == 34241 || m_dwRace == 34245 || m_dwRace == 34249 || m_dwRace == 34253 || m_dwRace == 34257 || m_dwRace == 34261 || m_dwRace == 34242 || m_dwRace == 34246 || m_dwRace == 34250 || m_dwRace == 34254 || m_dwRace == 34258 || m_dwRace == 34262)
        {
            float scale = c_rkCreateData.m_dwLevel * 0.009f + 0.65f;
            m_GraphicThingInstance.SetScaleNew(scale, scale, scale);
        }
        else
            m_GraphicThingInstance.SetScaleNew(1.0f,1.0f,1.0f);

     

    Just now, kingshero said:

        if(m_dwRace == 34241 || m_dwRace == 34245 || m_dwRace == 34249 || m_dwRace == 34253 || m_dwRace == 34257 || m_dwRace == 34261 || m_dwRace == 34242 || m_dwRace == 34246 || m_dwRace == 34250 || m_dwRace == 34254 || m_dwRace == 34258 || m_dwRace == 34262)
        {
            float scale = c_rkCreateData.m_dwLevel * 0.009f + 0.65f;
            m_GraphicThingInstance.SetScaleNew(scale, scale, scale);
        }
        else
            m_GraphicThingInstance.SetScaleNew(1.0f,1.0f,1.0f);

    this is my func

  3. On 8/31/2017 at 2:06 AM, Amok said:

    you have sash with scale ? 

    yes bro i have sash system with scale and this is my GrpObjectInstance.cpp

    Spoiler

    #include "StdAfx.h"
    #include "GrpObjectInstance.h"
    #include "../eterBase/Timer.h"

    void CGraphicObjectInstance::OnInitialize()
    {
        ZeroMemory(m_abyPortalID, sizeof(m_abyPortalID));
    }

    void CGraphicObjectInstance::Clear()
    {
        if (m_CullingHandle)
        {
            CCullingManager::Instance().Unregister(m_CullingHandle);
            m_CullingHandle = NULL;
        }

        ClearHeightInstance();

        m_isVisible = TRUE;

        m_v3Position.x = m_v3Position.y = m_v3Position.z = 0.0f;
        m_v3Scale.x = m_v3Scale.y = m_v3Scale.z = 0.0f;
        //m_fRotation = 0.0f;
        m_fYaw = m_fPitch = m_fRoll = 0.0f;
        D3DXMatrixIdentity(&m_worldMatrix);
        m_vecScalePos.x = m_vecScalePos.y = m_vecScalePos.z = 0.0f;
        m_vecScaleNew.x = m_vecScaleNew.y = m_vecScaleNew.z = 0.0f;

        D3DXMatrixIdentity(&m_matAbsoluteTrans);
        D3DXMatrixIdentity(&m_matScale);
        D3DXMatrixIdentity(&m_matPositon);
        #ifdef ENABLE_OBJ_SCALLING
        m_v3ScalePosition.x = m_v3ScalePosition.y = m_v3ScalePosition.z = 0.0f;
        D3DXMatrixIdentity(&m_ScaleMatrix);
        D3DXMatrixIdentity(&m_PositionMatrix);
        D3DXMatrixIdentity(&m_TransformMatrix);
        #endif
        
        ZeroMemory(m_abyPortalID, sizeof(m_abyPortalID));

        OnClear();
    }

    bool CGraphicObjectInstance::Render()
    {
        /*
        if (m_CullingHandle)
        {
            SpherePack * ps = m_CullingHandle->GetParent();
            CScreen s;
            s.SetColorOperation();
            //s.SetDiffuseColor(1,isShow()?1:0,0);
            //s.RenderCircle2d(m_CullingHandle->GetCenter().x,m_CullingHandle->GetCenter().y,m_CullingHandle->GetCenter().z,m_CullingHandle->GetRadius());
            s.SetDiffuseColor(1,isShow()?1:0,ps->HasSpherePackFlag(SPF_PARTIAL)?1:0);
            s.RenderCircle2d(ps->GetCenter().x,ps->GetCenter().y,ps->GetCenter().z,ps->GetRadius());
        }
        //*/
        if (!isShow())
            return false;

        OnRender();
        return true;
    }

    void CGraphicObjectInstance::BlendRender()
    {
        if (!isShow())
            return;

        OnBlendRender();
    }

    void CGraphicObjectInstance::RenderToShadowMap()
    {
        if (!isShow())
            return;

        OnRenderToShadowMap();
    }

    void CGraphicObjectInstance::RenderShadow()
    {
        if (!isShow())
            return;

        OnRenderShadow();
    }

    void CGraphicObjectInstance::RenderPCBlocker()
    {
        if (!isShow())
            return;

        OnRenderPCBlocker();
    }

    void CGraphicObjectInstance::Update()
    {
        OnUpdate();

        UpdateBoundingSphere();
    }

    void CGraphicObjectInstance::Deform()
    {
        if (!isShow())
            return;

        OnDeform();
    }


    /*void CGraphicObjectInstance::Transform()
    {
        m_worldMatrix = m_mRotation;

        m_worldMatrix._41    += m_v3Position.x;
        m_worldMatrix._42    += m_v3Position.y;
        m_worldMatrix._43    += m_v3Position.z;
    }*/

    void CGraphicObjectInstance::Transform()
    {
        D3DXMATRIX temp;
        D3DXMatrixMultiply(&temp, &m_matPositon, &m_mRotation);

        m_worldMatrix = temp;

        m_worldMatrix._41 += m_v3Position.x;
        m_worldMatrix._42 += m_v3Position.y;
        m_worldMatrix._43 += m_v3Position.z;

        D3DXMatrixMultiply(&temp, &m_matPositon, &m_matScale);

        D3DXMATRIX temp3;
        D3DXMatrixMultiply(&temp3, &temp, &m_mRotation);

        m_matAbsoluteTrans = temp3;
        m_matAbsoluteTrans._41 = m_vecScalePos.x + m_v3Position.x + m_matAbsoluteTrans._41;
        m_matAbsoluteTrans._42 = m_vecScalePos.y + m_v3Position.y + m_matAbsoluteTrans._42;
        m_matAbsoluteTrans._43 = m_vecScalePos.z + m_v3Position.z + m_matAbsoluteTrans._43;


        D3DXMATRIX temp2;
        D3DXMatrixMultiply(&temp2, &temp, &m_mRotation);

        m_matAbsoluteTrans = temp2;
        m_matAbsoluteTrans._41 = m_vecScalePos.x + m_v3Position.x + m_matAbsoluteTrans._41;
        m_matAbsoluteTrans._42 = m_vecScalePos.y + m_v3Position.y + m_matAbsoluteTrans._42;
        m_matAbsoluteTrans._43 = m_vecScalePos.z + m_v3Position.z + m_matAbsoluteTrans._43;
    #endif
    #ifndef ENABLE_OBJ_SCALLING
        m_worldMatrix = m_mRotation;
        m_worldMatrix._41 += m_v3Position.x;
        m_worldMatrix._42 += m_v3Position.y;
        m_worldMatrix._43 += m_v3Position.z;
    #else
        
        D3DXMATRIX tmp1;
        D3DXMatrixMultiply(&tmp1, &m_PositionMatrix, &m_mRotation);
        
        m_worldMatrix = tmp1;
        m_worldMatrix._41 += m_v3Position.x;
        m_worldMatrix._42 += m_v3Position.y;
        m_worldMatrix._43 += m_v3Position.z;
        D3DXMatrixMultiply(&tmp1, &m_PositionMatrix, &m_ScaleMatrix);
        
        D3DXMATRIX tmp2;
        D3DXMatrixMultiply(&tmp2, &tmp1, &m_mRotation);
        
        m_TransformMatrix = tmp2;
        m_TransformMatrix._41 = m_v3ScalePosition.x + m_v3Position.x + m_TransformMatrix._41;
        m_TransformMatrix._42 = m_v3ScalePosition.y + m_v3Position.y + m_TransformMatrix._42;
        m_TransformMatrix._43 = m_v3ScalePosition.z + m_v3Position.z + m_TransformMatrix._43;
    #endif
    }

    const D3DXVECTOR3 & CGraphicObjectInstance::GetPosition() const
    {
        return m_v3Position;
    }

    const D3DXVECTOR3 & CGraphicObjectInstance::GetScale() const
    {
        return m_v3Scale;
    }

    float CGraphicObjectInstance::GetRotation()
    {
        return GetRoll();
    }

    float CGraphicObjectInstance::GetYaw()
    {
        return m_fYaw;
    }

    float CGraphicObjectInstance::GetPitch()
    {
        return m_fPitch;
    }

    float CGraphicObjectInstance::GetRoll()
    {
        return m_fRoll;
    }

    D3DXMATRIX & CGraphicObjectInstance::GetTransform()
    {
        return m_worldMatrix;
    }

    void CGraphicObjectInstance::SetRotationQuaternion(const D3DXQUATERNION &q)
    {
        D3DXMatrixRotationQuaternion(&m_mRotation, &q);
    }

    void CGraphicObjectInstance::SetRotationMatrix(const D3DXMATRIX & m)
    {
        m_mRotation = m;
    }

    void CGraphicObjectInstance::SetRotation(float fRotation)
    {
        m_fYaw = 0;
        m_fPitch = 0;
        m_fRoll = fRotation;

        D3DXMatrixRotationZ(&m_mRotation, D3DXToRadian(fRotation));
    }

    void CGraphicObjectInstance::SetRotation(float fYaw, float fPitch, float fRoll)
    {
        //m_fRotation = fRotation;
        m_fYaw = fYaw;
        m_fPitch = fPitch;
        m_fRoll = fRoll;

        D3DXMatrixRotationYawPitchRoll(&m_mRotation, D3DXToRadian(fYaw), D3DXToRadian(fPitch), D3DXToRadian(fRoll));
    }

    void CGraphicObjectInstance::SetPosition(float x, float y, float z)
    {
        m_v3Position.x = x;
        m_v3Position.y = y;
        m_v3Position.z = z;
    }

    void CGraphicObjectInstance::SetPosition(const D3DXVECTOR3 & newposition)
    {
        m_v3Position = newposition;
    }

    /*void CGraphicObjectInstance::SetScale(float x, float y, float z)
    {
        m_v3Scale.x = x;
        m_v3Scale.y = y;
        m_v3Scale.z = z;
    }*/

    #ifdef ENABLE_OBJ_SCALLING
    void CGraphicObjectInstance::SetScalePosition(float x, float y, float z)
    {
        m_v3ScalePosition.x = x;
        m_v3ScalePosition.y = y;
        m_v3ScalePosition.z = z;
        m_vecScalePos.x = x;
        m_vecScalePos.y = y;
        m_vecScalePos.z = z;
    }

    void CGraphicObjectInstance::SetScale(float x, float y, float z, bool bScaleNow)
    #else
    void CGraphicObjectInstance::SetScale(float x, float y, float z)
    #endif
    {
        m_v3Scale.x = x;
        m_v3Scale.y = y;
        m_v3Scale.z = z;
        
        #ifdef ENABLE_OBJ_SCALLING
        if (bScaleNow)
            D3DXMatrixScaling(&m_ScaleMatrix, m_v3Scale.x, m_v3Scale.y, m_v3Scale.z);
        #endif
    }


    void CGraphicObjectInstance::SetScaleNew(float x, float y, float z)
    {
        m_vecScaleNew.x = x;
        m_vecScaleNew.y = y;
        m_vecScaleNew.z = z;
        D3DXMatrixScaling(&m_matScale, x, y, z);
    }

    void CGraphicObjectInstance::SetScaleNew(const D3DXVECTOR3 & newscale)
    {
        m_vecScaleNew = newscale;
        D3DXMatrixScaling(&m_matScale, m_vecScaleNew.x, m_vecScaleNew.y, m_vecScaleNew.z);
    }

    void CGraphicObjectInstance::SetScalePosition(const D3DXVECTOR3 & newposition)
    {
        m_vecScalePos = newposition;
    }

    void CGraphicObjectInstance::Show()
    {
        m_isVisible = true;
    }

    void CGraphicObjectInstance::Hide()
    {
        m_isVisible = false;
    }
    bool CGraphicObjectInstance::isShow()
    {
        return m_isVisible;
    }

    //

    //////////////////////////////////////////////////////////////////////////

    D3DXVECTOR4 & CGraphicObjectInstance::GetWTBBoxVertex(const unsigned char & c_rucNumTBBoxVertex)
    {
        return m_v4TBBox[c_rucNumTBBoxVertex];
    }

    bool CGraphicObjectInstance::isIntersect(const CRay & c_rRay, float * pu, float * pv, float * pt)
    {
        D3DXVECTOR3 v3Start, v3Dir;
        float fRayRange;
        c_rRay.GetStartPoint(&v3Start);
        c_rRay.GetDirection(&v3Dir, &fRayRange);

        TPosition posVertices[8];

        posVertices[0] = TPosition(m_v3TBBoxMin.x, m_v3TBBoxMin.y, m_v3TBBoxMin.z);
        posVertices[1] = TPosition(m_v3TBBoxMax.x, m_v3TBBoxMin.y, m_v3TBBoxMin.z);
        posVertices[2] = TPosition(m_v3TBBoxMin.x, m_v3TBBoxMax.y, m_v3TBBoxMin.z);
        posVertices[3] = TPosition(m_v3TBBoxMax.x, m_v3TBBoxMax.y, m_v3TBBoxMin.z);
        posVertices[4] = TPosition(m_v3TBBoxMin.x, m_v3TBBoxMin.y, m_v3TBBoxMax.z);
        posVertices[5] = TPosition(m_v3TBBoxMax.x, m_v3TBBoxMin.y, m_v3TBBoxMax.z);
        posVertices[6] = TPosition(m_v3TBBoxMin.x, m_v3TBBoxMax.y, m_v3TBBoxMax.z);
        posVertices[7] = TPosition(m_v3TBBoxMax.x, m_v3TBBoxMax.y, m_v3TBBoxMax.z);

        TIndex Indices[36] = {0, 1, 2, 1, 3, 2,
                              2, 0, 6, 0, 4, 6,
                              0, 1, 4, 1, 5, 4,
                              1, 3, 5, 3, 7, 5,
                              3, 2, 7, 2, 6, 7,
                              4, 5, 6, 5, 7, 6};

        int triCount = 12;
        WORD* pcurIdx = (WORD*)Indices;

        while (triCount--)
        {
            if (IntersectTriangle(v3Start, v3Dir,
                posVertices[pcurIdx[0]],
                posVertices[pcurIdx[1]],
                posVertices[pcurIdx[2]],
                pu, pv, pt))
            {
                return true;
            }

            pcurIdx += 3;
        }

        return false;
    }

    CGraphicObjectInstance::CGraphicObjectInstance()
    {
        m_CullingHandle = 0;
        Initialize();
    }

    void CGraphicObjectInstance::Initialize()
    {
        if (m_CullingHandle)
            CCullingManager::Instance().Unregister(m_CullingHandle);
        m_CullingHandle = 0;

        m_pHeightAttributeInstance = NULL;

        m_isVisible = TRUE;

        m_BlockCamera = false;

        m_v3Position.x = m_v3Position.y = m_v3Position.z = 0.0f;
        //m_v3Scale.x = m_v3Scale.y = m_v3Scale.z = 0.0f;
        #ifdef ENABLE_OBJ_SCALLING
        m_v3Scale.x = m_v3Scale.y = m_v3Scale.z = 0.0f;
        #else
        m_v3Scale.x = m_v3Scale.y = m_v3Scale.z = 1.0f;
        #endif
        m_fYaw = m_fPitch = m_fRoll = 0.0f;

        D3DXMatrixIdentity(&m_worldMatrix);
        D3DXMatrixIdentity(&m_mRotation);
        m_vecScalePos.x = m_vecScalePos.y = m_vecScalePos.z = 0.0f;
        m_vecScaleNew.x = m_vecScaleNew.y = m_vecScaleNew.z = 0.0f;

        D3DXMatrixIdentity(&m_matAbsoluteTrans);
        D3DXMatrixIdentity(&m_matScale);
        D3DXMatrixIdentity(&m_matPositon);
        #ifdef ENABLE_OBJ_SCALLING
        m_v3ScalePosition.x = m_v3ScalePosition.y = m_v3ScalePosition.z = 0.0f;
        
        D3DXMatrixIdentity(&m_ScaleMatrix);
        D3DXMatrixIdentity(&m_PositionMatrix);
        D3DXMatrixIdentity(&m_TransformMatrix);
        #endif

        OnInitialize();
    }

    CGraphicObjectInstance::~CGraphicObjectInstance()
    {
        Initialize();
    }

    void CGraphicObjectInstance::UpdateBoundingSphere()
    {
        if (m_CullingHandle)
        {
            Vector3d center;
            float radius;
            GetBoundingSphere(center,radius);
            if (radius != m_CullingHandle->GetRadius())
                m_CullingHandle->NewPosRadius(center,radius);
            else
                m_CullingHandle->NewPos(center);
        }
    }

    void CGraphicObjectInstance::RegisterBoundingSphere()
    {
        if (m_CullingHandle)
            CCullingManager::Instance().Unregister(m_CullingHandle);

        m_CullingHandle = CCullingManager::Instance().Register(this);
    }

    void CGraphicObjectInstance::AddCollision(const CStaticCollisionData * pscd, const D3DXMATRIX* pMat)
    {
        m_StaticCollisionInstanceVector.push_back(CBaseCollisionInstance::BuildCollisionInstance(pscd, pMat));
    }

    void CGraphicObjectInstance::ClearCollision()
    {
        CCollisionInstanceVector::iterator it;
        for(it = m_StaticCollisionInstanceVector.begin();it!=m_StaticCollisionInstanceVector.end();++it)
        {
            (*it)->Destroy();
        }
        m_StaticCollisionInstanceVector.clear();
    }

    bool CGraphicObjectInstance::CollisionDynamicSphere(const CDynamicSphereInstance & s) const
    {
        CCollisionInstanceVector::const_iterator it;
        for(it = m_StaticCollisionInstanceVector.begin();it!=m_StaticCollisionInstanceVector.end();++it)
        {
            if ((*it)->CollisionDynamicSphere(s))
                return true;
        }
        return false;
    }

    bool CGraphicObjectInstance::MovementCollisionDynamicSphere(const CDynamicSphereInstance & s) const
    {
        CCollisionInstanceVector::const_iterator it;
        for(it = m_StaticCollisionInstanceVector.begin();it!=m_StaticCollisionInstanceVector.end();++it)
        {
            if ((*it)->MovementCollisionDynamicSphere(s))
                return true;
        }
        return false;
    }

    D3DXVECTOR3 CGraphicObjectInstance::GetCollisionMovementAdjust(const CDynamicSphereInstance & s) const
    {
        CCollisionInstanceVector::const_iterator it;
        for(it = m_StaticCollisionInstanceVector.begin();it!=m_StaticCollisionInstanceVector.end();++it)
        {
            if ((*it)->MovementCollisionDynamicSphere(s))
                return (*it)->GetCollisionMovementAdjust(s);
        }

        return D3DXVECTOR3(0.0f,0.0f,0.0f);
    }

    void CGraphicObjectInstance::UpdateCollisionData(const CStaticCollisionDataVector * pscdVector)
    {
        ClearCollision();
        OnUpdateCollisionData(pscdVector);
    }

    DWORD CGraphicObjectInstance::GetCollisionInstanceCount()
    {
        return m_StaticCollisionInstanceVector.size();
    }

    CBaseCollisionInstance * CGraphicObjectInstance::GetCollisionInstanceData(DWORD dwIndex)
    {
        if (dwIndex>m_StaticCollisionInstanceVector.size())
        {
            return 0;
        }
        return m_StaticCollisionInstanceVector[dwIndex];
    }

    //////////////////////////////////////////////////////////////////////////
    // Height

    void CGraphicObjectInstance::SetHeightInstance(CAttributeInstance * pAttributeInstance)
    {
        m_pHeightAttributeInstance = pAttributeInstance;
    }

    void CGraphicObjectInstance::ClearHeightInstance()
    {
        m_pHeightAttributeInstance = NULL;
    }

    void CGraphicObjectInstance::UpdateHeightInstance(CAttributeInstance * pAttributeInstance)
    {
        ClearHeightInstance();
        OnUpdateHeighInstance(pAttributeInstance);
    }

    bool CGraphicObjectInstance::IsObjectHeight()
    {
        if (m_pHeightAttributeInstance)
            return true;

        return false;
    }

    bool CGraphicObjectInstance::GetObjectHeight(float fX, float fY, float * pfHeight)
    {
        if (!m_pHeightAttributeInstance)
            return false;

        return OnGetObjectHeight(fX, fY, pfHeight);
    }

    void CGraphicObjectInstance::SetPortal(DWORD dwIndex, int iID)
    {
        if (dwIndex >= PORTAL_ID_MAX_NUM)
        {
            assert(dwIndex < PORTAL_ID_MAX_NUM);
            return;
        }

        m_abyPortalID[dwIndex] = iID;
    }

    int CGraphicObjectInstance::GetPortal(DWORD dwIndex)
    {
        if (dwIndex >= PORTAL_ID_MAX_NUM)
        {
            assert(dwIndex < PORTAL_ID_MAX_NUM);
            return 0;
        }

        return m_abyPortalID[dwIndex];
    }
     

    This is link file in patebin

    https://pastebin.com/WhAvXDNk

  4. On 9/10/2014 at 5:34 PM, xP3NG3Rx said:

    Hi devs!

    The original equipment viewer is not updated for the new equipments I am thinking of costumes + rings + belt
    Here is the extended version.

    Images:

     

    Hidden Content




    Here are my modified files to root and uiscript package, the .py files:

    uiEquipDialog.py
    Pastebin ~ MEGA

    UIScriptEquipmentDialog.py
    Pastebin ~ MEGA

    UIScriptCostumeEquipmentDialog.py
    Pastebin ~ MEGA

    Ehm yeah this was the easiest part of this, now comin' the serverside and binary parts.
    Server:
    1.) Open gamepacket.h than search for: "typedef struct pakcet_view_equip" and replace all structure with this:

     

    
    typedef struct pakcet_view_equip
    {
    	BYTE	header;
    	DWORD	vid;
    	struct {
    		DWORD	vnum;
    		BYTE	count;
    		long	alSockets[ITEM_SOCKET_MAX_NUM];
    		TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_MAX_NUM];
    	} equips[16];
    } TPacketViewEquip;

    PS: lel "pakcet" xD nevermind Save&Close

    2.) Open char.cpp and search for this: "void CHARACTER::SendEquipment(LPCHARACTER ch)" and replace the event with this(Thanks ATAG):

    
    void CHARACTER::SendEquipment(LPCHARACTER ch)
    {
    	TPacketViewEquip p;
    	p.header = HEADER_GC_VIEW_EQUIP;
    	p.vid    = GetVID();
    	int pos[16] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 19, 20, 21, 22, 23 };
    	for (int i = 0; i < 16; i++)
    	{
    		LPITEM item = GetWear(pos[i]);
    		if (item)
    		{
    			p.equips[i].vnum = item->GetVnum();
    			p.equips[i].count = item->GetCount();
    
    			thecore_memcpy(p.equips[i].alSockets, item->GetSockets(), sizeof(p.equips[i].alSockets));
    			thecore_memcpy(p.equips[i].aAttr, item->GetAttributes(), sizeof(p.equips[i].aAttr));
    		}
    		else
    		{
    			p.equips[i].vnum = 0;
    		}
    	}
    	ch->GetDesc()->Packet(&p, sizeof(p));
    }

    Serverside done! - Build!


    Binary:
    1.) Open UserInterfacePacket.h than search for this: "typedef struct pakcet_view_equip" and replace with this:

     

    
    typedef struct pakcet_view_equip
    {
    	BYTE	header;
    	DWORD	dwVID;
    	TEquipmentItemSet equips[16];
    } TPacketGCViewEquip;

    PS: we met again with pakcet xD, Save&Close.

    2.) Open UserInterfacePythonNetworkStreamPhaseGame.cpp than search for this: "bool CPythonNetworkStream::RecvViewEquipPacket()" and replace with this:

    
    bool CPythonNetworkStream::RecvViewEquipPacket()
    {
    	TPacketGCViewEquip kViewEquipPacket;
    	if (!Recv(sizeof(kViewEquipPacket), &kViewEquipPacket))
    		return false;
    
    	PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OpenEquipmentDialog", Py_BuildValue("(i)", kViewEquipPacket.dwVID));
    	for (int i = 0; i < 16; ++i)
    	{
    		TEquipmentItemSet & rItemSet = kViewEquipPacket.equips[i];
    		PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetEquipmentDialogItem", Py_BuildValue("(iiii)", kViewEquipPacket.dwVID, i, rItemSet.vnum, rItemSet.count));
    
    		for (int j = 0; j < ITEM_SOCKET_SLOT_MAX_NUM; ++j)
    			PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetEquipmentDialogSocket", Py_BuildValue("(iiii)", kViewEquipPacket.dwVID, i, j, rItemSet.alSockets[j]));
    
    		for (int k = 0; k < ITEM_ATTRIBUTE_SLOT_MAX_NUM; ++k)
    			PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetEquipmentDialogAttr", Py_BuildValue("(iiiii)", kViewEquipPacket.dwVID, i, k, rItemSet.aAttr[k].bType, rItemSet.aAttr[k].sValue));
    	}
    
    	return true;
    }

    Binaryside done! - Build!

    ---Edit----
    Multiple opening bugfix:
    Open interFaceModule.py and search for this: "def OpenEquipmentDialog(self, vid):" if you found it replace that function with this:

     

    
    	def OpenEquipmentDialog(self, vid):
    		if self.equipmentDialogDict.has_key(vid):
    			self.equipmentDialogDict[vid].Destroy()
    			self.CloseEquipmentDialog(vid)
    
    		dlg = uiEquipmentDialog.EquipmentDialog()
    		dlg.SetItemToolTip(self.tooltipItem)
    		dlg.SetCloseEvent(ui.__mem_func__(self.CloseEquipmentDialog))
    		dlg.Open(vid)
    
    		self.equipmentDialogDict[vid] = dlg

    Show the "View equip" button on the targetbar:
    Open uitarget.py and check this diff to fix it for yourself:
    https://www.diffchecker.com/lqi9xdb7

    (
    ----EndEdit----

    Ohh I almost forgot, here are the bgs ^^-> ui.7z - MEGA
    All done, press escape to exit... :')

    hello i have poblem 

    JKW3N7QOS9mG6GCz11oSmA.png

    the another window to view CostumeEquipment not here

  5. hello every one i have doen core and this is debug 

    this debug command

    Spoiler

    (gdb) file game
    Load new symbol table from "game"? (y or n) y
    Reading symbols from game...done.
    (gdb) cd /a/hs/h/chan/ch1/core1/
    Working directory /a/hs/h/chan/ch1/core1.
    (gdb) core game.core
    warning: exec file is newer than core file.
    Core was generated by `game'.
    Program terminated with signal 11, Segmentation fault.
    Reading symbols from /usr/local/lib32/compat/libmd.so.5...done.
    Loaded symbols for /usr/local/lib32/compat/libmd.so.5
    Reading symbols from /usr/local/lib32/compat/libssl.so.6...done.
    Loaded symbols for /usr/local/lib32/compat/libssl.so.6
    Reading symbols from /usr/local/lib32/compat/libstdc++.so.6...done.
    Loaded symbols for /usr/local/lib32/compat/libstdc++.so.6
    Reading symbols from /usr/lib32/libm.so.5...done.
    Loaded symbols for /usr/lib32/libm.so.5
    Reading symbols from /usr/lib32/libgcc_s.so.1...done.
    Loaded symbols for /usr/lib32/libgcc_s.so.1
    Reading symbols from /usr/lib32/libthr.so.3...done.
    Loaded symbols for /usr/lib32/libthr.so.3
    Reading symbols from /usr/lib32/libc.so.7...done.
    Loaded symbols for /usr/lib32/libc.so.7
    Reading symbols from /usr/local/lib32/compat/libcrypto.so.6...done.
    Loaded symbols for /usr/local/lib32/compat/libcrypto.so.6
    Reading symbols from /usr/local/lib32/compat/libsupc++.so.1...done.
    Loaded symbols for /usr/local/lib32/compat/libsupc++.so.1
    Reading symbols from /libexec/ld-elf32.so.1...done.
    Loaded symbols for /libexec/ld-elf32.so.1
    #0  0x28bac06e in memcpy () from /usr/lib32/libc.so.7
    [New Thread 294030b429403d00 (LWP 100207/<unknown>)]
    [New Thread 28a645e429403a80 (LWP 100203/<unknown>)]
    [New Thread 29403d3429403800 (LWP 100202/<unknown>)]
    [New Thread 29403ab429403080 (LWP 100115/<unknown>)]
    Cannot find new threads: generic error

    and this is where command

    Spoiler

    (gdb) where
    #0  0x28bac06e in memcpy () from /usr/lib32/libc.so.7
    #1  0x28ba9dbb in fwrite () from /usr/lib32/libc.so.7
    #2  0x28ba9a75 in fwrite () from /usr/lib32/libc.so.7
    #3  0x0829bb6a in iWriteFile ()
    #4  0x082d05ef in iSaveTargaInternal ()
    #5  0x082d0cff in ilSaveTargaF ()
    #6  0x082d0d5e in ilSaveTarga ()
    #7  0x082a5fbd in ilSave ()
    #8  0x08057856 in CGuildMarkImage::Save (this=0x2ac00000, c_szFileName=0x3d249c8c "mark/mark_0.tga") at MarkImage.cpp:51
    #9  0x08058ab8 in CGuildMarkManager::SaveMarkImage (this=0xffffa8fc, imgIdx=0) at MarkManager.cpp:118
    #10 0x08058cec in CGuildMarkManager::SaveMark (this=0xffffa8fc, guildID=9525, pbMarkImage=0x339c9005 "\004") at MarkManager.cpp:236
    #11 0x08165b70 in CInputLogin::Analyze (this=0x1b031e6c, d=0x1b031e00, bHeader=102 'f', c_pData=0x339c9000 "f5%") at input_login.cpp:1120
    #12 0x081551ab in CInputProcessor::Process (this=0x1b031e6c, lpDesc=0x1b031e00, c_pvOrig=0x339c9000, iBytes=773, r_iBytesProceed=@0xffffa444) at input.cpp:103
    #13 0x0811c1d3 in DESC::ProcessInput (this=0x1b031e00) at desc.cpp:303
    #14 0x08293bc4 in io_loop (fdw=0x29540c80) at main.cpp:1045
    #15 0x082945b9 in idle () at main.cpp:928
    #16 0x08295cb8 in main (argc=1, argv=0xffffdbe4) at main.cpp:567

    this is my at MarkImage.cpp:51

    Spoiler

    bool CGuildMarkImage::Save(const char* c_szFileName)
    {
        ilEnable(IL_FILE_OVERWRITE);
        ilBindImage(m_uImg);

        if (!ilSave(IL_TGA, (const ILstring)c_szFileName))     /// this is line 51 problem here and i don't see this function in any place
            return false;

        return true;
    }

    plz help 

    1. ## Name
    2. if localeInfo.IsJAPAN():
    3. nameSlotImage = ui.MakeImageBox(page, "d:/ymir work/ui/public/Parameter_Slot_100x18.sub", 15, yPos)
    4. else:
    5. nameSlotImage = ui.MakeImageBox(page, "d:/ymir work/ui/public/Parameter_Slot_03.sub", 10, yPos)
    6. nameSlot = ui.MakeTextLine(nameSlotImage)
    7. page.Children.append(nameSlotImage)
    8. page.Children.append(nameSlot)
×
×
  • 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.