You last visited: Today at 16:26
Advertisement
New Exchanger v19
Discussion on New Exchanger v19 within the Flyff Private Server forum part of the Flyff category.
09/17/2019, 05:22
#1
elite*gold: 0
Join Date: Jun 2019
Posts: 130
Received Thanks: 3
New Exchanger v19
I was wondering where to fix the scroll bar in the NEW EXCHANGER V19
My WndField.cpp
Code:
void CWndDialogEvent::SetDescription(CHAR* szChar)
{
//Set List
CRect rect;
LPWNDCTRL lpWndCtrl;
#ifdef __NEW_EXCHANGE_V19
#else
CWndListBox* pWndList = (CWndListBox*)GetDlgItem(WIDC_LISTBOX1);
lpWndCtrl = GetWndCtrl(WIDC_LISTBOX1);
rect = lpWndCtrl->rect;
for (int i = 0; i < m_nListCount; i++)
{
pWndList->AddString(prj.GetText(m_nVecList[i]));
}
#endif
//Set Description
m_nDescList = prj.m_Exchange.GetDescId(m_nMMI);
m_nDescCount = m_nDescList.size();
if (!m_nDescCount)
return;
if (m_nDescCount == 1)
{
CWndButton* pButton = (CWndButton*)GetDlgItem(WIDC_BUTTON1);
pButton->SetVisible(FALSE);
pButton->EnableWindow(FALSE);
}
CWndText* pText = (CWndText*)GetDlgItem(WIDC_TEXT1);
m_nCurrentPage = 0;
pText->m_string.AddParsingString(prj.GetText(m_nDescList[m_nCurrentPage]));
pText->ResetString();
//Size Control
#ifndef __NEW_EXCHANGE_V19
if (m_nListCount <= MAX_LIST_COUNT)
{
int nListBoxBottom = 0;
int nListBoxHeight = 0;
int nButtonHeight = 0;
//ListBox
rect.bottom = rect.top + m_nListCount * m_nGap + 10;
nListBoxBottom = rect.bottom;
nListBoxHeight = rect.bottom - rect.top;
//¿µ¾î ¶§¹®¿¡ â Å©±â ´ÃÀÓ
rect.right += 80;
pWndList->SetWndRect(rect);
//Window
rect = GetWindowRect(TRUE);
lpWndCtrl = GetWndCtrl(WIDC_TEXT1);
CRect rectText = lpWndCtrl->rect;
rect.bottom = rect.top + nListBoxHeight + (rectText.bottom - rectText.top) + 80;
SetWndRect(rect);
//Button
CWndButton* pWndButton = (CWndButton*)GetDlgItem(WIDC_OK);
lpWndCtrl = GetWndCtrl(WIDC_OK);
rect = lpWndCtrl->rect;
nButtonHeight = rect.bottom - rect.top;
rect.top = nListBoxBottom + 8;
rect.bottom = rect.top + nButtonHeight;
//¿µ¾î ¶§¹®¿¡ â Å©±â ´ÃÀÓ
rect.left += 40;
rect.right += 40;
pWndButton->SetWndRect(rect);
pWndButton = (CWndButton*)GetDlgItem(WIDC_CANCEL);
lpWndCtrl = GetWndCtrl(WIDC_CANCEL);
rect = lpWndCtrl->rect;
nButtonHeight = rect.bottom - rect.top;
rect.top = nListBoxBottom + 8;
rect.bottom = rect.top + nButtonHeight;
//¿µ¾î ¶§¹®¿¡ â Å©±â ´ÃÀÓ
rect.left += 40;
rect.right += 40;
pWndButton->SetWndRect(rect);
}
#endif
//¿µ¾î ¶§¹®¿¡ â Å©±â ´ÃÀÓ
//Window
rect = GetWindowRect(TRUE);
rect.right += 80;
SetWndRect(rect);
//Button
CWndButton* pWndButton = (CWndButton*)GetDlgItem(WIDC_BUTTON1);
lpWndCtrl = GetWndCtrl(WIDC_BUTTON1);
rect = lpWndCtrl->rect;
rect.left += 80;
rect.right += 80;
pWndButton->SetWndRect(rect);
//Text
CWndText* pWndText = (CWndText*)GetDlgItem(WIDC_TEXT1);
lpWndCtrl = GetWndCtrl(WIDC_TEXT1);
rect = lpWndCtrl->rect;
rect.right += 80;
pWndText->SetWndRect(rect);
}
WndControl.cpp
Code:
void CWndListBox::OnDraw(C2DRender* p2DRender)
#ifdef __NEW_EXCHANGE_V19
if (pWnd->GetWndId() == APP_DIALOG_EVENT)
{
m_nFontHeight = 35;
int nGapX = 40;
CPoint pt(10, 5);
//pt.y -= m_nFontHeight * m_wndScrollBar.GetScrollPos();
CExchange::PSETLIST pSet = prj.m_Exchange.FindExchange(((CWndDialogEvent*)pWnd)->m_nMMI);
CTexture *pArrow = CWndBase::m_textureMng.AddTexture(p2DRender->m_pd3dDevice, MakePath("Theme\\", ::GetLanguage(), "ExchangeArrow.tga"), 0xFFFF0000);
if (!pSet)
return;
unsigned nPos = m_wndScrollBar.GetScrollPos();
unsigned nEnd = nPos + 7;
if (nEnd > pSet->vecSet.size())
nEnd = pSet->vecSet.size();
if (clock() > m_clkALPHADelay)
{
m_nALPHAPos++;
m_clkALPHADelay = clock() + SEC(2);
if (m_nALPHAPos < 0)
m_nALPHAPos = 0;
}
for (unsigned i = nPos; i < nEnd; ++i)
{
/*if( pt.y < 0 )
{
pt.y += m_nFontHeight;
continue;
}*/
if (pt.y > GetWndRect().Height())
break;
if (i == m_nCurSelect)
{
CRect DrawRect = CRect(0, pt.y + 2, 434, pt.y + 34);
p2DRender->RenderFillRect(DrawRect, 0xFF022202);
p2DRender->RenderRect(DrawRect, 0xFF077707);
}
for (unsigned j = 0; j < pSet->vecSet[i].vecCondItem.size(); j++)
{
ItemProp *pPropItem = prj.GetItemProp(pSet->vecSet[i].vecCondItem[j].dwItemId);
if (pPropItem)
{
CTexture *pTex = CWndBase::m_textureMng.AddTexture(p2DRender->m_pd3dDevice, MakePath(DIR_ITEM, pPropItem->szIcon), 0xffff00ff);
DWORD dwBlend = 255;
if (g_pPlayer->m_Inventory.GetItemCount(pPropItem->dwID) < (DWORD)pSet->vecSet[i].vecCondItem[j].nItemNum)
dwBlend = 60;
if (pTex)
pTex->Render(p2DRender, CPoint(pt.x, pt.y + 2), dwBlend);
TCHAR szTemp[32];
_stprintf(szTemp, "%d", pSet->vecSet[i].vecCondItem[j].nItemNum);
CD3DFont* pOldFont = p2DRender->GetFont();
p2DRender->SetFont(CWndBase::m_Theme.m_pFontWndTitle);
CSize size = m_p2DRender->m_pFont->GetTextExtent(szTemp);
m_p2DRender->TextOut(pt.x + 30 - size.cx, pt.y + 32 - size.cy + 4, szTemp, 0xFF000000);
m_p2DRender->TextOut(pt.x + 29 - size.cx, pt.y + 31 - size.cy + 4, szTemp, 0xFF85FF8A);
p2DRender->SetFont(pOldFont);
CRect rectTT = CRect(pt.x, pt.y, pt.x + 32, pt.y + 32);
if (rectTT.PtInRect(m_ptMouse))
{
CItemElem elem;
CPoint pt2 = m_ptMouse;
ClientToScreen(&pt2);
ClientToScreen(&rectTT);
elem.m_dwItemId = pSet->vecSet[i].vecCondItem[j].dwItemId;
elem.m_byFlag = pSet->vecSet[i].vecCondItem[j].byFalg;
g_WndMng.PutToolTip_Item(&elem, pt2, &rectTT);
}
pt.x += nGapX;
}
}
pArrow->Render(p2DRender, pt);
pt.x += nGapX;
int nALPHA = m_nALPHAPos % pSet->vecSet[i].vecPayItem.size();
for (unsigned j = 0; j < pSet->vecSet[i].vecPayItem.size(); j++)
{
ItemProp *pPropItem = prj.GetItemProp(pSet->vecSet[i].vecPayItem[j].dwItemId);
if (pPropItem)
{
CTexture *pTex = CWndBase::m_textureMng.AddTexture(p2DRender->m_pd3dDevice, MakePath(DIR_ITEM, pPropItem->szIcon), 0xffff00ff);
DWORD dwBlend = 60;
if (j == nALPHA)
dwBlend = 255;
//if( g_pPlayer->m_Inventory.GetCount(pPropItem->dwID) <= 0 )
// dwBlend = 155;
if (pTex)
pTex->Render(p2DRender, CPoint(pt.x, pt.y + 2), dwBlend);
TCHAR szTemp[32];
_stprintf(szTemp, "%d", pSet->vecSet[i].vecPayItem[j].nItemNum);
CD3DFont* pOldFont = p2DRender->GetFont();
p2DRender->SetFont(CWndBase::m_Theme.m_pFontWndTitle);
CSize size = m_p2DRender->m_pFont->GetTextExtent(szTemp);
m_p2DRender->TextOut(pt.x + 30 - size.cx, pt.y + 30 - size.cy + 4, szTemp, 0xFF000000);
m_p2DRender->TextOut(pt.x + 29 - size.cx, pt.y + 29 - size.cy + 4, szTemp, 0xFF85FF8A);
p2DRender->SetFont(pOldFont);
CRect rectTT = CRect(pt.x, pt.y, pt.x + 32, pt.y + 32);
if (rectTT.PtInRect(m_ptMouse))
{
CItemElem elem;
CPoint pt2 = m_ptMouse;
ClientToScreen(&pt2);
ClientToScreen(&rectTT);
elem.m_dwItemId = pSet->vecSet[i].vecPayItem[j].dwItemId;
elem.m_byFlag = pSet->vecSet[i].vecPayItem[j].byFalg;
g_WndMng.PutToolTip_Item(&elem, pt2, &rectTT);
}
pt.x += nGapX;
}
}
pt.x = 10;
pt.y += m_nFontHeight + 1;
//p2DRender->RenderLine(CPoint(0,pt.y),CPoint(GetWindowRect().Width()-10,pt.y),0xFF776655);
}
int nRange = pSet->vecSet.size();
int nPage = GetClientRect().Height() / m_nFontHeight;
if (IsWndStyle(WBS_VSCROLL))
{
m_wndScrollBar.SetVisible(TRUE);
m_wndScrollBar.SetScrollRange(0, nRange);
m_wndScrollBar.SetScrollPage(nPage);
}
else
m_wndScrollBar.SetVisible(FALSE);
}
else
#endif
m_nFontHeight = GetFontHeight() + m_nLineSpace;
{
CPoint pt(3, 3);
pt.y -= m_nFontHeight * m_wndScrollBar.GetScrollPos();
PaintListBox(p2DRender, pt, m_listItemArray);
int nPage = GetClientRect().Height() / m_nFontHeight;
int nRange = m_listItemArray.GetSize();
if (IsWndStyle(WBS_VSCROLL))
{
m_wndScrollBar.SetVisible(TRUE);
m_wndScrollBar.SetScrollRange(0, nRange);
m_wndScrollBar.SetScrollPage(nPage);
}
else
m_wndScrollBar.SetVisible(FALSE);
}
}
Code:
void CWndListBox::OnLButtonUp(UINT nFlags, CPoint point)
{
CWndBase* pWnd = GetParentWnd();
#ifdef __NEW_EXCHANGE_V19
if (pWnd->GetWndId() == APP_DIALOG_EVENT)
{
CPoint pt(0, 3);
CExchange::PSETLIST pSet = prj.m_Exchange.FindExchange(((CWndDialogEvent*)pWnd)->m_nMMI);
unsigned nPos = m_wndScrollBar.GetScrollPos();
unsigned nEnd = nPos + 7;
if (!pSet)
return;
if (nEnd > pSet->vecSet.size())
nEnd = pSet->vecSet.size();
for (unsigned i = nPos; i < nEnd; ++i)
{
CRect DrawRect = CRect(0, pt.y, GetWindowRect().Width(), pt.y + m_nFontHeight);
if (DrawRect.PtInRect(point))
{
m_nCurSelect = i;
CWndBase* pWnd = m_pParentWnd;
pWnd->OnChildNotify(WNM_SELCHANGE, m_nIdWnd, NULL);
break;
}
pt.y += m_nFontHeight;
}
}
else
#endif
{
CPoint pt(3, 3);
pt.y -= m_nFontHeight * m_wndScrollBar.GetScrollPos();
CRect rect;
LPLISTITEM pListItem;
for (int i = 0; i < m_listItemArray.GetSize(); i++)
{
pListItem = (LPLISTITEM)m_listItemArray.GetAt(i);
#if __VER >= 15 // __IMPROVE_QUEST_INTERFACE
if (pListItem->m_bIsValid == FALSE)
{
pt.y += m_nFontHeight;
continue;
}
#endif // __IMPROVE_QUEST_INTERFACE
int nScrollBarWidth = IsWndStyle(WBS_VSCROLL) ? m_wndScrollBar.GetClientRect().Width() : 0;
rect.SetRect(pt.x, pt.y, pt.x + m_rectWindow.Width() - nScrollBarWidth, pt.y + m_nFontHeight);
if (rect.PtInRect(point))
{
if (m_pFocusItem == pListItem)
{
// ºÎ¸ð°¡ Â÷Àϵå À©µµ°¡ ¾Æ´Ï¾î¾ß OnCommand ¸Þ½ÃÁö¸¦ ¹Þ´Â´Ù.
CWndBase* pWnd = m_pParentWnd;
pWnd->OnChildNotify(WNM_SELCHANGE, m_nIdWnd, (LRESULT*)pListItem);
return;
}
}
pt.y += m_nFontHeight;
}
}
}
Code:
void CWndListBox::OnLButtonDown(UINT nFlags, CPoint point)
{
CPoint pt(3, 3);
#ifdef __NEW_EXCHANGE_V19
CWndBase* pWnd = GetParentWnd();
if (pWnd->GetWndId() == APP_DIALOG_EVENT)
{
CPoint pt(0, 3);
CExchange::PSETLIST pSet = prj.m_Exchange.FindExchange(((CWndDialogEvent*)pWnd)->m_nMMI);
unsigned nPos = m_wndScrollBar.GetScrollPos();
unsigned nEnd = nPos + 7;
if (!pSet)
return;
if (nEnd > pSet->vecSet.size())
nEnd = pSet->vecSet.size();
for (unsigned i = nPos; i < nEnd; ++i)
{
CRect DrawRect = CRect(0, pt.y, GetWindowRect().Width(), pt.y + m_nFontHeight);
if (DrawRect.PtInRect(point))
{
m_nCurSelect = i;
break;
}
pt.y += m_nFontHeight;
}
}
else
#endif
{
pt.y -= m_nFontHeight * m_wndScrollBar.GetScrollPos();
CRect rect;
LPLISTITEM pListItem;
for (int i = 0; i < m_listItemArray.GetSize(); i++)
{
pListItem = (LPLISTITEM)m_listItemArray.GetAt(i);
#if __VER >= 15 // __IMPROVE_QUEST_INTERFACE
if (pListItem->m_bIsValid == FALSE)
{
pt.y += m_nFontHeight;
continue;
}
#endif // __IMPROVE_QUEST_INTERFACE
int nScrollBarWidth = IsWndStyle(WBS_VSCROLL) ? m_wndScrollBar.GetClientRect().Width() : 0;
rect.SetRect(pt.x, pt.y, pt.x + m_rectWindow.Width() - nScrollBarWidth, pt.y + m_nFontHeight);
if (rect.PtInRect(point))
{
m_nCurSelect = i;
m_pFocusItem = pListItem;
}
pt.y += m_nFontHeight;
}
}
}
Any hints? Thank you..
09/17/2019, 23:01
#2
elite*gold: 0
Join Date: Jul 2018
Posts: 93
Received Thanks: 59
Enable scrollbar with GUIEditor
09/18/2019, 03:42
#3
elite*gold: 0
Join Date: Jun 2019
Posts: 130
Received Thanks: 3
Quote:
Originally Posted by
-Valor
Enable scrollbar with GUIEditor
Nope not working. Any tips? Thanks
09/19/2019, 04:33
#4
elite*gold: 0
Join Date: Jul 2018
Posts: 434
Received Thanks: 311
Replace APP_DIALOG_EVENT in your resData.inc with the one from retail.
Similar Threads
V19 Exchanger [Frage]
12/31/2014 - Flyff Private Server - 3 Replies
hay,
habe folgende frage bzw Problem - ich kann bei dem Exchanger Irgendwie nicht runter scrollen also ich habe auch garnicht die ListBox an der Seite.
Weiß wer vielleicht wo ich das abändern kann :D ?
Wäre nice wenn mir jemand auch grad noch den code geben würde ( ist kein muss ) :D
Gruß & danke im Vorraus
[Buying] v19 Taskbar And v19 Navigator
05/25/2013 - Flyff Trading - 0 Replies
i want to buy full v19 taskbar and full v19 navigator (With Animation Not the Release) (Source Code)
pm me your contact info.
and for the prize.
(Sure Buyer)
When the price is right :D
UP !
Please
Need V19 Resource Files With v19 taskbar
04/08/2013 - Flyff Private Server - 2 Replies
Hi Guys I Know I am still a newbie in flyff development but, i want to learn everything in flyff development, because many people gave me courage to do that thing, many people have teached me some things in flyff development and i appreciate it but i don't understand some things in it so guys i want to ask you a favor, SO FAR I ONLY FOUND ADEILSON'S V19 TASKBAR, AND JOPSI'S V19 TASKBAR, I need Help and Pure Instructions In Installing it to the game So I Need Your help, anything, anycodes will...
All times are GMT +2. The time now is 16:26 .