PDA

View Full Version : [JX] Cần Người Làm Hộ Có trả công.!



ciabop
23-09-12, 10:38 PM
1: code Vạn Lương.


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/10000, m_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

void KUiItem::UpdateData()
{
m_ItemBox.Clear();

m_nMoney = g_pCoreShell->GetGameData(GDI_PLAYER_HOLD_MONEY, 0, 0);
m_Money.SetIntText(m_nMoney);

KUiObjAtRegion* pObjs = NULL;
int nCount = g_pCoreShell->GetGameData(GDI_ITEM_TAKEN_WITH, 0, 0);
if (nCount == 0)
return;

if (pObjs = (KUiObjAtRegion*)malloc(sizeof(KUiObjAtRegion) * nCount))
{
g_pCoreShell->GetGameData(GDI_ITEM_TAKEN_WITH, (unsigned int)pObjs, nCount);//µ¥Ïß³ÌÖ´ÐУ¬nCountÖµ²»±ä
for (int i = 0; i < nCount; i++)
{
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(&no, 1);
}
free(pObjs);
pObjs = NULL;
}
}
thay đoạn m_Money.SetIntText(m_nMoney); bằng đoạn

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/10000, m_nMoney%10000);
}
m_Money.SetText(szMoneyText);
build lại S3Client rồi vào game test

Build soucre thì vào đây (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>)

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ị.




Demo:

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

Code:

[1] Khai báo các biến và các hàm


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


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


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

int GetType() const { return m_CommonAttrib.m_nTypeItem; };
Vào CoreShell tìm và khai báo CoreShell.h

virtual int GetItemType(int nID) = 0;
thêm hàm vào CoreShell.cpp

int KCoreShell::GetItemType(int nID)
{
return Item[nID].GetType();
}

cách dùng tự hiểu nhé ^^



Mì ăn liền:
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>


Ai ko làm đc thì múc file về máy sài. ko spam hỏi linh tinh.

tam241992
23-09-12, 11:11 PM
cái này buill trong source code.

KingMax
23-09-12, 11:36 PM
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

ciabop
24-09-12, 12:36 PM
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!;);););););)

Edward_Newgate
24-09-12, 12:49 PM
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.

ciabop
24-09-12, 01:17 PM
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:(((

thaihoa91
24-09-12, 04:46 PM
source cậu có lick dow nào nhanh nhanh k to dow 5 tieng den bao h moi song:(((

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>