• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

[SHARE] SIMPLE KILL FEED STYLING [SOURCE CODE]

Joined
Sep 6, 2023
Messages
13
Reaction score
77
Tonight I'll compile the code.
and distributed again

123456 - [SHARE] SIMPLE KILL FEED STYLING [SOURCE CODE] - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
Apr 19, 2018
Messages
60
Reaction score
15
No worries. that's why its simple. if you don't mind sharing your perfect model 🤣
so they will have the expiry function.
I did already just follow the logic of other card . it works thanks ejsayaaa for this post..
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
Sep 18, 2014
Messages
154
Reaction score
11
i couldnt click any of the feed. any idea? tia
 

Attachments

You must be registered for see attachments list
RaGEZONE VIP
[VIP] Member
Joined
Jul 18, 2023
Messages
373
Reaction score
78
\Lib_Client\G-Logic\GLCharactorReq.cpp(2033) : error C3861: 'ReqKillFeedWindowOpen': identifier not found, even with argument-dependent lookup
 
Master Summoner
Joined
Feb 6, 2019
Messages
575
Reaction score
159
\Lib_Client\G-Logic\GLCharactorReq.cpp(2033) : error C3861: 'ReqKillFeedWindowOpen': identifier not found, even with argument-dependent lookup

try this
GLCharacter.h
C++:
HRESULT ReqKillFeedWindowOpen ( WORD wPosX, WORD wPosY );

GLCharactorReq.cpp

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;
}
 
RaGEZONE VIP
[VIP] Member
Joined
Jul 18, 2023
Messages
373
Reaction score
78
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;
}
1704340747598 - [SHARE] SIMPLE KILL FEED STYLING [SOURCE CODE] - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Joined
May 2, 2012
Messages
475
Reaction score
244
how about database saving

i cannot teach you how to add new column for data saving on your database

s_COdbcGameChaGet.cpp
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
{

ON SAVING s_COdbcGameChaSave.cpp
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 );
 
Master Summoner
Joined
Feb 6, 2019
Messages
575
Reaction score
159
1704427843972 - [SHARE] SIMPLE KILL FEED STYLING [SOURCE CODE] - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Last edited:
Back
Top