bimaloha
05-02-18, 05:02 PM
Nhân ngày thứ 2 đầu tiên của tuần, cũng như dịp tết đến xuân về, mình xin chia sẻ code fix hiển thị chính xác Wcoin, WcoinP, GoldbinCoin cho GameServer SCF 12.0.0.1 <:-P
MuItemShop.cpp, sửa hàm SendPoints như sau:
void cMuItemShop::SendPoints(int aIndex) //need fix
{
if ( aIndex < 0 || aIndex > OBJMAX-1 )
{
return;
}
if(gObj[aIndex].Type != OBJ_USER)
{
return;
}
MUITEMSHOP_UPDATEINFO_SEND_2 pMsg2 = {0};
PHeadSubSetB((LPBYTE)&pMsg2, 0xD2, 0x01, sizeof(pMsg2));
double WCoin = (double)gObj[aIndex].WCoin;
double WCoinP = (double)gObj[aIndex].WCoinP;
double GoblinCoin = (double)gObj[aIndex].GoblinCoin;
std::copy(static_cast<const char*>(static_cast<const void*>(&WCoin)),
static_cast<const char*>(static_cast<const void*>(&WCoin)) + sizeof WCoin,
pMsg2.Coin); //convert Wcoin
std::copy(static_cast<const char*>(static_cast<const void*>(&WCoinP)),
static_cast<const char*>(static_cast<const void*>(&WCoinP)) + sizeof WCoinP,
pMsg2.CoinP); //convert WcoinP
std::copy(static_cast<const char*>(static_cast<const void*>(&GoblinCoin)),
static_cast<const char*>(static_cast<const void*>(&GoblinCoin)) + sizeof GoblinCoin,
pMsg2.GoblinCoin); //convert GoblinCoin
DataSend(aIndex, (UCHAR*)&pMsg2, pMsg2.h.size);
}
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>
MuItemShop.cpp, sửa hàm SendPoints như sau:
void cMuItemShop::SendPoints(int aIndex) //need fix
{
if ( aIndex < 0 || aIndex > OBJMAX-1 )
{
return;
}
if(gObj[aIndex].Type != OBJ_USER)
{
return;
}
MUITEMSHOP_UPDATEINFO_SEND_2 pMsg2 = {0};
PHeadSubSetB((LPBYTE)&pMsg2, 0xD2, 0x01, sizeof(pMsg2));
double WCoin = (double)gObj[aIndex].WCoin;
double WCoinP = (double)gObj[aIndex].WCoinP;
double GoblinCoin = (double)gObj[aIndex].GoblinCoin;
std::copy(static_cast<const char*>(static_cast<const void*>(&WCoin)),
static_cast<const char*>(static_cast<const void*>(&WCoin)) + sizeof WCoin,
pMsg2.Coin); //convert Wcoin
std::copy(static_cast<const char*>(static_cast<const void*>(&WCoinP)),
static_cast<const char*>(static_cast<const void*>(&WCoinP)) + sizeof WCoinP,
pMsg2.CoinP); //convert WcoinP
std::copy(static_cast<const char*>(static_cast<const void*>(&GoblinCoin)),
static_cast<const char*>(static_cast<const void*>(&GoblinCoin)) + sizeof GoblinCoin,
pMsg2.GoblinCoin); //convert GoblinCoin
DataSend(aIndex, (UCHAR*)&pMsg2, pMsg2.h.size);
}
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>