How to add more page of SkillTrayTab

Results 1 to 9 of 9
  1. #1
    Apprentice Hibari Kyoya is offline
    MemberRank
    Oct 2012 Join Date
    Bangkok ThailanLocation
    22Posts

    How to add more page of SkillTrayTab

    It just add more page of skilltraytab you can apply to your source.

    SkillTrayTab.h
    Code:
    const INT MAX_TAB_INDEX = 4;
    const INT QUICK_SKILL_SLOT_MAX = 10;
    Code:
    public:
    	enum
    	{
    		BASIC_QUICK_SKILL_TRAY_F1 = NO_ID + 1,
    		BASIC_QUICK_SKILL_TRAY_F2,
    		BASIC_QUICK_SKILL_TRAY_F3,
    		BASIC_QUICK_SKILL_TRAY_F4,
    		BASIC_TEXT_BUTTON_F1,
    		BASIC_TEXT_BUTTON_F2,
    		BASIC_TEXT_BUTTON_F3,
    		BASIC_TEXT_BUTTON_F4,
    		BASIC_LEVEL_DISPLAY
    	};
    SkillTrayTab.cpp
    Code:
    #include "StdAfx.h"
    #include ".\skilltraytab.h"
    
    #include "d3dfont.h"
    #include "../EngineUILib/GUInterface/BasicButton.h"
    #include "BasicSkillTray.h"
    #include "GameTextControl.h"
    #include "InnerInterface.h"
    #include "../EngineUILib/GUInterface/UIKeyCheck.h"
    #include "BasicTextButton.h"
    #include "BasicLevelDisplay.h"
    
    INT CSkillTrayTab::NEXT_INDEX[] = {1, 2, 3, 0};
    
    CSkillTrayTab::CSkillTrayTab(void)
    	: m_nTabIndex(0)
    	, m_nCount(0)
    {
    	memset( m_pSkillTray, 0, sizeof( CBasicSkillTray* ) * MAX_TAB_INDEX );
    	memset( m_pTextButton, 0, sizeof( CBasicTextButton* ) * MAX_TAB_INDEX );
    }
    
    CSkillTrayTab::~CSkillTrayTab(void)
    {
    }
    
    void CSkillTrayTab::CreateSubControl()
    {
    	CD3DFontPar * m_pFont8 = DxFontMan::GetInstance().LoadDxFont( _DEFAULT_FONT, 8, D3DFONT_SHADOW | D3DFONT_ASCII );
    
    	CBasicSkillTray * pSkillTray = new CBasicSkillTray;
    	pSkillTray->CreateSub( this, "BASIC_QUICK_SKILL_TRAY", UI_FLAG_DEFAULT, BASIC_QUICK_SKILL_TRAY_F1 );
    	pSkillTray->CreateSubControl( 0 );
    	RegisterControl( pSkillTray );
    	m_pSkillTray[0] = pSkillTray;
    
    	pSkillTray = new CBasicSkillTray;
    	pSkillTray->CreateSub( this, "BASIC_QUICK_SKILL_TRAY", UI_FLAG_DEFAULT, BASIC_QUICK_SKILL_TRAY_F2 );
    	pSkillTray->CreateSubControl( 1 );
    	pSkillTray->SetVisibleSingle( FALSE );
    	RegisterControl( pSkillTray );
    	m_pSkillTray[1] = pSkillTray;
    
    	pSkillTray = new CBasicSkillTray;
    	pSkillTray->CreateSub( this, "BASIC_QUICK_SKILL_TRAY", UI_FLAG_DEFAULT, BASIC_QUICK_SKILL_TRAY_F3 );
    	pSkillTray->CreateSubControl( 2 );
    	pSkillTray->SetVisibleSingle( FALSE );
    	RegisterControl( pSkillTray );
    	m_pSkillTray[2] = pSkillTray;
    
    	pSkillTray = new CBasicSkillTray;
    	pSkillTray->CreateSub( this, "BASIC_QUICK_SKILL_TRAY", UI_FLAG_DEFAULT, BASIC_QUICK_SKILL_TRAY_F4 );
    	pSkillTray->CreateSubControl( 3 );
    	pSkillTray->SetVisibleSingle( FALSE );
    	RegisterControl( pSkillTray );
    	m_pSkillTray[3] = pSkillTray;
    
    	CBasicTextButton * pTextButton = new CBasicTextButton;
    	pTextButton->CreateSub( this, "BASIC_TEXT_BUTTON14", UI_FLAG_XSIZE, BASIC_TEXT_BUTTON_F1 );
    	pTextButton->CreateBaseButton( "QUICK_SKILL_TRAY_TAB_BUTTON", CBasicTextButton::SIZE14, CBasicButton::CLICK_FLIP, ID2GAMEWORD( "SKILL_TAB_INFO", 0 ) );
    	RegisterControl( pTextButton );
    	m_pTextButton[0] = pTextButton;
    	SetFoldGroup( pTextButton, TABBUTTON_FOLDGROUP_ID );
    
    	pTextButton = new CBasicTextButton;
    	pTextButton->CreateSub( this, "BASIC_TEXT_BUTTON14", UI_FLAG_XSIZE, BASIC_TEXT_BUTTON_F2 );
    	pTextButton->CreateBaseButton( "QUICK_SKILL_TRAY_TAB_BUTTON", CBasicTextButton::SIZE14, CBasicButton::CLICK_FLIP, ID2GAMEWORD( "SKILL_TAB_INFO", 1 ) );
    	pTextButton->SetVisibleSingle( FALSE );
    	RegisterControl( pTextButton );
    	m_pTextButton[1] = pTextButton;
    	SetFoldGroup( pTextButton, TABBUTTON_FOLDGROUP_ID );
    
    	pTextButton = new CBasicTextButton;
    	pTextButton->CreateSub( this, "BASIC_TEXT_BUTTON14", UI_FLAG_XSIZE, BASIC_TEXT_BUTTON_F3 );
    	pTextButton->CreateBaseButton( "QUICK_SKILL_TRAY_TAB_BUTTON", CBasicTextButton::SIZE14, CBasicButton::CLICK_FLIP, ID2GAMEWORD( "SKILL_TAB_INFO", 2 ) );
    	pTextButton->SetVisibleSingle( FALSE );
    	RegisterControl( pTextButton );
    	m_pTextButton[2] = pTextButton;
    	SetFoldGroup( pTextButton, TABBUTTON_FOLDGROUP_ID );
    
    	pTextButton = new CBasicTextButton;
    	pTextButton->CreateSub( this, "BASIC_TEXT_BUTTON14", UI_FLAG_XSIZE, BASIC_TEXT_BUTTON_F4 );
    	pTextButton->CreateBaseButton( "QUICK_SKILL_TRAY_TAB_BUTTON", CBasicTextButton::SIZE14, CBasicButton::CLICK_FLIP, ID2GAMEWORD( "SKILL_TAB_INFO", 3 ) );
    	pTextButton->SetVisibleSingle( FALSE );
    	RegisterControl( pTextButton );
    	m_pTextButton[3] = pTextButton;
    	SetFoldGroup( pTextButton, TABBUTTON_FOLDGROUP_ID );
    
    // #ifndef CH_PARAM // ม฿ฑน ภฮลอฦไภฬฝบ บฏฐๆ
    	CBasicButton * pButton = new CBasicButton;
    	pButton->CreateSub( this, "QUICK_SKILL_TRAY_CLOSE_BUTTON", UI_FLAG_DEFAULT, QUICK_SKILL_TRAY_CLOSE_BUTTON );
    	pButton->CreateFlip( "QUICK_SKILL_TRAY_CLOSE_BUTTON_F", CBasicButton::MOUSEIN_FLIP );
    	pButton->SetUseGlobalAction ( TRUE );	
    	RegisterControl( pButton );
    // #endif
    }
    
    void CSkillTrayTab::Update( int x, int y, BYTE LB, BYTE MB, BYTE RB, int nScroll, float fElapsedTime, BOOL bFirstControl )
    {
    	CUIGroup::Update ( x, y, LB, MB, RB, nScroll, fElapsedTime, bFirstControl );
    
    	if ( CInnerInterface::GetInstance().IsVisibleGroup( MODAL_WINDOW ) ) return ;
    
    	INT nOldIndex = GetTabIndex();
    	INT nNewIndex( nOldIndex );
    
    	if( UIKeyCheck::GetInstance()->Check( DIK_F1, DXKEY_DOWN ) )	
    		nNewIndex = 0;
    	if( UIKeyCheck::GetInstance()->Check( DIK_F2, DXKEY_DOWN ) )	
    		nNewIndex = 1;
    	if( UIKeyCheck::GetInstance()->Check( DIK_F3, DXKEY_DOWN ) )	
    		nNewIndex = 2;
    	if( UIKeyCheck::GetInstance()->Check( DIK_F4, DXKEY_DOWN ) )	
    		nNewIndex = 3;
    
    	if( nNewIndex == nOldIndex ) return ;
    	else
    	{
    		m_pSkillTray[nOldIndex]->SetVisibleSingle( FALSE );
    		m_pSkillTray[nNewIndex]->SetVisibleSingle( TRUE );
    		m_pTextButton[nOldIndex]->SetVisibleSingle( FALSE );
    		m_pTextButton[nNewIndex]->SetVisibleSingle( TRUE );
    		SetTabIndex( nNewIndex );
    	}
    }
    
    void CSkillTrayTab::TranslateUIMessage ( UIGUID ControlID, DWORD dwMsg )
    {
    	switch ( ControlID )
    	{
    	case QUICK_SKILL_TRAY_CLOSE_BUTTON:
    		{
    			if ( CHECK_MOUSE_IN ( dwMsg ) )
    			{
    				if ( CHECK_LB_UP_LIKE ( dwMsg ) )
    				{					
    					CInnerInterface::GetInstance().HideGroup ( GetWndID () );
    					CInnerInterface::GetInstance().ShowGroupBottom ( QUICK_SKILL_TRAY_OPEN_BUTTON, true );
    				}
    			}
    		}
    		break;
    	
    	case BASIC_TEXT_BUTTON_F1:
    	case BASIC_TEXT_BUTTON_F2:
    	case BASIC_TEXT_BUTTON_F3:
    	case BASIC_TEXT_BUTTON_F4:
    		{
    			if ( CHECK_MOUSE_IN ( dwMsg ) )
    			{
    				if ( CHECK_LB_UP_LIKE( dwMsg ) )
    				{
    					INT nIndex = GetTabIndex();
    					INT nNextIndex = NEXT_INDEX[nIndex];
    
    					m_pSkillTray[nIndex]->SetVisibleSingle( FALSE );
    					m_pSkillTray[nNextIndex]->SetVisibleSingle( TRUE );
    
    					m_pTextButton[nIndex]->SetVisibleSingle( FALSE );
    					m_pTextButton[nNextIndex]->SetVisibleSingle( TRUE );
    
    					SetTabIndex( nNextIndex );
    				}
    			}
    		}
    		break;
    
    	case BASIC_QUICK_SKILL_TRAY_F1:
    	case BASIC_QUICK_SKILL_TRAY_F2:
    	case BASIC_QUICK_SKILL_TRAY_F3:
    	case BASIC_QUICK_SKILL_TRAY_F4:
    		{
    			if( dwMsg & UIMSG_MOUSEIN_SKILLSLOT )
    			{
    				AddMessageEx ( UIMSG_MOUSEIN_SKILLSLOT );
    			}
    		}
    		break;
    	}
    }
    
    void CSkillTrayTab::SetVisibleSingle( BOOL bVisible )
    {
    	CUIGroup::SetVisibleSingle( bVisible );
    
    	if( bVisible )
    	{
    		m_pSkillTray[0]->SetVisibleSingle( FALSE );
    		m_pSkillTray[1]->SetVisibleSingle( FALSE );
    		m_pSkillTray[2]->SetVisibleSingle( FALSE );
    		m_pSkillTray[3]->SetVisibleSingle( FALSE );
    
    		m_pTextButton[0]->SetVisibleSingle( FALSE );
    		m_pTextButton[1]->SetVisibleSingle( FALSE );
    		m_pTextButton[2]->SetVisibleSingle( FALSE );
    		m_pTextButton[3]->SetVisibleSingle( FALSE );
    
    		INT nIndex = GetTabIndex();
    		m_pSkillTray[nIndex]->SetVisibleSingle( TRUE );
    		m_pTextButton[nIndex]->SetVisibleSingle( TRUE );
    	}
    }
    
    void CSkillTrayTab::SetShotcutText ( DWORD nID, CString& strTemp )
    {
    	m_pSkillTray[0]->SetShotcutText( nID, strTemp );
    	m_pSkillTray[1]->SetShotcutText( nID, strTemp );
    	m_pSkillTray[2]->SetShotcutText( nID, strTemp );
    	m_pSkillTray[3]->SetShotcutText( nID, strTemp );
    }
    GLCharData.h
    Code:
    #ifndef GLCHARDATA_H_
    #define GLCHARDATA_H_
    
    #if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000
    
    #include <map>
    #include <hash_map>
    
    #include "./GLInventory.h"
    #include "./GLItem.h"
    #include "./GLQuestPlay.h"
    #include "./GLSkill.h"
    #include "./GLVEHICLE.h"
    
    #include "../../EngineLib/Common/ByteStream.h"
    
    enum EMCHARDATA
    {
    	EMSKILLQUICK_VERSION	= 0x0101,
    	EMSKILLQUICK_SIZE		= 40,
    	EMACTIONQUICK_SIZE		= 6,
    
    	SKILLREALFACT_SIZE		= 14,
    	SKILLFACT_SIZE			= 14,
    
    	EMMAX_CLUB_NUM			= 100,
    gameword.xml
    Code:
    <WORD Ver="1" Id="SKILL_TAB_INFO">
    <VALUE Lang="th" Index="0">F1</VALUE>
    <VALUE Lang="th" Index="1">F2</VALUE>
    <VALUE Lang="th" Index="2">F3</VALUE>
    <VALUE Lang="th" Index="3">F4</VALUE>     // th = strCountry  in param.ini
    </WORD>
    InnerInterface.cpp
    Code:
    if( UIKeyCheck::GetInstance()->Check( DIK_F1, DXKEY_DOWN ) )	
    		m_pSkillTrayTab->SetTabIndex( 0 );
    	if( UIKeyCheck::GetInstance()->Check( DIK_F2, DXKEY_DOWN ) )	
    		m_pSkillTrayTab->SetTabIndex( 1 );
    	if( UIKeyCheck::GetInstance()->Check( DIK_F3, DXKEY_DOWN ) )	
    		m_pSkillTrayTab->SetTabIndex( 2 );
    	if( UIKeyCheck::GetInstance()->Check( DIK_F4, DXKEY_DOWN ) )	
    		m_pSkillTrayTab->SetTabIndex( 3 );
    Keep developing ... good luck
    Last edited by Hibari Kyoya; 12-08-13 at 04:20 PM. Reason: something wrong


  2. #2
    Proficient Member MalwareBytes is offline
    MemberRank
    Mar 2013 Join Date
    RevengeLocation
    197Posts

    Re: How to add more page of SkillTrayTab

    what new interface ? same at share asendure ?

    Quote Originally Posted by MalwareBytes View Post
    what new interface ? same at share asendure ?
    like your signature beside skill lock ? beside F1 like? :D
    sorry for noob

  3. #3
    Apprentice Hibari Kyoya is offline
    MemberRank
    Oct 2012 Join Date
    Bangkok ThailanLocation
    22Posts

    Re: How to add more page of SkillTrayTab

    Quote Originally Posted by MalwareBytes View Post
    what new interface ? same at share asendure ?

    like your signature beside skill lock ? beside F1 like? :D
    sorry for noob
    For the source that Asendure shared , I think that , it's about add unlock and lock buttons and when you click on that button ,it will display some text on the screen .

    for this source it still the old version of interface but you will have more pages which is F4

  4. #4
    zZzZzZz zHadesVII is offline
    MemberRank
    Jun 2013 Join Date
    PhilippinesLocation
    1,038Posts

    Re: How to add more page of SkillTrayTab

    no bro i think he's saying that he like the function on your signature beside F1 and top of unlock/lock button xDD

  5. #5
    Apprentice Hibari Kyoya is offline
    MemberRank
    Oct 2012 Join Date
    Bangkok ThailanLocation
    22Posts

    Re: How to add more page of SkillTrayTab

    Quote Originally Posted by zHadesVII View Post
    no bro i think he's saying that he like the function on your signature beside F1 and top of unlock/lock button xDD
    Guide ! for that button before that you have to create a new skilltraytab but different direction and you hide that first, and when you click on the button then just show the new tab and hide the old tab ..... good luck

  6. #6
    Dark Carnival JerMTheSLayer is offline
    MemberRank
    Jul 2013 Join Date
    316Posts

    Re: How to add more page of SkillTrayTab

    for f1 and rotate its diff. code

    like these?
    ss of terryz
    Screenshot by Lightshot
    Last edited by JerMTheSLayer; 12-08-13 at 03:29 PM.

  7. #7
    Member f30303 is offline
    MemberRank
    May 2011 Join Date
    96Posts

    Re: How to add more page of SkillTrayTab

    change {1, 2, 0, 3} to {1, 2, 3, 0}

  8. #8
    Apprentice Hibari Kyoya is offline
    MemberRank
    Oct 2012 Join Date
    Bangkok ThailanLocation
    22Posts

    Re: How to add more page of SkillTrayTab

    Quote Originally Posted by f30303 View Post
    change {1, 2, 0, 3} to {1, 2, 3, 0}
    ops ! I did not check .

  9. #9
    Account Upgraded | Title Enabled! TheKiller95 is offline
    MemberRank
    Mar 2011 Join Date
    MalaysiaLocation
    297Posts

    Re: How to add more page of SkillTrayTab

    Bug trap when pressing F4 or pressing skills on skill window.
    Any clues ?

    Update : Fixed , wrong number putted haha !! tnx anyway
    Last edited by TheKiller95; 23-10-13 at 10:31 PM.



Advertisement