[JX] Cần Người Làm Hộ Có trả công.!
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Kết quả 1 đến 7 của 7
  1. #1
    Thành Viên
    Ngày tham gia
    May 2012
    Bài viết
    135
    Thanks
    12
    Thanked 20 Times in 17 Posts

    Cần Người Làm Hộ Có trả công.!

    1: code Vạn Lương.
    Trích dẫn Gửi bởi kakalot1 [Only registered and activated users can see links. ]
    PHP Code:
    char szMoneyText[32];
            
    dwColor 0xFFFFFF;
            if (
    m_nMoneyNum 10000)
                
    sprintf(szTextMoney"%d l*îng"m_nMoneyNum);
            else
            {
                if (
    m_nMoneyNum%10000 == 0)
                    
    sprintf(szTextMoney"%d v¹n l*îng"m_nMoneyNum/10000);
                else
                    
    sprintf(szTextMoney"%d v¹n %d l*îng"m_nMoneyNum/10000m_nMoneyNum%10000);
            } 
    đó là code vạn lượng trong source. hiểu nôm na là như thế này
    Nếu số tiền < 10000 thì in ra số tiền + lượng
    ngược lại nếu > 10000 và chia cho 10000 lấy phần dư mà bằng 0 thì đó chính là vạn tức in ra số tiền chia cho 10000 lấy phần nguyên. ngược lại thì phần dư khác 0 thì phần vạn chính là số tiền chia 10000 lấy phần nguyên, phần lượng là số tiền chia cho 10000 lấy phần dư.
    Ví dụ mẫu hiển thị vạn lượng ở hành trang
    Vào S3Client\Ui\Uicase mở file UiItem.cpp lên tìm biến m_Money
    Tìm
    PHP Code:
    void KUiItem::UpdateData()
    {
        
    m_ItemBox.Clear();

        
    m_nMoney g_pCoreShell->GetGameData(GDI_PLAYER_HOLD_MONEY00);
        
    m_Money.SetIntText(m_nMoney);

        
    KUiObjAtRegionpObjs NULL;
        
    int nCount g_pCoreShell->GetGameData(GDI_ITEM_TAKEN_WITH00);
        if (
    nCount == 0)
            return;

        if (
    pObjs = (KUiObjAtRegion*)malloc(sizeof(KUiObjAtRegion) * nCount))
        {
            
    g_pCoreShell->GetGameData(GDI_ITEM_TAKEN_WITH, (unsigned int)pObjsnCount);//µ¥Ïß³ÌÖ´ÐУ¬nCountÖµ²»±ä
            
    for (int i 0nCounti++)
            {
                
    KUiDraggedObject no;
                
    no.uGenre pObjs[i].Obj.uGenre;
                
    no.uId pObjs[i].Obj.uId;
                
    no.DataX pObjs[i].Region.h;
                
    no.DataY pObjs[i].Region.v;
                
    no.DataW pObjs[i].Region.Width;
                
    no.DataH pObjs[i].Region.Height;
                
    m_ItemBox.AddObject(&no1);
            }
            
    free(pObjs);
            
    pObjs NULL;
        }

    thay đoạn m_Money.SetIntText(m_nMoney); bằng đoạn
    PHP Code:
    char szMoneyText[50];
        if (
    m_nMoney 10000)
            
    sprintf(szMoneyText"%d l*îng"m_nMoney);
        else
        {
            if (
    m_nMoney%10000 == 0)
                
    sprintf(szMoneyText"%d v¹n l*îng"m_nMoney/10000);
            else
                
    sprintf(szMoneyText"%d v¹n %d l*îng"m_nMoney/10000m_nMoney%10000);
        }
        
    m_Money.SetText(szMoneyText); 
    build lại S3Client rồi vào game test

    Build soucre thì [Only registered and activated users can see links. ]

    Nguồn: Cybergamevn











    2: fife lỗi Skin Rồng cái Bang Không Ra Rồng , NgaMy Phong Sương Dánh có 1 Tia ....v.v.v.v..





    3: Vòng Sáng trang Bị.

    Trích dẫn Gửi bởi 666225

    Demo:


    Code:

    [1] Khai báo các biến và các hàm
    Code:
        int m_color ;
        int m_time ;
        int n_mpoint;
        int m_count[8];
        unsigned int m_nColor;
        int GetRectItem(int _w, int _h);
        void DrawPoint(int x, int y, unsigned int wColor);
        void DrawLight(int x, int y, int _w, int _h, int unit, int unitboder);
    [2] Các hàm draw vòng sáng
    Code:
    int KWndObjectMatrix::GetRectItem(int _w, int _h)
    {
        int i;
        if       (_w == 1 && _h == 1) i = 0;
        else if(_w == 1 && _h == 2) i = 1;
        else if(_w == 1 && _h == 3) i = 2;
        else if(_w == 1 && _h == 4) i = 3;
        else if(_w == 1 && _h == 5) i = 4;
        else if(_w == 2 && _h == 1) i = 5;
        else if(_w == 2 && _h == 2) i = 6;
        else if(_w == 2 && _h == 3) i = 7;
        return i;
    }
    
    
    void KWndObjectMatrix::DrawPoint(int x, int y, unsigned int wColor)
    {
        KRUPoint Rect;
        Rect.Color.Color_dw = wColor;
        Rect.oPosition.nX = x;
        Rect.oPosition.nY = y;
        Rect.oPosition.nZ = 0;
        g_pRepresentShell->DrawPrimitives(1, &Rect, RU_T_POINT, true);
    }
    
    void KWndObjectMatrix::DrawLight(int x, int y, int _w, int _h, int unit, int unitboder)
    {
        int r_color = 1; // 1::Yellow, 2::Purple, 3::White 
        x = x - 1;
        y = y - 1;
        int w = _w*unit - unitboder*2 + 1;
        int h = _h*unit - unitboder*2 + 1;
        int nX = x + w;
        int nY = y + h;
        int i = 0;
        int j = 0;
        int n_point = w + h;
        int a[400];
        int m_pb = 268/(w + h);
        int color = 255;
        for(i;i<2*n_point;i++)
        {
            if(color>=0)
            {
            a[i] = color;
            color = color - m_pb;
            }
            else
            {
                a[i] = 0;
            }
            if(i==n_point)
                color = 255;
        }
    
        i = m_count[GetRectItem( _w, _h)];
    
        while (y < nY)
        {
            if(r_color == 1) // yellow
            {
                m_nColor = 0xFF000000 | a[i] << 16 |  a[i] << 8 | 0;
            }
            else if(r_color == 2) //purple
            {
                m_nColor = 0xFF000000 | a[i] << 16 | 0 | a[i] << 0;
            }
            else if(r_color == 3) //white
            {
                m_nColor = 0xFF000000 | a[i] << 16 |  a[i] << 8 | a[i] << 0;
            }
            this->DrawPoint(x+w,nY,m_nColor);
            this->DrawPoint(x,y+j,m_nColor);
            nY = nY - 1;
            i++;
            j++;
            if(i == n_point) i=0;
            if(m_count[GetRectItem( _w, _h)] >= n_point) m_count[GetRectItem( _w, _h)] = 0;
        }
    
        j=0;
        i = m_count[GetRectItem( _w, _h)] + h;
        
        while (x < nX)
        {
            if(r_color == 1) // yellow
            {
                m_nColor = 0xFF000000 | a[i] << 16 |  a[i] << 8 | 0;
            }
            else if(r_color == 2) //purple
            {
                m_nColor = 0xFF000000 | a[i] << 16 | 0 | a[i] << 0;
            }
            else if(r_color == 3) //white
            {
                m_nColor = 0xFF000000 | a[i] << 16 |  a[i] << 8 | a[i] << 0;
            }
            this->DrawPoint(nX,y,m_nColor);
            this->DrawPoint(x + j,y+h,m_nColor);
            nX = nX - 1;
            i=i+1;
            j=j+1;
            if(i == n_point) i=0;
            if(m_count[GetRectItem( _w, _h)] >= n_point) m_count[GetRectItem( _w, _h)] = 0;
        }
    }
    [3] Cách sử dụng
    Code:
    void KWndObjectMatrix::PaintWindow()
    {
        ++m_time;
        
        if (m_time % 4 == 0)
        {    
            for(int i =0;i<8;i++)
                ++m_count[i];
        }
    
        KWndWindow::PaintWindow();
        KRUShadow    Shadow;
        for (int i = 0; i < m_nNumObjects; i++)
        {
            KUiDraggedObject* pObj = &m_pObjects[i];
            Shadow.Color.Color_dw = 0;
            if (i == REPLACE_ITEM_INDEX(m_nPutPosX))
                Shadow.Color.Color_dw = l_BgColors[4];
            else if ((m_Style & OBJCONT_F_MOUSE_HOVER) && m_nMouseOverObj == i)
                Shadow.Color.Color_dw = l_BgColors[3];
            else if (m_Style & OBJCONT_S_HAVEOBJBGCOLOR)
            {
                KUiObjAtContRegion    Obj;
                Obj.Obj.uGenre = pObj->uGenre;
                Obj.Obj.uId = pObj->uId;
                Obj.Region.h = Obj.Region.v = 0;
                Obj.Region.Width = Obj.Region.Height = 0;
                Obj.nContainer = m_nContainerId;
    
                ITEM_IN_ENVIRO_PROP eProp = (ITEM_IN_ENVIRO_PROP)g_pCoreShell->
                    GetGameData(GDI_ITEM_IN_ENVIRO_PROP, (unsigned int)&Obj, 0);
                if (eProp == IIEP_NORMAL)
                    Shadow.Color.Color_dw = l_BgColors[0];
                else if (eProp == IIEP_NOT_USEABLE)
                    Shadow.Color.Color_dw = l_BgColors[1];
                else if (eProp == IIEP_SPECIAL)
                    Shadow.Color.Color_dw = l_BgColors[2];
            }
    
            int width = m_nUnitWidth * pObj->DataW - m_nUnitBorder * 2;
            int height = m_nUnitHeight * pObj->DataH - m_nUnitBorder * 2;
            Shadow.oPosition.nX = m_nAbsoluteLeft + m_nUnitWidth * pObj->DataX + m_nUnitBorder;
            Shadow.oPosition.nY = m_nAbsoluteTop + m_nUnitHeight * pObj->DataY + m_nUnitBorder;
            if (Shadow.Color.Color_dw)
            {
                Shadow.oEndPos.nX = Shadow.oPosition.nX + width;
                Shadow.oEndPos.nY = Shadow.oPosition.nY + height;
                g_pRepresentShell->DrawPrimitives(1, &Shadow, RU_T_SHADOW, true);
            }
    
            g_pCoreShell->DrawGameObj(pObj->uGenre, pObj->uId, Shadow.oPosition.nX, Shadow.oPosition.nY, width, height, 0);
            this->DrawLight(Shadow.oPosition.nX,Shadow.oPosition.nY, pObj->DataW, pObj->DataH , m_nUnitWidth, m_nUnitBorder);
            
        }
        if (m_nPutPosX >= 0)
        {
            Shadow.oPosition.nX = m_nAbsoluteLeft + m_nUnitWidth * m_nPutPosX + m_nUnitBorder;
            Shadow.oPosition.nY = m_nAbsoluteTop + m_nUnitHeight * m_nPutPosY + m_nUnitBorder;
            Shadow.oEndPos.nX = Shadow.oPosition.nX + m_nUnitWidth * m_nPutWidth - m_nUnitBorder * 2;
            Shadow.oEndPos.nY = Shadow.oPosition.nY + m_nUnitHeight * m_nPutHeight - m_nUnitBorder * 2;
            Shadow.Color.Color_dw = l_BgColors[4];
            g_pRepresentShell->DrawPrimitives(1, &Shadow, RU_T_SHADOW, true);
        }
    }
    [4] Gợi ý phân loại Item cho ai chưa bik làm
    Down code item do trananh share, thả vào source. thêm và KItem.h hàm
    Code:
    int        GetType() const { return m_CommonAttrib.m_nTypeItem; };
    Vào CoreShell tìm và khai báo CoreShell.h
    Code:
    virtual int GetItemType(int nID) = 0;
    thêm hàm vào CoreShell.cpp
    Code:
    int    KCoreShell::GetItemType(int nID)
    {
        return Item[nID].GetType();
    }
    cách dùng tự hiểu nhé ^^



    Mì ăn liền:
    [Only registered and activated users can see links. ]


    Ai ko làm đc thì múc file về máy sài. ko spam hỏi linh tinh.
    Khách viếng thăm hãy cùng ciabop xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. #2
    Thành Viên
    Ngày tham gia
    May 2012
    Bài viết
    316
    Thanks
    10
    Thanked 80 Times in 36 Posts

    Ðề: Cần Người Làm Hộ Có Chả công.!

    cái này buill trong source code.
    Khách viếng thăm hãy cùng tam241992 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  3. #3
    Thành Viên Tâm Huyết KingMax's Avatar
    Ngày tham gia
    Dec 2010
    Bài viết
    642
    Thanks
    143
    Thanked 321 Times in 125 Posts

    Ðề: Cần Người Làm Hộ Có Chả công.!

    1 - 3 : source rồi thêm đoạn code vào theo hướng dẫn
    2 : lỗi missle.txt hoặc skills.txt khai báo sai id childmissle hoặc skill trùng id missle nên không hiển thị hih ảnh kỹ năng
    Comeback JXP

  4. #4
    Thành Viên
    Ngày tham gia
    May 2012
    Bài viết
    135
    Thanks
    12
    Thanked 20 Times in 17 Posts

    Ðề: Cần Người Làm Hộ Có Chả công.!

    Trích dẫn Gửi bởi KingMax [Only registered and activated users can see links. ]
    1 - 3 : source rồi thêm đoạn code vào theo hướng dẫn
    2 : lỗi missle.txt hoặc skills.txt khai báo sai id childmissle hoặc skill trùng id missle nên không hiển thị hih ảnh kỹ năng
    câu hướng dẫn đc k ? k cậu giúp mình cũng đc mình chả công!
    Khách viếng thăm hãy cùng ciabop xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  5. #5
    ♔YONKOU♔ Edward_Newgate's Avatar
    Ngày tham gia
    Nov 2010
    Bài viết
    2,773
    Thanks
    533
    Thanked 1,059 Times in 655 Posts

    Ðề: Cần Người Làm Hộ Có Chả công.!

    Trích dẫn Gửi bởi ciabop [Only registered and activated users can see links. ]
    câu hướng dẫn đc k ? k cậu giúp mình cũng đc mình chả công!
    Bạn hiểu thế này nhé
    Có thang điểm 10
    AWJX cho là mức 7 đi
    Nếu bạn build lại server có các chức năng kia thì sẽ chỉ đc mức 2 3 điểm thôi
    Vì sẽ phải build lại nhiều chức năng khác
    Chứ không phải cứ từ server cũ thêm vào được đâu
    Cho nên là tiền đi thuê thì bạn bỏ công ra học C++, tìm mấy tài liệu hướng dẫn build, tải source về rồi edit như các bài hướng dẫn.
    Thế thì mới được server tạm tạm đc.
    STRONGEST MAN

  6. #6
    Thành Viên
    Ngày tham gia
    May 2012
    Bài viết
    135
    Thanks
    12
    Thanked 20 Times in 17 Posts

    Ðề: Cần Người Làm Hộ Có Chả công.!

    Trích dẫn Gửi bởi Edward_Newgate [Only registered and activated users can see links. ]
    Bạn hiểu thế này nhé
    Có thang điểm 10
    AWJX cho là mức 7 đi
    Nếu bạn build lại server có các chức năng kia thì sẽ chỉ đc mức 2 3 điểm thôi
    Vì sẽ phải build lại nhiều chức năng khác
    Chứ không phải cứ từ server cũ thêm vào được đâu
    Cho nên là tiền đi thuê thì bạn bỏ công ra học C++, tìm mấy tài liệu hướng dẫn build, tải source về rồi edit như các bài hướng dẫn.
    Thế thì mới được server tạm tạm đc.
    source cậu có lick dow nào nhanh nhanh k to dow 5 tieng den bao h moi song(
    Khách viếng thăm hãy cùng ciabop xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  7. #7
    Super Moderator thaihoa91's Avatar
    Ngày tham gia
    Apr 2008
    Bài viết
    12,110
    Thanks
    662
    Thanked 3,168 Times in 1,602 Posts

    Ðề: Cần Người Làm Hộ Có Chả công.!

    Trích dẫn Gửi bởi ciabop [Only registered and activated users can see links. ]
    source cậu có lick dow nào nhanh nhanh k to dow 5 tieng den bao h moi song(
    Chẳng fải đã có link mediafire sao @@ [Only registered and activated users can see links. ]
    Khách viếng thăm hãy cùng thaihoa91 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 

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à 03:58 AM.
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ệ.