Msghdr.h
Code:
#ifdef __TREASUREBOX
#define PACKETTYPE_OPENBOX (DWORD)0x88100248
#endif
#ifdef __TREASUREBOX
#define SNAPSHOTTYPE_SENDTREASURE (WORD)0x8887
#endif
ProjectCmn.h
Code:
#ifdef __TREASUREBOX
#ifdef __WORLDSERVER
struct TreasureItem
{
DWORD dwKeyID;
DWORD dwItemID;
int nChance;
int nMaxamount;
int nRepeat;
int nLimitamount;
BOOL bNotice;
};
#endif//__WORLDSERVER
struct TreasureBox
{
DWORD dwBoxID;
DWORD dwKeyID[3];
};
#endif
ProjectCmn.Cpp
Code:
#ifdef __TREASUREBOX
BOOL CProject::LoadTreasureCombine( vector<TreasureBox>* s )
{
CScript scanner;
if( scanner.Load( "TreasureCombine.txt" ) == FALSE )
return FALSE;
TreasureBox box;
int nBoxID = 0;
nBoxID = scanner.GetNumber();
while( scanner.tok != FINISHED )
{
box.dwBoxID = nBoxID;
for( int i=0;i<3;i++ )
box.dwKeyID[i] = scanner.GetNumber();
s->push_back( box );
nBoxID = 0;
nBoxID = scanner.GetNumber();
}
return TRUE;
}
#ifdef __WORLDSERVER
BOOL CProject::LoadTreasureItem( vector<TreasureItem>* s )
{
CScript scanner;
if( scanner.Load( "TreasureItem.txt" ) == FALSE )
return FALSE;
TreasureItem item;
int nKeyID = 0;
nKeyID = scanner.GetNumber();
while( scanner.tok != FINISHED )
{
item.dwKeyID = nKeyID;
item.dwItemID = scanner.GetNumber();
item.nChance = scanner.GetNumber();
item.nMaxamount = scanner.GetNumber();
item.nRepeat = scanner.GetNumber();
item.nLimitamount = scanner.GetNumber();
item.bNotice = (scanner.GetNumber()!=0?1:0);
s->push_back( item );
nKeyID = 0;
nKeyID = scanner.GetNumber();
}
return TRUE;
}
#endif//__WORLDSERVER
#endif
DpClient.cpp
Code:
#ifdef __TREASUREBOX
case SNAPSHOTTYPE_SENDTREASURE: OnRecieveTreasure( ar ); break;
#endif
#ifdef __TREASUREBOX
if( pItemProp->dwItemKind2 == IK2_TREASURE && pItemProp->dwItemKind3 == IK3_BOX )
{
if( g_WndMng.GetWndBase( APP_TREASURECHEST_OPEN ) )
{
g_WndMng.m_pWndTreasureBox->Destroy();
SAFE_DELETE( g_WndMng.m_pWndTreasureBox );
}
g_WndMng.m_pWndTreasureBox = new CWndTreasureBox(pItemBase->m_dwObjId);
g_WndMng.m_pWndTreasureBox->Initialize();
return;
}
#endif
#ifdef __TREASUREBOX
void CDPClient::SendTreasureBoxOpen( CItemElem* pBox, CItemElem* pKey )
{
BEFORESENDSOLE( ar, PACKETTYPE_OPENBOX, DPID_UNKNOWN );
ar << pBox->m_dwObjId << pKey->m_dwObjId;
SEND( ar, this, DPID_SERVERPLAYER );
}
void CDPClient::OnRecieveTreasure( CAr &ar )
{
DWORD dwIDs[3],nCount[3];
ZeroMemory( &dwIDs, sizeof(dwIDs) );
ZeroMemory( &nCount, sizeof(nCount) );
ar >> dwIDs[0] >> nCount[0] >> dwIDs[1] >> nCount[1] >> dwIDs[2] >> nCount[2];
if( g_WndMng.GetWndBase( APP_TREASURECHEST_OPEN ) )
{
g_WndMng.m_pWndTreasureBox->Destroy();
}
SAFE_DELETE( g_WndMng.m_pWndTreasureBox );
if( g_WndMng.GetWndBase( APP_TREASURECHEST_RESULT ) )
{
g_WndMng.m_pWndTreasureRecieve->Destroy();
}
SAFE_DELETE( g_WndMng.m_pWndTreasureRecieve );
g_WndMng.m_pWndTreasureRecieve = new CWndTreasureRecieve;
//Insert
for( int i=0;i<3;i++ )
g_WndMng.m_pWndTreasureRecieve->InsertItem( dwIDs[i], i, nCount[i] );
if( g_WndMng.m_pWndTreasureRecieve )
g_WndMng.m_pWndTreasureRecieve->Initialize();
}
#endif//__TREASUREBOX
DpClient.h
Code:
#ifdef __TREASUREBOX
void SendTreasureBoxOpen( CItemElem* pBox, CItemElem* pKey );
void OnRecieveTreasure( CAr &ar );
#endif
WndManager.cpp
Code:
#ifdef __TREASUREBOX
m_pWndTreasureBox = NULL;
m_pWndTreasureRecieve = NULL;
#endif
#ifdef __TREASUREBOX
SAFE_DELETE( m_pWndTreasureBox );
SAFE_DELETE( m_pWndTreasureRecieve );
#endif
#ifdef __TREASUREBOX
if( m_pWndTreasureBox == pWndChild )
{
SAFE_DELETE( m_pWndTreasureBox );
pWndChild = NULL;
}
if( m_pWndTreasureRecieve == pWndChild )
{
SAFE_DELETE( m_pWndTreasureRecieve );
pWndChild = NULL;
}
#endif
WndManager.h
Code:
#ifdef __TREASUREBOX
CWndTreasureBox* m_pWndTreasureBox;
CWndTreasureRecieve* m_pWndTreasureRecieve;
#endif
WndField.cpp
Code:
#ifdef __TREASUREBOX
/***************************************
*
* APP_TREASURECHEST_OPEN
*
****************************************/
CWndTreasureBox::CWndTreasureBox( DWORD dwObjID )
{
m_nDelay = 2; //Sekunden die der Balken braucht
m_fGaugeRate = 0;
m_pItemElem = NULL;
m_pBoxItem = NULL;
m_nSmeltWidth = -1;
m_pVBSmeltGauge = NULL;
m_bVBSmeltGauge = FALSE;
m_bStart = FALSE;
m_dwStartTime = m_dwEndTime = 0xffffffff;
m_pBoxItem = g_pPlayer->m_Inventory.GetAtId( dwObjID );
if( m_pBoxItem == NULL )
Destroy();
m_pBoxItem->SetExtra( 1 );
}
CWndTreasureBox::~CWndTreasureBox()
{
DeleteDeviceObjects();
}
HRESULT CWndTreasureBox::RestoreDeviceObjects()
{
CWndBase::RestoreDeviceObjects();
m_pApp->m_pd3dDevice->CreateVertexBuffer( sizeof( TEXTUREVERTEX2 ) * 3 * 6, D3DUSAGE_WRITEONLY | D3DUSAGE_DYNAMIC, D3DFVF_TEXTUREVERTEX2, D3DPOOL_DEFAULT, &m_pVBSmeltGauge, NULL );
m_nSmeltWidth = -1;
m_texGauEmptyNormal.SetInvalidate(m_pApp->m_pd3dDevice);
return S_OK;
}
HRESULT CWndTreasureBox::InvalidateDeviceObjects()
{
CWndBase::InvalidateDeviceObjects();
SAFE_RELEASE( m_pVBSmeltGauge );
m_texGauEmptyNormal.Invalidate();
return S_OK;
}
HRESULT CWndTreasureBox::DeleteDeviceObjects()
{
CWndBase::DeleteDeviceObjects();
return InvalidateDeviceObjects();
}
BOOL CWndTreasureBox::OnDropIcon( LPSHORTCUT pShortcut, CPoint point )
{
CRect rect;
CItemElem* pItemElem;
pItemElem = (CItemElem*)g_pPlayer->GetItemId( pShortcut->m_dwId );
if(g_pPlayer->IsUsing(pItemElem))
{
g_WndMng.PutString( "Item wird bereits verwendet" );
}
else
{
if( pItemElem->GetProp()->dwItemKind3 == IK3_BOXOPEN && IsOpenKey( pItemElem ) )
{
if( /*m_nCtrlId[0].PtInRect( point ) &&*/ m_pItemElem == NULL )
{
m_pItemElem = pItemElem;
m_pItemElem->SetExtra( 1 );
}
}
}
if( m_pItemElem != NULL )
{
CWndButton* pButton = (CWndButton*)GetDlgItem(WIDC_BT_OK);
pButton->EnableWindow(TRUE);
}
return TRUE;
}
BOOL CWndTreasureBox::Initialize( CWndBase* pWndParent, DWORD nType )
{
// Daisy¿¡¼* ¼³Á¤ÇÑ ¸®¼Ò½º·Î À©µµ¸¦ ¿¬´Ù.
return CWndNeuz::InitDialog( g_Neuz.GetSafeHwnd(), APP_TREASURECHEST_OPEN, 0, CPoint( 0, 0 ), pWndParent );
}
BOOL CWndTreasureBox::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
{
if( nID == WIDC_BT_OK )
{
if( m_bStart )
return TRUE;
m_bStart = TRUE;
m_dwStartTime = g_tmCurrent;
m_dwEndTime = g_tmCurrent + SEC(m_nDelay);
}
else if( nID == WIDC_BUTTON2 )
{
if( m_bStart )
{
m_bStart = FALSE;
}
else
Destroy();
}
return CWndNeuz::OnChildNotify( message, nID, pLResult );
}
BOOL CWndTreasureBox::Process()
{
if(m_bStart && m_pItemElem != NULL)
{
m_fGaugeRate = static_cast<float>(g_tmCurrent - m_dwStartTime) / static_cast<float>(m_dwEndTime - m_dwStartTime);
if(m_dwEndTime < g_tmCurrent)
{
m_bStart = FALSE;
m_dwStartTime = 0xffffffff;
m_dwEndTime = 0xffffffff;
// Send to Server...
m_pBoxItem->SetExtra( 0 );
m_pItemElem->SetExtra( 0 );
g_DPlay.SendTreasureBoxOpen( m_pBoxItem, m_pItemElem );
Destroy();
}
}
else
{
m_dwStartTime = 0xffffffff;
m_dwEndTime = 0xffffffff;
}
return TRUE;
}
void CWndTreasureBox::OnDraw( C2DRender* p2DRender )
{
////////////////////////////////
if( m_bStart )
{
static CRect rectStaticTemp;
LPWNDCTRL lpStatic = GetWndCtrl( WIDC_PC_DELAY );
rectStaticTemp.TopLeft().y = lpStatic->rect.top+2;
rectStaticTemp.TopLeft().x = lpStatic->rect.left+2;
rectStaticTemp.BottomRight().y = lpStatic->rect.bottom;
int nGaugeWidth(lpStatic->rect.left + static_cast<int>(static_cast<float>(lpStatic->rect.right - lpStatic->rect.left) * m_fGaugeRate));
nGaugeWidth = nGaugeWidth < lpStatic->rect.right ? nGaugeWidth : lpStatic->rect.right;
rectStaticTemp.BottomRight().x = nGaugeWidth;
assert(m_pVBSmeltGauge != NULL);
m_pTheme->RenderGauge(p2DRender, &rectStaticTemp, 0xffffffff, m_pVBSmeltGauge, &m_texGauEmptyNormal);
}
/////////////////////////////////////
if( m_pBoxItem != NULL )
{
m_pBoxItem->GetTexture()->Render( p2DRender, m_nBoxRect.TopLeft(), 255 );
CRect hitrect2 = m_nBoxRect;
CPoint point3 = GetMousePoint();
if( m_nBoxRect.PtInRect( point3 ) )
{
CPoint point4 = point3;
ClientToScreen( &point4 );
ClientToScreen( &hitrect2 );
g_WndMng.PutToolTip_Item( (CItemBase*)m_pBoxItem, point4, &hitrect2 );
}
}
if( m_pItemElem != NULL )
{
m_pItemElem->GetTexture()->Render( p2DRender, m_nCtrlId.TopLeft(), 255 );
if( m_pItemElem->m_nItemNum > 1 )
{
TCHAR szTemp[32];
_stprintf( szTemp, "%d", m_pItemElem->GetExtra() );
CSize size = p2DRender->m_pFont->GetTextExtent( szTemp );
p2DRender->TextOut( m_nCtrlId.right-11, m_nCtrlId.bottom-11 , szTemp, 0xffeac117 );
}
CRect hitrect = m_nCtrlId;
CPoint point = GetMousePoint();
if( m_nCtrlId.PtInRect( point ) )
{
CPoint point2 = point;
ClientToScreen( &point2 );
ClientToScreen( &hitrect );
g_WndMng.PutToolTip_Item( (CItemBase*)m_pItemElem, point2, &hitrect );
}
}
}
void CWndTreasureBox::OnInitialUpdate()
{
CWndNeuz::OnInitialUpdate();
RestoreDeviceObjects();
m_texGauEmptyNormal.LoadTexture( m_pApp->m_pd3dDevice, MakePath( DIR_THEME, "ColoGauge01.bmp" ), 0xffff00ff, TRUE );
CWndButton* pButton = (CWndButton*)GetDlgItem(WIDC_BT_OK);
pButton->EnableWindow(FALSE);
CWndCustom* pWndCustom = (CWndCustom*)GetDlgItem(WIDC_PC_DELAY);
pWndCustom->SetTitle( "" );
m_nCtrlId = GetWndCtrl( WIDC_CB_OPEN )->rect;
m_nBoxRect = GetWndCtrl( WIDC_LB_NOTICE )->rect;
MoveParentCenter();
}
void CWndTreasureBox::OnLButtonDblClk( UINT nFlags, CPoint point )
{
if(m_nCtrlId.PtInRect( point ))
{
if(m_pItemElem)
{
m_pItemElem->SetExtra(0);
m_pItemElem = NULL;
CWndButton* pButton = (CWndButton*)GetDlgItem(WIDC_BT_OK);
pButton->EnableWindow(FALSE);
}
}
}
void CWndTreasureBox::OnDestroy( void )
{
if(m_pItemElem != NULL)
m_pItemElem->SetExtra(0);
if( m_pBoxItem != NULL )
m_pBoxItem->SetExtra( 0 );
}
BOOL CWndTreasureBox::IsOpenKey( CItemElem* pKey )
{
for( int i=0;i<(int)prj.m_vTreasureBox.size();i++ )
{
if( m_pBoxItem->GetProp()->dwID == prj.m_vTreasureBox.at(i).dwBoxID )
{
for( int j=0;j<3;j++ )
{
if( prj.m_vTreasureBox.at(i).dwKeyID[j] == pKey->GetProp()->dwID )
return TRUE;
}
return FALSE;
}
}
return FALSE;
}
/***************************************
*
* APP_TREASURECHEST_RESULT
* WIDC_CB_OPEN03 WIDC_CB_OPEN02 WIDC_CB_OPEN WIDC_BT_CANCEL
****************************************/
CWndTreasureRecieve::CWndTreasureRecieve()
{
}
CWndTreasureRecieve::~CWndTreasureRecieve()
{
}
void CWndTreasureRecieve::InsertItem( DWORD dwID, int idx, int nCount )
{
if( idx > 2 || idx < 0 )
return;
m_dwTreasures[idx] = dwID;
if( dwID != NULL )
m_nCount[idx] = nCount;
else
m_nCount[idx] = NULL;
}
BOOL CWndTreasureRecieve::Initialize( CWndBase* pWndParent, DWORD nType )
{
return CWndNeuz::InitDialog( g_Neuz.GetSafeHwnd(), APP_TREASURECHEST_RESULT, 0, CPoint( 0, 0 ), pWndParent );
}
BOOL CWndTreasureRecieve::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
{
if( nID == WIDC_BT_CANCEL )
{
Destroy();
}
return CWndNeuz::OnChildNotify( message, nID, pLResult );
}
void CWndTreasureRecieve::OnDraw( C2DRender* p2DRender )
{
for( int i=0;i<3;i++ )
{
if(pTexture[i] != NULL)
pTexture[i]->Render( p2DRender, m_nCtrlId[i].TopLeft(), 255 );
if( m_nCount[i] > 1 )
{
TCHAR szTemp[32];
_stprintf( szTemp, "%d", m_nCount[i] );
CSize size = p2DRender->m_pFont->GetTextExtent( szTemp );
p2DRender->TextOut( m_nCtrlId[i].right-11, m_nCtrlId[i].bottom-11 , szTemp, 0xff1010ff );
}
CRect hitrect = m_nCtrlId[i];
CPoint point = GetMousePoint();
if( m_nCtrlId[i].PtInRect( point ) )
{
CPoint point2 = point;
ClientToScreen( &point2 );
ClientToScreen( &hitrect );
CItemElem pElem;
pElem.m_dwItemId = m_dwTreasures[i];
pElem.m_nHitPoint = 0;
g_WndMng.PutToolTip_Item( &pElem, point2, &hitrect );
}
}
}
void CWndTreasureRecieve::OnInitialUpdate()
{
CWndNeuz::OnInitialUpdate();
for( int i=0;i<3;i++ )
{
if( m_dwTreasures[i] == NULL )
{
CString strPath = MakePath( DIR_ITEM, "Itm_TreasureBox01.dds");
pTexture[i] = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xffff00ff );
}
else
{
CString strPath = MakePath( DIR_ITEM, prj.GetItemProp( m_dwTreasures[i] )->szIcon );
pTexture[i] = CWndBase::m_textureMng.AddTexture( g_Neuz.m_pd3dDevice, strPath, 0xffff00ff );
}
}
m_nCtrlId[0] = GetWndCtrl( WIDC_CB_OPEN03 )->rect;
m_nCtrlId[1] = GetWndCtrl( WIDC_CB_OPEN02 )->rect;
m_nCtrlId[2] = GetWndCtrl( WIDC_CB_OPEN )->rect;
MoveParentCenter();
}
#endif//__TREASUREBOX
WndField.h
Code:
#ifdef __TREASUREBOX
class CWndTreasureBox : public CWndNeuz
{
public:
float m_nSmeltWidth;
LPDIRECT3DVERTEXBUFFER9 m_pVBSmeltGauge;
CTexture m_texGauEmptyNormal;
BOOL m_bVBSmeltGauge;
BOOL m_bStart;
DWORD m_dwStartTime;
DWORD m_dwEndTime;
int m_nDelay;
float m_fGaugeRate;
CWndTreasureBox( DWORD dwObjID );
virtual ~CWndTreasureBox();
CItemElem* m_pItemElem;
CItemElem* m_pBoxItem;
CTexture* m_pTexture;
CRect m_nCtrlId;
CRect m_nBoxRect;
virtual BOOL OnDropIcon( LPSHORTCUT pShortcut, CPoint point );
virtual BOOL Initialize( CWndBase* pWndParent = NULL, DWORD nType = MB_OK );
virtual BOOL OnChildNotify( UINT message, UINT nID, LRESULT* pLResult );
virtual void OnDraw( C2DRender* p2DRender );
virtual void OnInitialUpdate();
virtual void OnLButtonDblClk( UINT nFlags, CPoint point );
virtual void OnDestroy( void );
virtual BOOL Process();
HRESULT RestoreDeviceObjects();
HRESULT InvalidateDeviceObjects();
HRESULT DeleteDeviceObjects();
BOOL IsOpenKey( CItemElem* pKey );
};
class CWndTreasureRecieve : public CWndNeuz
{
public:
DWORD m_dwTreasures[3];
int m_nCount[3];
CRect m_nCtrlId[3];
CTexture* pTexture[3];
CWndTreasureRecieve();
virtual ~CWndTreasureRecieve();
void InsertItem( DWORD dwID, int idx, int nCount );
virtual BOOL Initialize( CWndBase* pWndParent = NULL, DWORD nType = MB_OK );
virtual BOOL OnChildNotify( UINT message, UINT nID, LRESULT* pLResult );
virtual void OnDraw( C2DRender* p2DRender );
virtual void OnInitialUpdate();
};
#endif//__TREASUREBOX
Project.cpp
Code:
#ifdef __TREASUREBOX
m_vTreasureBox.clear();
#endif
#ifdef __WORLDSERVER
#ifdef __TREASUREBOX
m_vTreasureItem.clear();
#endif
#endif//__WORLDSERVER
#ifdef __TREASUREBOX
LoadTreasureCombine( &m_vTreasureBox );
#endif
#ifdef __TREASUREBOX
LoadTreasureItem( &m_vTreasureItem );
#endif
Project.h
Code:
#ifdef __TREASUREBOX
vector<TreasureBox> m_vTreasureBox;
BOOL LoadTreasureCombine( vector<TreasureBox>* s );
#ifdef __WORLDSERVER
vector<TreasureItem> m_vTreasureItem;
BOOL LoadTreasureItem( vector<TreasureItem>* s );
#endif//__WORLDSERVER
#endif
MoverSkill.cpp
Code:
#ifdef __TREASUREBOX
case IK2_TREASURE:
return FALSE;
break;
#endif
VersionCommon.h (Neuz and WorldServer)
Code:
#define __TREASUREBOX
Resource:
Spec_Item.txt
Code:
15 II_SYS_SYS_SCR_TREASUREBOXLV15 IDS_PROPITEM_TXT_014810 1 9999 IK1_ACTIVEUI IK2_TREASURE IK3_BOX = = 1 = 1 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = 60 = = = """Itm_TreasureChestBlue.png""" 0 """""" IDS_PROPITEM_TXT_014811 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREBOXLV60 IDS_PROPITEM_TXT_014812 1 9999 IK1_ACTIVEUI IK2_TREASURE IK3_BOX = = 1 = 1 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = 121 = = = """Itm_TreasureChestOrange.png""" 0 """""" IDS_PROPITEM_TXT_014813 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREBOXLV90 IDS_PROPITEM_TXT_014814 1 9999 IK1_ACTIVEUI IK2_TREASURE IK3_BOX = = 1 = 1 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = 151 = = = """Itm_TreasureChesPinkl.png""" 0 """""" IDS_PROPITEM_TXT_014815 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREBOXLV120 IDS_PROPITEM_TXT_014816 1 9999 IK1_ACTIVEUI IK2_TREASURE IK3_BOX = = 1 = 1 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = 251 = = = """Itm_TreasureChestGreen.png""" 0 """""" IDS_PROPITEM_TXT_014817 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREBOXLV150 IDS_PROPITEM_TXT_014818 1 9999 IK1_ACTIVEUI IK2_TREASURE IK3_BOX = = 1 = 1 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = 300 = = = """Itm_TreasureChest01-32.dds""" 0 """""" IDS_PROPITEM_TXT_014819 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREKEYLOW15 IDS_PROPITEM_TXT_014820 1 999 IK1_PASSIVE IK2_TREASURE IK3_BOXOPEN = TRUE 1 = 1 = = = = = = = 0 = = 0 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = 1 = = = """Itm_TreasureCopperkey01-32.dds""" 0 """""" IDS_PROPITEM_TXT_014821 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREKEYMIDDLE15 IDS_PROPITEM_TXT_014822 1 999 IK1_PASSIVE IK2_TREASURE IK3_BOXOPEN = TRUE 1 = 1 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = 1 = = = """Itm_TreasureSilverkey01-32.dds""" 0 """""" IDS_PROPITEM_TXT_014823 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREKEYHIGH15 IDS_PROPITEM_TXT_014824 1 999 IK1_PASSIVE IK2_TREASURE IK3_BOXOPEN = TRUE 1 = 1 = = = = = = = 0 = = 2 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = 200 = = 0 0 0 0 0 = = = = = = = = = = = = = 1 = = = """Itm_TreasureGoldkey01-32.dds""" 0 """""" IDS_PROPITEM_TXT_014825 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREKEYLOW60 IDS_PROPITEM_TXT_014826 1 999 IK1_PASSIVE IK2_TREASURE IK3_BOXOPEN = TRUE 1 = 1 = = = = = = = 0 = = 0 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = 1 = = = """Itm_TreasureCopperkey01-32.dds""" 0 """""" IDS_PROPITEM_TXT_014827 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREKEYMIDDLE60 IDS_PROPITEM_TXT_014828 1 999 IK1_PASSIVE IK2_TREASURE IK3_BOXOPEN = TRUE 1 = 1 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = 1 = = = """Itm_TreasureSilverkey01-32.dds""" 0 """""" IDS_PROPITEM_TXT_014829 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREKEYHIGH60 IDS_PROPITEM_TXT_014830 1 999 IK1_PASSIVE IK2_TREASURE IK3_BOXOPEN = TRUE 1 = 1 = = = = = = = 0 = = 2 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = 400 = = 0 0 0 0 0 = = = = = = = = = = = = = 1 = = = """Itm_TreasureGoldkey01-32.dds""" 0 """""" IDS_PROPITEM_TXT_014831 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREKEYLOW90 IDS_PROPITEM_TXT_014832 1 999 IK1_PASSIVE IK2_TREASURE IK3_BOXOPEN = TRUE 1 = 1 = = = = = = = 0 = = 0 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = 1 = = = """Itm_TreasureCopperkey01-32.dds""" 0 """""" IDS_PROPITEM_TXT_014833 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREKEYMIDDLE90 IDS_PROPITEM_TXT_014834 1 999 IK1_PASSIVE IK2_TREASURE IK3_BOXOPEN = TRUE 1 = 1 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = 1 = = = """Itm_TreasureSilverkey01-32.dds""" 0 """""" IDS_PROPITEM_TXT_014835 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREKEYHIGH90 IDS_PROPITEM_TXT_014836 1 999 IK1_PASSIVE IK2_TREASURE IK3_BOXOPEN = TRUE 1 = 1 = = = = = = = 0 = = 2 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = 600 = = 0 0 0 0 0 = = = = = = = = = = = = = 1 = = = """Itm_TreasureGoldkey01-32.dds""" 0 """""" IDS_PROPITEM_TXT_014837 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREKEYLOW120 IDS_PROPITEM_TXT_014838 1 999 IK1_PASSIVE IK2_TREASURE IK3_BOXOPEN = TRUE 1 = 1 = = = = = = = 0 = = 0 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = 1 = = = """Itm_TreasureCopperkey01-32.dds""" 0 """""" IDS_PROPITEM_TXT_014839 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREKEYMIDDLE120 IDS_PROPITEM_TXT_014840 1 999 IK1_PASSIVE IK2_TREASURE IK3_BOXOPEN = TRUE 1 = 1 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = 1 = = = """Itm_TreasureSilverkey01-32.dds""" 0 """""" IDS_PROPITEM_TXT_014841 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREKEYHIGH120 IDS_PROPITEM_TXT_014842 1 999 IK1_PASSIVE IK2_TREASURE IK3_BOXOPEN = TRUE 1 = 1 = = = = = = = 0 = = 2 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = 1000 = = 0 0 0 0 0 = = = = = = = = = = = = = 1 = = = """Itm_TreasureGoldkey01-32.dds""" 0 """""" IDS_PROPITEM_TXT_014843 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREKEYLOW150 IDS_PROPITEM_TXT_014844 1 999 IK1_PASSIVE IK2_TREASURE IK3_BOXOPEN = TRUE 1 = 1 = = = = = = = 0 = = 0 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = 1 = = = """Itm_TreasureCopperkey01-32.dds""" 0 """""" IDS_PROPITEM_TXT_014845 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREKEYMIDDLE150 IDS_PROPITEM_TXT_014846 1 999 IK1_PASSIVE IK2_TREASURE IK3_BOXOPEN = TRUE 1 = 1 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = 1 = = = """Itm_TreasureSilverkey01-32.dds""" 0 """""" IDS_PROPITEM_TXT_014847 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
15 II_SYS_SYS_SCR_TREASUREKEYHIGH150 IDS_PROPITEM_TXT_014848 1 999 IK1_PASSIVE IK2_TREASURE IK3_BOXOPEN = TRUE 1 = 1 = = = = = = = 0 = = 2 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = 1400 = = 0 0 0 0 0 = = = = = = = = = = = = = 1 = = = """Itm_TreasureGoldkey01-32.dds""" 0 """""" IDS_PROPITEM_TXT_014849 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 0
also i defined the other things in things need like resdata,defineitem,defineitemkind,mdlDyna,propitem .txt.txt and other more