Hier, so müsste es aussehen:
Da, dem TE's Sourceteil war nicht einmal falsch.Quote:
DPSrvr.cpp (Worldserver)
Komplette Funktion ersetzen:
ctrl.cppCode:void CDPSrvr::OnGCJoin( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize ) { CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser ); if( IsValidObj( pUser ) ) { if( !CNpcChecker::GetInstance()->IsCloseNpc( MMI_GUILDWAR_JOIN, pUser->GetWorld(), pUser->GetPos() ) ) return; g_GuildCombatMng.GuildCombatEnter( pUser ); } #ifdef __GW_BUFF pUser->DoBuff(SI_ASS_CHEER_HEAPUP, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_QUICKSTEP, 20, pUser); pUser->DoBuff(SI_ASS_HEAL_PATIENCE, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_CATSREFLEX, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_CANNONBALL, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_MENTALSIGN, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_BEEFUP, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_ACCURACY, 20, pUser); pUser->DoBuff(SI_RIN_SUP_SPIRITUREFORTUNE, 10, pUser); pUser->DoBuff(SI_ASS_CHEER_HASTE, 20, pUser); pUser->AddText("Have Fun!"); #endif }
Ganz unten Hinzufügen.
ctrl.hCode:#ifdef __GW_BUFF void CCtrl::DoBuff( DWORD dwSkill, int nLevel, CCtrl *pTarget) { ItemProp* pSkillProp; AddSkillProp* pAddSkillProp; GetSkillProp( &pSkillProp, &pAddSkillProp, dwSkill, nLevel, "DoActiveSkill" ); if( pAddSkillProp->dwSkillTime > 1000) pAddSkillProp->dwSkillTime = 9999999; DoApplySkill( pTarget, pSkillProp, pAddSkillProp, 0, 0, FALSE, 0 ); } #endif
Unter:
Das Hier:Code:void DoActiveSkill( DWORD dwSkill, int nLevel, CCtrl *pTarget, bool bIgnoreProb = false ); // ActiveSkill¹ßµ¿ #endif // __VER >= 8 // __S8_PK
eveschool.cppCode:#ifdef __GW_BUFF void DoBuff( DWORD dwSkill, int nLevel, CCtrl *pTarget); #endif
Unter:
Das Hier:Code:#include "user.h"
Unter:Code:#ifdef __GW_BUFF #include "defineSkill.h" #endif
Das Hier:Code:pUser->AddText( prj.GetText(TID_GAME_GUILDCOMBAT_ZOOM_USE) );
VersionCommon.h (Worldserver)Code:#ifdef __GW_BUFF pUser->DoBuff(SI_ASS_CHEER_HEAPUP, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_QUICKSTEP, 20, pUser); pUser->DoBuff(SI_ASS_HEAL_PATIENCE, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_CATSREFLEX, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_CANNONBALL, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_MENTALSIGN, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_BEEFUP, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_ACCURACY, 20, pUser); pUser->DoBuff(SI_RIN_SUP_SPIRITUREFORTUNE, 10, pUser); pUser->DoBuff(SI_ASS_CHEER_HASTE, 20, pUser); pUser->AddText("Lets do this!"); #endif
Fertig :pCode:#define __GW_BUFF
Buffen bei Login:
DpDatabaseClient.cpp
Ganz Oben bei den #include sachen fügen wir dies hinzu:
Unter:Code:#include "defineSkill.h"
Das Hier:Code:#if __VER >= 15 // __CAMPUS u_long idCampus = pUser->GetCampusId(); if( idCampus ) { CCampus* pCampus = CCampusHelper::GetInstance()->GetCampus( idCampus ); if( pCampus && pCampus->IsMember( pUser->m_idPlayer ) ) pUser->AddUpdateCampus( pCampus ); else pUser->SetCampusId( 0 ); } #endif // __CAMPUS
Buffs nach jedem TodCode:pUser->DoBuff(SI_ASS_CHEER_HEAPUP, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_QUICKSTEP, 20, pUser); pUser->DoBuff(SI_ASS_HEAL_PATIENCE, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_CATSREFLEX, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_CANNONBALL, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_MENTALSIGN, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_BEEFUP, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_ACCURACY, 20, pUser); pUser->DoBuff(SI_RIN_SUP_SPIRITUREFORTUNE, 10, pUser); pUser->DoBuff(SI_ASS_CHEER_HASTE, 20, pUser); pUser->AddText("Lets do this!");
DPSrvr.cpp (Worldserver)
Wir suchen diese Funktion:
Dann suchen wir in der Funktion:Code:void CDPSrvr::OnRevivalLodestar( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
Darunter fügen wir dies ein:Code:pUser->m_nDead = PROCESS_COUNT * 5; // Á×Àº ÈÄ 5Ãʰ£Àº ¹«Àû float fRate = pUser->SubDieDecExp(); // Á×¾î¼* ºÎȰÇÏ¸é °âÄ¡ ±ðÀÓ,. pUser->m_pActMover->ClearState();
Buffen ohne Buffpang in der nähe haben zu müssen ( Per CSPet / Pet )Code:pUser->DoBuff(SI_ASS_CHEER_HEAPUP, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_QUICKSTEP, 20, pUser); pUser->DoBuff(SI_ASS_HEAL_PATIENCE, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_CATSREFLEX, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_CANNONBALL, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_MENTALSIGN, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_BEEFUP, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_ACCURACY, 20, pUser); pUser->DoBuff(SI_RIN_SUP_SPIRITUREFORTUNE, 10, pUser); pUser->DoBuff(SI_ASS_CHEER_HASTE, 20, pUser); pUser->AddText("Lets do this!");
DPSrvr.cpp (Worldserver)
Wir suchen diese Funktion:
Und in dieser Funktion finden wir das:Code:void CDPSrvr::OnNPCBuff( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
Einfach auskommentieren.Code:if( !CNpcChecker::GetInstance()->IsCloseNpc(MMI_NPC_BUFF, pUser->GetWorld(), pUser->GetPos() ) ) return;
Buffen nach Usen von Scroll of Resurrection:
DPSrvr.cpp
Wir suchen diese Funktion:
Dort finden wir dies:Code:void CDPSrvr::OnRevival( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
Darunter:Code:pUser->m_nDead = PROCESS_COUNT * 5; // Á×Àº ÈÄ 5Ãʰ£Àº ¹«Àû
Code:pUser->DoBuff(SI_ASS_CHEER_HEAPUP, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_QUICKSTEP, 20, pUser); pUser->DoBuff(SI_ASS_HEAL_PATIENCE, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_CATSREFLEX, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_CANNONBALL, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_MENTALSIGN, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_BEEFUP, 20, pUser); pUser->DoBuff(SI_ASS_CHEER_ACCURACY, 20, pUser); pUser->DoBuff(SI_RIN_SUP_SPIRITUREFORTUNE, 10, pUser); pUser->DoBuff(SI_ASS_CHEER_HASTE, 20, pUser); pUser->AddText("Lets do this!");