?? symbolmgr_client.cpp
字號:
Hcolor(ConvertColor(255,0,255));
#ifdef KOREA_LOCALIZING_
TxtOut.RcTXTOutB(nX,nY,nWidth,nGab,"<%d瞞>",m_nGrade);
Hcolor(ConvertColor(255,255,255));nGab += nLineGab;
TxtOut.RcTXTOutB(nX,nY+nGab,nWidth,nGab,"[%s]",m_vtSymbolList[QuickItemAttr[5].item_no-1].strHanName);
#else
TxtOut.RcTXTOutB(nX,nY,nWidth,nGab,"<%dGRADE>",m_nGrade);
Hcolor(ConvertColor(255,255,255));nGab += nLineGab;
TxtOut.RcTXTOutB(nX,nY+nGab,nWidth,nGab,"[%s]",m_vtSymbolList[QuickItemAttr[5].item_no-1].strName);
#endif
nGab += nLineGab;
for(int i = 0;i < SYMBOL_ATTR_COUNT;i++)
{
int nRareNumber = this->GetRareNum(QuickItemAttr[5].item_no,i+1);
if(!nRareNumber || MAX_ITEM_RARE <= nRareNumber)break;
switch(ItemRare[nRareNumber].iExpMark/10)
{
case 1://1撈擱 +
{
::Hcolor(FONT_COLOR_RARE_PLUS_POINT);//何齲禍
TxtOut.RcTXTOutNoBG(nX,nY+nGab,nWidth,5,"%s +",ItemRare[nRareNumber].ExplainAdd);// 1 : name
}break;
case 2://2撈擱 -
{
::Hcolor(FONT_COLOR_RARE_MINUS_POINT);//何齲禍
TxtOut.RcTXTOutNoBG(nX,nY+nGab,nWidth,5,"%s -",ItemRare[nRareNumber].ExplainAdd);// 1 : name
}break;
}
switch(ItemRare[nRareNumber].iExpMark%10)
{
case 0:
{
::Hcolor(ConvertColor(0,255,255));
TxtOut.RcTXTOut(nX,nY+nGab,nWidth,5,"%s ",ItemRare[nRareNumber].ExplainAdd);
}
break;
case 1:
{
int nRareNum = RareValue(QuickItemAttr[5].item_no,i+1,m_nGrade);
if(nRareNum)
{
::Hcolor(ConvertColor(0,255,255));
TxtOut.RcTXTOut(nX,nY+nGab,nWidth,5,"%s %d",ItemRare[nRareNumber].ExplainAdd,nRareNum);
}
}
break;
case 2:
{
int nRareNum = RareValue(QuickItemAttr[5].item_no,i+1,m_nGrade);
if(nRareNum)
{
::Hcolor(ConvertColor(0,255,255));
TxtOut.RcTXTOut(nX,nY+nGab,nWidth,5,"%s %d%%",ItemRare[nRareNumber].ExplainAdd,nRareNum);
}
}
break;
case 3:
{
int nRareNum = RareValue(QuickItemAttr[5].item_no,i+1,m_nGrade);
if(nRareNum)
{
::Hcolor(ConvertColor(0,255,255));
TxtOut.RcTXTOut(nX,nY+nGab,nWidth,5,"%s %dSec",ItemRare[nRareNumber].ExplainAdd,nRareNum);
}
}
break;
}
nGab += nLineGab;
}
TxtOut.PutTextTailBGImg(nX,nY+nGab,nWidth);
}
}
int CSymbolMgr_Client::GetRareNum(int nSymbolNumber, int AttrCount)
{
if(m_vtSymbolList.size() < nSymbolNumber || nSymbolNumber <= 0)
{
return 0;
}
if(AttrCount > SYMBOL_ATTR_COUNT || AttrCount <= 0)
{
return 0;
}
return m_vtSymbolList[nSymbolNumber-1].nRare[AttrCount-1];
}
int CSymbolMgr_Client::RareValue(int nItemNumber, int AttrCount, int nLevel)
{
if(m_vtSymbolList.size() < nItemNumber || nItemNumber <= 0) return 0;
if(AttrCount > SYMBOL_ATTR_COUNT || AttrCount <= 0) return 0;
if(m_vtRareValueList.size() <= 0) return 0;
if(m_vtRareValueList[0].size() < nLevel || nLevel <= 0) return 0;
return m_vtRareValueList[AttrCount-1][nLevel - 1].anRare[nItemNumber-1];
}
void CSymbolMgr_Client::SetDualItem(int n1StClass, int n2StClass, int nLevel)
{
for(int i = 0;i < SYMBOL_ITEM_MAX;i++)
{
int _1st = m_vtSymbolList[i].n1StClass;
int _2st = m_vtSymbolList[i].n2ndClass;
if(_1st == n1StClass+1 && _2st == n2StClass+1)
{
SetDualItem(i+1,nLevel);
}
}
}
void CSymbolMgr_Client::Load()
{
LoadItemImage();
LoadTables();
}
int CSymbolMgr_Client::GetItemNumber()
{
return QuickItemAttr[5].item_no;
}
bool CSymbolMgr_Client::IsHave()
{
return (QuickItemAttr[5].item_no > 0 && QuickItemAttr[5].item_no <= 23);
}
//DEL void CSymbolMgr_Client::Send_SymbolMake(int n1StClass, int n2StClass)
//DEL {
//DEL
//DEL }
//繳杭闌 父電促.
void CSymbolMgr_Client::Recv_SymbolMake(t_SYMBOL_ITEM_MSG* pSymbol)
{
SetDualItem(pSymbol->m_nItemNumber,pSymbol->m_nGrade);
::AddCurrentStatusMessage(255,255,255,lan->OutputMessage(4,141));
}
//繳杭 訣弊飯撈靛.
void CSymbolMgr_Client::Recv_SymbolUpGrade(t_SYMBOL_ITEM_MSG *pSymbol)
{
SetDualItem(pSymbol->m_nItemNumber,pSymbol->m_nGrade);
::AddCurrentStatusMessage(255,255,255,lan->OutputMessage(4,142));
}
void CSymbolMgr_Client::SaveBinaryFiles()
{
/*
FILE* fp = NULL;
int SymbolCount = m_vtSymbolList.size();
if(m_bBeta)
{ //< CSD-031030
fp = fopen("./Itemtable_b5/Item_Symbol.bin","w+b");
} //> CSD-031030
else
{
fp = fopen("./Itemtable/Item_Symbol.bin","w+b");
}
if(fp)
{
for(int i = 0;i < SymbolCount;i++)
{
int nItemNumber = m_vtSymbolList[i].nItemNumber;
char strName[65] = {NULL,};strcpy(strName,m_vtSymbolList[i].strName);
char strHanName[65] = {NULL,};strcpy(strHanName,m_vtSymbolList[i].strHanName);
int n1StClass = m_vtSymbolList[i].n1StClass;
int n2ndClass = m_vtSymbolList[i].n2ndClass;
int nRare[5] = {0,};memcpy(nRare,m_vtSymbolList[i].nRare,sizeof(int)*5);
int size = fwrite(&nItemNumber,sizeof(int),1,fp);
size = fwrite(strName,sizeof(char),65,fp);
size = fwrite(strHanName,sizeof(char),65,fp);
size = fwrite(&n1StClass,sizeof(int),1,fp);
size = fwrite(&n2ndClass,sizeof(int),1,fp);
size = fwrite(nRare,sizeof(int),5,fp);
}
fclose(fp);
}
fp = NULL;
int RareListSize = m_vtRareValueList.size();
for(int FileCount = 0;FileCount < RareListSize;FileCount++)
{
char szFileName[MAX_PATH] = {NULL,};
if(m_bBeta)
{ //< CSD-031030
sprintf(szFileName,"./Itemtable_b5/Item_Symbol_Ability%d.bin",FileCount+1);
} //> CSD-031030
else
{
sprintf(szFileName,"./Itemtable/Item_Symbol_Ability%d.bin",FileCount+1);
}
fp = fopen(szFileName,"w+b");
if(fp)
{
int nGradeCount = m_vtRareValueList[FileCount].size();
for(int i = 0;i < nGradeCount;i++)
{
for(int j = 0;j < SYMBOL_ITEM_MAX;j++)
{
int nRare = m_vtRareValueList[FileCount][i].anRare[j];
int size = fwrite(&nRare,sizeof(int),1,fp);
}
}
fclose(fp);
}
}
*/
}
void CSymbolMgr_Client::SaveBinFile_Item_Symbol()
{
if(!m_bTextItemMode)return;
FILE* fp = NULL;
int SymbolCount = m_vtSymbolList.size();
if(m_bBeta)
{ //< CSD-031030
fp = fopen("./Itemtable_b5/Item_Symbol.bin","w+b");
} //> CSD-031030
else
{
fp = fopen("./Itemtable/Item_Symbol.bin","w+b");
}
if(fp)
{
for(int i = 0;i < SymbolCount;i++)
{
int nItemNumber = m_vtSymbolList[i].nItemNumber;
char strName[65] = {NULL,};strcpy(strName,m_vtSymbolList[i].strName);
char strHanName[65] = {NULL,};strcpy(strHanName,m_vtSymbolList[i].strHanName);
int n1StClass = m_vtSymbolList[i].n1StClass;
int n2ndClass = m_vtSymbolList[i].n2ndClass;
int nRare[5] = {0,};memcpy(nRare,m_vtSymbolList[i].nRare,sizeof(int)*5);
int size = fwrite(&nItemNumber,sizeof(int),1,fp);
size = fwrite(strName,sizeof(char),65,fp);
size = fwrite(strHanName,sizeof(char),65,fp);
size = fwrite(&n1StClass,sizeof(int),1,fp);
size = fwrite(&n2ndClass,sizeof(int),1,fp);
size = fwrite(nRare,sizeof(int),5,fp);
}
fclose(fp);
}
}
void CSymbolMgr_Client::SaveBinFile_Item_Symbol_Abilliy()
{
if(!m_bTextAbilliyMode)return;
FILE* fp = NULL;
int RareListSize = m_vtRareValueList.size();
for(int FileCount = 0;FileCount < RareListSize;FileCount++)
{
char szFileName[MAX_PATH] = {NULL,};
if(m_bBeta)
{ //< CSD-031030
sprintf(szFileName,"./Itemtable_b5/Item_Symbol_Ability%d.bin",FileCount+1);
} //> CSD-031030
else
{
sprintf(szFileName,"./Itemtable/Item_Symbol_Ability%d.bin",FileCount+1);
}
fp = fopen(szFileName,"w+b");
if(fp)
{
int nGradeCount = m_vtRareValueList[FileCount].size();
for(int i = 0;i < nGradeCount;i++)
{
for(int j = 0;j < SYMBOL_ITEM_MAX;j++)
{
int nRare = m_vtRareValueList[FileCount][i].anRare[j];
int size = fwrite(&nRare,sizeof(int),1,fp);
}
}
fclose(fp);
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -