are you sellin it? DM me thank you!yes but different
View attachment 253841
Most visitors online was 12720 , on 2 May 2024
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature currently requires accessing the site using the built-in Safari browser.
are you sellin it? DM me thank you!yes but different
View attachment 253841
Waiting for it
No worries. that's why its simple. if you don't mind sharing your perfect modelHAHAHA....!
It won't be complete.
I'd rather distribute it myself.
I did already just follow the logic of other card . it works thanks ejsayaaa for this post..No worries. that's why its simple. if you don't mind sharing your perfect model
so they will have the expiry function.
you forgot to add header.try
C++:int m_nKILLFEEDSELECTOR;
on GLCharData.h below bool m_bCaptureTheFlagHoldFlag;
any idea to fix this ?
View attachment 253836
did you know who is the author for what you're using?yes but different
View attachment 253841
is it complete now mr engaged ? hahapost updated.
\Lib_Client\G-Logic\GLCharactorReq.cpp(2033) : error C3861: 'ReqKillFeedWindowOpen': identifier not found, even with argument-dependent lookup
GLCharacter.h
HRESULT ReqKillFeedWindowOpen ( WORD wPosX, WORD wPosY );
GLCharactorReq.cpp
HRESULT GLCharacter::ReqKillFeedWindowOpen( WORD wPosX, WORD wPosY )
{
SINVENITEM* pInvenItem = m_cInventory.FindPosItem ( wPosX, wPosY );
if ( !pInvenItem ) return E_FAIL;
SITEM* pItem = GLItemMan::GetInstance().GetItem ( pInvenItem->sItemCustom.sNativeID );
if ( !pItem )
{
CInnerInterface::GetInstance().PrintMsgText ( NS_UITEXTCOLOR::DISABLE, ID2GAMEINTEXT("EMKILL_FEED_SELECT_NOITEM") );
return E_FAIL;
}
if ( pItem->sBasicOp.emItemType != ITEM_KILL_FEED_SELECTOR )
{
CInnerInterface::GetInstance().PrintMsgText ( NS_UITEXTCOLOR::DISABLE, ID2GAMEINTEXT("EMKILL_FEED_SELECT_NOITEM") );
return E_FAIL;
}
CInnerInterface::GetInstance().ShowGroupFocus( STYLE_KILL_FEED_WINDOW );
m_wInvenPosX1 = wPosX;
m_wInvenPosY1 = wPosY;
return S_OK;
}
try this
C++:HRESULT ReqKillFeedWindowOpen ( WORD wPosX, WORD wPosY );
C++:HRESULT GLCharacter::ReqKillFeedWindowOpen( WORD wPosX, WORD wPosY ) { SINVENITEM* pInvenItem = m_cInventory.FindPosItem ( wPosX, wPosY ); if ( !pInvenItem ) return E_FAIL; SITEM* pItem = GLItemMan::GetInstance().GetItem ( pInvenItem->sItemCustom.sNativeID ); if ( !pItem ) { CInnerInterface::GetInstance().PrintMsgText ( NS_UITEXTCOLOR::DISABLE, ID2GAMEINTEXT("EMKILL_FEED_SELECT_NOITEM") ); return E_FAIL; } if ( pItem->sBasicOp.emItemType != ITEM_KILL_FEED_SELECTOR ) { CInnerInterface::GetInstance().PrintMsgText ( NS_UITEXTCOLOR::DISABLE, ID2GAMEINTEXT("EMKILL_FEED_SELECT_NOITEM") ); return E_FAIL; } CInnerInterface::GetInstance().ShowGroupFocus( STYLE_KILL_FEED_WINDOW ); m_wInvenPosX1 = wPosX; m_wInvenPosY1 = wPosY; return S_OK; }
how about database saving
on fetch find this
int COdbcManager::GetCharacterInfo(int nUserNumber,
int nChaNum,
SCHARDATA2* pChaData2)
{
if (nUserNumber <= 0 || nChaNum <= 0)
{
return DB_ERROR;
}
int nRowCount = 0;
SQLRETURN sReturn = 0;
ODBC_STMT* pConn = m_pGameDB->GetConnection();
if (!pConn) return DB_ERROR;
TCHAR szTemp[1024] = {0};
_snprintf( szTemp, 1024, "SELECT UserNum,SGNum,ChaName,ChaTribe,ChaClass,"
"ChaBright,ChaLevel,ChaDex,ChaIntel,ChaPower,"
"ChaStrong,ChaSpirit,ChaStrength,ChaStRemain,ChaAttackP,"
"ChaDefenseP,ChaFightA,ChaShootA,ChaSkillPoint,ChaHP,"
"ChaMP,ChaSP,ChaPK,ChaStartMap,ChaStartGate,"
"ChaPosX,ChaPosY,ChaPosZ,ChaMoney,ChaExp,"
"ChaSaveMap,ChaSavePosX,ChaSavePosY,ChaSavePosZ,ChaSchool,"
"ChaHair,ChaFace,ChaLiving,ChaInvenLine,"
"ChaReturnMap,ChaReturnPosX,ChaReturnPosY,ChaReturnPosZ,GuNum,"
"ChaGuName,ChaSex,ChaHairColor, ChaReExp, ChaSpMID, ChaSpSID, "
"ChaScaleRange,ChaCP,ChaContributionPoint, "
"ChaActivityPoint, ChaBadge, ChaPKScore, ChaPKDeath, "
"ChaInventoryLockStatus, ChaLockerLockStatus, ChaEquipmentLockStatus, "
"ChaCWKill, ChaCWDeath, ChaEquipmentLockEnable, ChaKillFeedID "
"FROM ChaInfo WHERE ChaNum=%d AND UserNum=%d", nChaNum, nUserNumber );
//add this
// kill feed
SQLINTEGER nChaKillFeedID, cbChaKillFeedID = SQL_NTS;
while (true) // <-------------- find this
{
find this
int COdbcManager::SaveCharacter(LPVOID _pbuffer)
{
if (_pbuffer == NULL) return DB_ERROR;
SCHARDATA2* pCharData2 = reinterpret_cast<SCHARDATA2*> ( _pbuffer );
DWORD dwChaNum = pCharData2->m_dwCharID;
// 해킹한 캐릭터의 경우 레벨이 0 으로 세팅될 가능성이 많다.
if (dwChaNum == 0 || pCharData2->m_wLevel == 0)
{
return DB_ERROR;
}
char szNick[CHAR_SZNAME] = {0}; // Club nick name
DWORD dwUserNum = pCharData2->GetUserID();
DWORD dwSvrNum = pCharData2->m_dwServerID;
DWORD dwChaID = pCharData2->m_dwCharID;
StringCchCopy(szNick, CHAR_SZNAME, pCharData2->m_szNick);
// 베트남 탐직방지 시스템의 추가로 캐릭터 저장하는 부분의 수정
TCHAR szTemp[2048] = {0};
_snprintf( szTemp, 2048, "UPDATE ChaInfo SET ChaBright=%d, ChaLevel=%u, ChaMoney=%I64d, "
"ChaDex=%u, ChaIntel=%u, ChaSchool=%u, ChaHair=%u, ChaFace=%u, "
"ChaLiving=%d, ChaStrong=%u, ChaPower=%u, ChaSpirit=%u, ChaStrength=%u, "
"ChaStRemain=%u, ChaAttackP=%u, ChaDefenseP=%u, ChaFightA=%u, ChaShootA=%u, "
"ChaExp=%I64d, ChaSkillPoint=%u, ChaHP=%u, ChaMP=%u, ChaSP=%u, ChaPK=%u, "
"ChaStartMap=%u, ChaStartGate=%u, ChaPosX=%f, ChaPosY=%f, ChaPosZ=%f, "
"ChaSaveMap=%d, ChaSavePosX=%f, ChaSavePosY=%f, ChaSavePosZ=%f, ChaReturnMap=%d, "
"ChaReturnPosX=%f, ChaReturnPosY=%f, ChaReturnPosZ=%f, ChaGuName='%s', ChaReExp=%I64d, "
"ChaScaleRange=%f, ChaCP=%u, ChaContributionPoint=%I64d, "
"ChaActivityPoint=%u, ChaBadge='%s', ChaPKScore=%u, ChaPKDeath=%u, "
"ChaEquipmentLockEnable=%u, ChaInventoryLockStatus=%u, ChaLockerLockStatus=%u, ChaEquipmentLockStatus=%u, "
"ChaCWKill=%u, ChaCWDeath=%u, ChaKillFeedID=%d " // kill feed
"WHERE ChaNum=%u",
pCharData2->m_nBright,
pCharData2->m_wLevel,
pCharData2->m_lnMoney,
pCharData2->m_sStats.wDex,
pCharData2->m_sStats.wInt,
pCharData2->m_wSchool,
pCharData2->m_wHair,
pCharData2->m_wFace,
pCharData2->m_nLiving,
pCharData2->m_sStats.wStr,
pCharData2->m_sStats.wPow,
pCharData2->m_sStats.wSpi,
pCharData2->m_sStats.wSta,
pCharData2->m_wStatsPoint,
pCharData2->m_wAP,
pCharData2->m_wDP,
pCharData2->m_wPA,
pCharData2->m_wSA,
pCharData2->m_sExperience.lnNow,
pCharData2->m_dwSkillPoint,
pCharData2->m_sHP.dwData,
pCharData2->m_sMP.dwData,
pCharData2->m_sSP.dwData,
pCharData2->m_wPK,
pCharData2->m_sStartMapID.dwID,
pCharData2->m_dwStartGate,
pCharData2->m_vStartPos.x,
pCharData2->m_vStartPos.y,
pCharData2->m_vStartPos.z,
(int) pCharData2->m_sSaveMapID.dwID,
pCharData2->m_vSavePos.x,
pCharData2->m_vSavePos.y,
pCharData2->m_vSavePos.z,
(int) pCharData2->m_sLastCallMapID.dwID,
pCharData2->m_vLastCallPos.x,
pCharData2->m_vLastCallPos.y,
pCharData2->m_vLastCallPos.z,
szNick,
pCharData2->m_lnReExp,
pCharData2->m_fScaleRange,
pCharData2->m_sCombatPoint.wNow, /*combatpoint logic, Juver, 2017/05/27 */
/*contribution point, Juver, 2017/08/23 */
pCharData2->m_llContributionPoint,
/*activity point, Juver, 2017/08/23 */
pCharData2->m_dwActivityPoint,
/*activity system, Juver, 2017/11/04 */
pCharData2->m_szBadge,
/*pk info, Juver, 2017/11/17 */
pCharData2->m_dwPKScore,
pCharData2->m_dwPKDeath,
/*equipment lock, Juver, 2018/01/13 */
pCharData2->m_bLockEnable,
pCharData2->m_bInventoryLockStatus,
pCharData2->m_bLockerLockStatus,
pCharData2->m_bEquipmentLockStatus,
pCharData2->m_dwCWKill,
pCharData2->m_dwCWDeath,
pCharData2->m_nKILLFEEDSELECTOR, // kill feed
pCharData2->m_dwCharID );
I don't know that my skillfeed is still broken, he's just like that, not like ejaysayahow about database saving
You have the database saving sir ?
can you share databased saving sir?
can you share databased saving sir?