[JX] Source code - Hàm Say version 2
Hello & Welcome to our community. Is this your first visit? Đăng Ký
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Trang 1 của 5 1 2 3 ... CuốiCuối
Kết quả 1 đến 10 của 50
  1. #1
    Thành Viên thienthanden2's Avatar
    Ngày tham gia
    Jun 2007
    Đang ở
    Thiên đường đã lỡ...
    Bài viết
    217
    Thanks
    14
    Thanked 183 Times in 73 Posts

    Source code - Hàm Say version 2

    Dear All!
    Hôm nay mình xin hướng dẫn source newbie làm bảng Say2 (nói chuyện có hình).
    [Only registered and activated users can see links. ]
    Đầu tiên thì các bạn cần thiết lập file ini trong thư mục Ui\UI3\ cho phù hợp với source của các bạn.
    Tiếp theo tạo ra 2 file UiMsgSel2.h và và UiMsgSel2.cpp bằng cách copy từ file gốc UiMsgSel.h và UiMsgSel.cpp, replace cụm từ uimsgsel bằng uimsgsel2.
    Bây giờ tiến hành làm:
    1.File \JX\swrod3\SwordOnline\Sources\Core\Src\GameDataDe f.h
    Gần struct KUiQuestionAndAnswer thêm:
    PHP Code:
    struct KUiNpcSpr
    {
        
    char                ImageFile[128];
        
    unsigned short         MaxFrame;
    }; 
    2. File \JX\swrod3\SwordOnline\Headers\KProtocol.h
    Tìm struct PLAYER_SCRIPTACTION_SYNC thêm 1 biến m_Select
    PHP Code:
    typedef struct
    {
        
    BYTE    ProtocolType;
        
    WORD    m_wProtocolLong;
        
    BYTE    m_nOperateType;                //操作类型
        
    BYTE    m_bUIIdm_bOptionNumm_bParam1m_bParam2m_Select;// chỉ thêm 1 biến ở dòng này
        
    int        m_nParam;
        
    int        m_nBufferLen;
        
    char    m_pContent[MAX_SCIRPTACTION_BUFFERNUM];                //带控制符
    PLAYER_SCRIPTACTION_SYNC
    3.File \JX\swrod3\SwordOnline\Sources\Core\Src\ScriptFuns .cpp
    Tìm và thêm 1 hàm vào gần hàm Say như thế này:
    PHP Code:
    {"Say"LuaSelectUI},
        {
    "Say2"LuaSaySPR}, 
    Tạo hàm LuaSaySPR y chang hàm LuaSelectUI
    Tại hàm LuaSelectUI Tìm và thêm biến mới tạo lúc nãy vào như thế này:
    PHP Code:
    PLAYER_SCRIPTACTION_SYNC UiInfo;
        
    UiInfo.m_bUIId UI_SELECTDIALOG;
        
    UiInfo.m_bParam1 nDataType;//主信息的类型,字符串(0)或数字(1)
        
    UiInfo.m_bOptionNum nOptionNum;
        
    UiInfo.m_nOperateType SCRIPTACTION_UISHOW;
        
    UiInfo.m_Select 0//Từ nay 0 là Say, 1 là Say2 
    Tương tự tại hàm LuaSaySPR mới tạo:
    PHP Code:
    PLAYER_SCRIPTACTION_SYNC UiInfo;
        
    UiInfo.m_bUIId UI_SELECTDIALOG;
        
    UiInfo.m_bParam1 nDataType;//主信息的类型,字符串(0)或数字(1)
        
    UiInfo.m_bOptionNum nOptionNum;
        
    UiInfo.m_nOperateType SCRIPTACTION_UISHOW;
        
    UiInfo.m_Select 1//Say2 
    Vậy là đã có 1 hàm lua mới rồi, bây giờ mình bắt đầu xử lý hàm đó.
    4.File \JX\swrod3\SwordOnline\Sources\Core\Src\KPlayer.h
    Tìm chỗ nào có public: thì thêm biến vào:
    PHP Code:
    #ifndef _SERVER
        
    int                m_nImageNpcID//id npc
    #endif 
    5.File \JX\swrod3\SwordOnline\Sources\Core\Src\KPlayer.cp p
    Hàm void KPlayer::Release()
    PHP Code:
    void    KPlayer::Release()
    {
    #ifndef _SERVER
        
    m_RunStatus 0;
        
    m_dwNextLevelLeadExp 0;
        
    m_nLeftSkillID 0;
        
    m_nLeftSkillLevel 0;
        
    m_nRightSkillID 0;
        
    m_nRightSkillLevel 0;
        
    m_nSendMoveFrames defMAX_PLAYER_SEND_MOVE_FRAME;
        
    m_MouseDown[0] = FALSE;
        
    m_MouseDown[1] = FALSE;
        
    m_nImageNpcID 0//khởi tạo
    #endif 
    Tìm và sửa cái hàm này
    PHP Code:
    void KPlayer::FindSelectNpc(int xint yint nRelation)
    {
        
    int    nNpcIdx 0;
        
        
    nNpcIdx NpcSet.SearchNpcAt(xynRelation40);
        
        if (
    nNpcIdx)
            {
            
    m_nPeapleIdx nNpcIdx;
            
    m_nImageNpcID nNpcIdx// chỉ thêm có dòng này thui
            
    }
        else
            
    m_nPeapleIdx 0;

    Tiếp theo tìm hàm này void KPlayer::OnScriptAction(PLAYER_SCRIPTACTION_SYNC * pMsg) sẽ thấy ngay case UI_SELECTDIALOG, thêm vào 1 ít code như sau, mình chỉ thêm mấy dòng có chú thích và đoạn ***** mà thôi:
    PHP Code:
    case UI_SELECTDIALOG://通知客户端显示选择窗口
                    
    {
                        
    KUiQuestionAndAnswer    *pQuest NULL;
                        
    KUiNpcSpr                *pImage NULL// thêm dòng này
                            
                        
    if (pScriptAction->m_nBufferLen <= 0) break;
                        
                        if (
    pScriptAction->m_bOptionNum <= 0)
                            
    pQuest = (KUiQuestionAndAnswer *)malloc(sizeof(KUiQuestionAndAnswer));
                        else
                            
    pQuest = (KUiQuestionAndAnswer *)malloc(sizeof(KUiQuestionAndAnswer) + sizeof(KUiAnswer) * (pScriptAction->m_bOptionNum 1));
                             
    pImage = (KUiNpcSpr *)malloc(sizeof(KUiNpcSpr)); // thêm dòng này
                        
    char strContent[1024];
                        
    char pAnswer NULL;
                        
    pQuest->AnswerCount 0;
                        
    //主信息为字符串
                        
    if (pScriptAction->m_bParam1 == 0)
                        {
                            
    g_StrCpyLen(strContentpScriptAction->m_pContent,  pScriptAction->m_nBufferLen 1);
                            
    pAnswer strstr(strContent"|");
                            if (!
    pAnswer)
                            {
                                
    pScriptAction->m_bOptionNum 0;
                                
    pQuest->AnswerCount 0;
                            }
                            else
                                *
    pAnswer++ = 0;
                            
                            
    g_StrCpyLen(pQuest->QuestionstrContentsizeof(pQuest->Question));
                            
    pQuest->QuestionLen TEncodeText(pQuest->Questionstrlen(pQuest->Question));
                        }
                        
    //主信息为数字标识
                        
    else 
                        {
                            
    g_StrCpyLen(pQuest->Questiong_GetStringRes(*(int *)pScriptAction->m_pContentszString1000), sizeof(pQuest->Question));
                            
    pQuest->QuestionLen TEncodeText(pQuest->Questionstrlen(pQuest->Question));
                            
                            
    g_StrCpyLen(strContentpScriptAction->m_pContent sizeof(int), pScriptAction->m_nBufferLen sizeof(int) + 1);
                            
    pAnswer strContent 1;
                        }
                        
                        for (
    int i 0pScriptAction->m_bOptionNum++)
                        {
                            
    char pNewAnswer strstr(pAnswer"|");
                            
                            if (
    pNewAnswer)
                            {
                                *
    pNewAnswer 0;
                                
    strcpy(pQuest->Answer[i].AnswerTextpAnswer);
                                
    pQuest->Answer[i].AnswerLen = -1;
                                
    pAnswer pNewAnswer 1;
                            }
                            else
                            {
                                
    strcpy(pQuest->Answer[i].AnswerTextpAnswer);
                                
    pQuest->Answer[i].AnswerLen = -1;
                                
    pQuest->AnswerCount 1;
                                break;
                            }
                        }
                        
                        
    g_bUISelIntelActiveWithServer pScriptAction->m_bParam2;
                        
    g_bUISelLastSelCount pQuest->AnswerCount;
                        
    /*******************************************Code by thienthanden2*******************************************************/
                        
    if (m_nImageNpcID)
                        {
                        
    char szBuffer[128];
                        for (
    int i 016i++)
                            { 
    Npc[m_nImageNpcID].GetNpcRes()->m_pcResNode->GetFileName(i30""szBuffersizeof(szBuffer));
                            if (
    szBuffer[0])
                                {
                                
    strcpy(pImage->ImageFileszBuffer);
                                
    pImage->MaxFrame = (Npc[m_nImageNpcID].GetNpcRes()->m_pcResNode->GetTotalFrames(i3016))/
                                (
    Npc[m_nImageNpcID].GetNpcRes()->m_pcResNode->GetTotalDirs(i3016)); goto Next;
                                }
                            }
                        for (
    int j 016j++)
                            { 
                             
    Npc[m_nImageNpcID].GetNpcRes()->m_pcResNode->GetFileName(j00""szBuffersizeof(szBuffer));
                            if (
    szBuffer[0])
                                {
                                
    strcpy(pImage->ImageFileszBuffer);
                                
    pImage->MaxFrame = (Npc[m_nImageNpcID].GetNpcRes()->m_pcResNode->GetTotalFrames(j0016))/
                                (
    Npc[m_nImageNpcID].GetNpcRes()->m_pcResNode->GetTotalDirs(j0016)); goto Next;
                                }
                            }
                        
                        }
                        
    Next:
                        if (
    pScriptAction->m_Select == && m_nImageNpcID)
                        
    CoreDataChanged(GDCNI_QUESTION_CHOOSE,(unsigned intpQuest, (int) pImage);
                        else 
    CoreDataChanged(GDCNI_QUESTION_CHOOSE,(unsigned intpQuest0);
                           
    free(pImage);
                        
    pImage NULL;
                        
    /******************************************Kết thúc********************************************************/
                        
                        
    free(pQuest);
                        
    pQuest NULL;
                    }
                    break; 
    6.File \JX\swrod3\SwordOnline\Sources\S3Client\Ui\GameSpa ceChangedNotify.cpp
    inlude thêm vào:
    PHP Code:
    #include "UiCase/UiMsgSel.h"
    #include "UiCase/UiMsgSel2.h"//tìm cái kia và inlude cái này kế bên 
    Tìm case GDCNI_QUESTION_CHOOSE và sửa lại:
    PHP Code:
    case GDCNI_QUESTION_CHOOSE:
            {
            if (
    nParam)
            
    KUiMsgSel2::OpenWindow((KUiQuestionAndAnswer*)uParam, (KUiNpcSpr*)nParam);
            else 
    KUiMsgSel::OpenWindow((KUiQuestionAndAnswer*)uParam);
            }break; 
    7.File \JX\swrod3\SwordOnline\Sources\S3Client\Ui\Elem\Wn dImage.h
    Khai báo thêm 1 hàm void SetMaxFrame(int nMaxFrame);
    8.File \JX\swrod3\SwordOnline\Sources\S3Client\Ui\Elem\Wn dImage.cpp
    Nãy mới tạo hàm thì giờ xử lý hàm:
    PHP Code:
    void KWndImage::SetMaxFrame(int nMaxFrame)
    {
        
    m_Image.nNumFrames nMaxFrame;

    9.1.Giai đoạn cuối File UiMsgSel2.h mới tạo ở đầu trang
    Sửa lại thông số cho hàm static KUiMsgSel2* OpenWindow(KUiQuestionAndAnswer* pContent, KUiNpcSpr* pImage); //thêm param thứ 2
    Khai báo thêm 1 biến chứa hình ảnh npc:
    PHP Code:
    KWndImage            m_NpcSpr
    9.2. File UiMsgSel2.cpp mới tạo
    Sửa lại hàm openwindow và 1 số thứ:
    PHP Code:
    #define    SCHEME_INI    "Say2Fun.ini" //Sửa đường dẫn file ini cho phù hợp với source của các bạn, file ini do các bạn tạo ra từ file ini có sẵn của hàm Say 
    PHP Code:
    KUiMsgSel2KUiMsgSel2::OpenWindow(KUiQuestionAndAnswerpContentKUiNpcSpr *pImage)
    {
        if (
    m_pSelf == NULL)
        {
            
    m_pSelf = new KUiMsgSel2;
            if (
    m_pSelf)
            {
                
    m_pSelf->Initialize();
                
    m_pSelf->m_NpcSpr.SetImage(ISI_T_SPR,pImage->ImageFile,true);
                
    int nWidthnHeight;
                
    m_pSelf->m_NpcSpr.GetSize(&nWidth,  &nHeight);
                
    m_pSelf->m_NpcSpr.SetPosition(80 -nWidth/280 -nHeight/2);
                
    m_pSelf->m_NpcSpr.SetMaxFrame(pImage->MaxFrame);
            }
        }
        if (
    m_pSelf)
        {    
    m_pSelf->m_NpcSpr.SetImage(ISI_T_SPR,pImage->ImageFile,true);
            
    int nWidthnHeight;
            
    m_pSelf->m_NpcSpr.GetSize(&nWidth,  &nHeight);
            
    m_pSelf->m_NpcSpr.SetPosition(80 -nWidth/280 -nHeight/2);
            
    m_pSelf->m_NpcSpr.SetMaxFrame(pImage->MaxFrame);
            
    UiSoundPlay(UI_SI_WND_OPENCLOSE);
            
    m_pSelf->BringToTop();
            
    m_pSelf->Show(pContent);
        }
        return 
    m_pSelf;

    PHP Code:
    int KUiMsgSel2::Initialize()
    {    
        
    AddChild(&m_NpcSpr); // dòng thêm
        
    AddChild(&m_MsgScrollList);    
        
    AddChild(&m_InfoText);
        
    m_Style &= ~WND_S_VISIBLE;
        
    Wnd_AddWindow(thisWL_TOPMOST);

        
    char Scheme[256];
        
    g_UiBase.GetCurSchemePath(Scheme256);
        
    LoadScheme(Scheme);

        return 
    true;

    PHP Code:
    void KUiMsgSel2::LoadScheme(const charpScheme)
    {
        if (
    m_pSelf == NULL)
            return;
        
    char        Buff[128];
        
    KIniFile    Ini;
        
    sprintf(Buff"%s\\"SCHEME_INIpScheme);
        if (
    Ini.Load(Buff))
        {
            
    m_pSelf->Init(&Ini"Main");
            
    m_pSelf->m_MsgScrollList.Init(&Ini"Select");
            
    m_pSelf->m_InfoText.Init(&Ini"InfoText");
            
    m_pSelf->m_NpcSpr.Init(&Ini"NpcSpr"); // dòng này là khởi tạo theo file ini, khỏi cũng được
        
    }

    PHP Code:
    void KUiMsgSel2::Breathe()
    {    if (
    m_NpcSpr.IsVisible())
            
    m_NpcSpr.NextFrame();        //thêm
        
    if (m_bAutoUp)
        {
            if (
    IR_IsTimePassed(200m_uLastScrollTime))
            {
                
    ChangeCurSel(false);
                
    m_uLastScrollTime IR_GetCurrentTime();
            }
        }

        if (
    m_bAutoDown)
        {
            if (
    IR_IsTimePassed(200m_uLastScrollTime))
            {
                
    ChangeCurSel(true);
                
    m_uLastScrollTime IR_GetCurrentTime();
            }
        }

    He he đến đây các bạn đã hoàn thành, build core và client lại. Bây giờ các bạn có thể Say2 với bất cứ Npc nào rồi. Vẫn còn 1 thanh cuộn các bạn phải thêm vào ở infotext nếu muốn giống VNG. Cũng rất đơn giản, chỉ cần xem các Ui có thanh cuộn và làm theo. Chúc các bạn thành công!
    Lần sửa cuối bởi thienthanden2, ngày 29-01-13 lúc 01:53 PM.
    Khách viếng thăm hãy cùng thienthanden2 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. The Following 27 Users Say Thank You to thienthanden2 For This Useful Post:

    assaa (30-01-13), bitibita (17-05-13), Bybaybong (14-02-13), chaoban6 (01-07-13), dv911 (29-01-13), Edward_Newgate (30-01-13), GoldenPhoenix (29-01-13), greentears (29-01-13), HeavenGames (13-02-13), heocon246 (29-01-13), J4cksparrow (31-01-13), jxvietnam (29-01-13), kbgqedtt (16-05-13), lkusa1992 (31-01-13), loianhhua003 (29-01-13), nguyennhan718 (29-01-13), nh0xthien (05-06-13), nhoxmap_b7 (29-01-13), radise (31-01-13), satthupro95 (31-01-13), thaihoa91 (29-01-13), thanhtunghk (31-01-13), thongnhata12 (21-02-13), trananh88vt (30-01-13), vipprolc (29-01-13), Vo Le (13-06-13), yukite26 (26-03-13)

  3. #2
    Thành Viên
    Ngày tham gia
    Jul 2011
    Bài viết
    522
    Thanks
    269
    Thanked 308 Times in 196 Posts

    Ðề: Source code - Hàm Say version 2.

    pro nào mới xuất hiện
    .........................................
    Khách viếng thăm hãy cùng greentears xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  4. #3
    Thành Viên Tâm Huyết assaa's Avatar
    Ngày tham gia
    Jul 2009
    Bài viết
    915
    Thanks
    271
    Thanked 416 Times in 236 Posts

    Ðề: Source code - Hàm Say version 2.

    Cách sử dụng hình ảnh npc trên bảng say này có giống bên CBT ko bạn. có thể hd cách hiển thị được ko bạn
    Khách viếng thăm hãy cùng assaa xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  5. #4
    Thành Viên thienthanden2's Avatar
    Ngày tham gia
    Jun 2007
    Đang ở
    Thiên đường đã lỡ...
    Bài viết
    217
    Thanks
    14
    Thanked 183 Times in 73 Posts

    Ðề: Source code - Hàm Say version 2.

    Trích dẫn Gửi bởi assaa [Only registered and activated users can see links. ]
    Cách sử dụng hình ảnh npc trên bảng say này có giống bên CBT ko bạn. có thể hd cách hiển thị được ko bạn
    Tự động nó có hình rùi, ko cần thiết lập gì thêm. Nhưng muốn hoàn thiện phải đọc hiểu và chỉnh source lại theo ý mình
    Khách viếng thăm hãy cùng thienthanden2 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  6. #5
    Moderator
    Ngày tham gia
    May 2009
    Đang ở
    Nơi rất xa
    Bài viết
    2,479
    Thanks
    572
    Thanked 1,847 Times in 502 Posts

    Ðề: Source code - Hàm Say version 2.

    nếu rãnh thì hd làm cái pass rương nhập số từ bàn phím luôn nha bạn
    Khách viếng thăm hãy cùng jxvietnam xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  7. #6
    Thành Viên
    Ngày tham gia
    Aug 2012
    Bài viết
    174
    Thanks
    24
    Thanked 96 Times in 34 Posts

    Ðề: Source code - Hàm Say version 2.

    chia sẻ thế này thì ai cũng tự làm cho mình 1 sever đc rồi
    Khách viếng thăm hãy cùng radise xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  8. #7
    Thành Viên thienthanden2's Avatar
    Ngày tham gia
    Jun 2007
    Đang ở
    Thiên đường đã lỡ...
    Bài viết
    217
    Thanks
    14
    Thanked 183 Times in 73 Posts

    Ðề: Source code - Hàm Say version 2.

    Trích dẫn Gửi bởi jxvietnam [Only registered and activated users can see links. ]
    nếu rãnh thì hd làm cái pass rương nhập số từ bàn phím luôn nha bạn
    Pass rương mình làm rồi, nhưng code lằn nhằn phức tạp quá nên ko viết tut đc. Mấy cái phức tạp thì có lẽ phải tùy vào sự tìm tòi của mỗi người thui.
    Khách viếng thăm hãy cùng thienthanden2 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  9. #8
    Thành Viên
    Ngày tham gia
    Dec 2012
    Bài viết
    428
    Thanks
    9
    Thanked 123 Times in 84 Posts

    Ðề: Source code - Hàm Say version 2.

    Trích dẫn Gửi bởi thienthanden2 [Only registered and activated users can see links. ]
    Pass rương mình làm rồi, nhưng code lằn nhằn phức tạp quá nên ko viết tut đc. Mấy cái phức tạp thì có lẽ phải tùy vào sự tìm tòi của mỗi người thui.
    cho mì ăn liền iđ

    cái này là nó tự thay đổi theo npc luôn àh vị dú lick vào npc nào là ra hình npc đó hả
    Lần sửa cuối bởi Bi_Dep_Trai, ngày 31-01-13 lúc 06:34 PM.
    Khách viếng thăm hãy cùng Bi_Dep_Trai xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  10. #9
    Thành Viên thienthanden2's Avatar
    Ngày tham gia
    Jun 2007
    Đang ở
    Thiên đường đã lỡ...
    Bài viết
    217
    Thanks
    14
    Thanked 183 Times in 73 Posts

    Ðề: Source code - Hàm Say version 2.

    Trích dẫn Gửi bởi Bi_Dep_Trai [Only registered and activated users can see links. ]
    cho mì ăn liền iđ

    cái này là nó tự thay đổi theo npc luôn àh vị dú lick vào npc nào là ra hình npc đó hả
    Chính xác là vậy, đọc hiểu code là biết rồi. Tuy nhiên các bạn cần lấy ID ở hàm OnButtonDown thì chính xác hơn hàm FindSelectNpc. Nói chung phải linh hoạt mà tùy chỉnh. Đây chỉ là hướng dẫn cơ bản mà thôi.
    Khách viếng thăm hãy cùng thienthanden2 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  11. #10
    Thành Viên
    Ngày tham gia
    Jan 2013
    Bài viết
    13
    Thanks
    2
    Thanked 3 Times in 3 Posts

    Ðề: Source code - Hàm Say version 2.

    Trích dẫn Gửi bởi thienthanden2 [Only registered and activated users can see links. ]
    Chính xác là vậy, đọc hiểu code là biết rồi. Tuy nhiên các bạn cần lấy ID ở hàm OnButtonDown thì chính xác hơn hàm FindSelectNpc. Nói chung phải linh hoạt mà tùy chỉnh. Đây chỉ là hướng dẫn cơ bản mà thôi.

    pro hướng dẫn làm mua số lượng đi
    Khách viếng thăm hãy cùng Smile68 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 
Trang 1 của 5 1 2 3 ... CuốiCuối

Các Chủ đề tương tự

  1. [JX] [Develop/Release] Share Full Source Version VC8/vS2005 (EB-Team)
    Bởi HeavenGames trong diễn đàn Guides - Kho Lưu trữ
    Trả lời: 46
    Bài viết cuối: 18-08-21, 03:31 PM
  2. Có Source code hải tặc 2 chưa
    Bởi kakaknight12 trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 3
    Bài viết cuối: 18-03-13, 06:06 PM
  3. [JX] source code mã khóa nhân vật
    Bởi hero100 trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 2
    Bài viết cuối: 18-02-13, 11:51 AM
  4. [Gunny] [DDTank 3.0] Share Source MySQL Version
    Bởi HeavenGames trong diễn đàn Releases
    Trả lời: 3
    Bài viết cuối: 22-07-12, 09:58 PM
  5. Share code MUCore™ Engine Version 1.0.6
    Bởi vothailam trong diễn đàn SQL Server & Website
    Trả lời: 8
    Bài viết cuối: 17-09-11, 12:05 PM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 08:36 PM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.