![](https://metin2.dev/uploads/theme-resources/set_resources_31/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
![](https://metin2.dev/uploads/theme-resources/set_resources_31/84c1e40ea0e759e3f1505eb1788ddf3c_default_photo.png)
kingshero
-
Posts
101 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by kingshero
-
-
Up i have same problem plz help
-
On 7/22/2016 at 6:19 PM, misterioso said:
I'm happy... Finally someone appreciates my small tool... >.<
In the original forum nobody said anything about it and for this reason I didn't post in other forums.
Thank you for sharing,
Misterioso
you is good man
-
On 9/7/2017 at 9:21 PM, Mano said:
change
to
and
to
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 ?
-
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
Spoilerif(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
-
On 8/31/2017 at 2:06 AM, Amok said:
you have sash with scale ?
plz help me
-
-
-
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);
#endifOnInitialize();
}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];
}//////////////////////////////////////////////////////////////////////////
// Heightvoid 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
-
-
-
12 hours ago, Justin said:
you don't have system full
how i'm add the official system in turkmmo forum
-
-
-
-
hello all
i have problem in pet size i show now the normal system
this is normal system
in level 1:
Spoilernormal system
in level 82 big size :
Spoilerbut in my server
in level 1:
Spoilerin my server
in level 82 same size :
Spoilerhow to solve this problem please !
-
1
-
-
in questlua_global.cpp line 52
edit number(1,0) to
number(0,1)
-
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
the another window to view CostumeEquipment not here
-
-
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 errorand 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:567this is my at MarkImage.cpp:51
Spoilerbool 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 hour ago, xP3NG3Rx said:
There is the file request topic, my god.
But here they are:
NEW* Mit Icon https://mega.nz/#!CksyRQgI!9xEp3XIYvV0mtHccPLTjj7N2701JSjaCmTAqj2fW-JE NEW* ICON: https://mega.nz/#!uocVQBxC!NUF4lAI3gXC3poK7_-lkE7DDjy5oRs-NoTPP6hPv3p8
From .BR client by Red from another board.
Thanks xP3NG3Rx
-
-
add before define effect var
if pet_info[v] then
local effect = pet_info[v][3]
end
-
-
## Name
-
if localeInfo.IsJAPAN():
-
nameSlotImage = ui.MakeImageBox(page, "d:/ymir work/ui/public/Parameter_Slot_100x18.sub", 15, yPos)
-
else:
-
nameSlotImage = ui.MakeImageBox(page, "d:/ymir work/ui/public/Parameter_Slot_03.sub", 10, yPos)
-
nameSlot = ui.MakeTextLine(nameSlotImage)
-
page.Children.append(nameSlotImage)
-
page.Children.append(nameSlot)
-
-
if you need edit x y to portal
in mob_names.txt and mob_proto.txt or mob_proto in player table in navicat
if your files used txt proto
enter to mob_names.txt
search about name portal and copy the vnum
and enter to mob_proto.txt and fined the vnum
and edit second column
Multi-Language System for Client
in Features & Metin2 Systems
Posted
please reupload files languge