Tach,
hab mal euch mal was schönes für GW Server.
Auto Buffen in GW Arena, sobald mal unten Spawnt.
Hier mal nen Screen:
hab mal euch mal was schönes für GW Server.
Auto Buffen in GW Arena, sobald mal unten Spawnt.
Hier mal nen Screen:
Nun zum Source teil:
DPSrvr.cpp (Worldserver)
Komplette Funktion ersetzen:
ctrl.cpp
Ganz unten Hinzufügen.
ctrl.h
Unter:
Das Hier:
eveschool.cpp
Unter:
Das Hier:
Unter:
Das Hier:
VersionCommon.h (Worldserver)
Fertig
Buffen bei Login:
DpDatabaseClient.cpp
Ganz Oben bei den #include sachen fügen wir dies hinzu:
Unter:
Das Hier:
Buffs nach jedem Tod
DPSrvr.cpp (Worldserver)
Wir suchen diese Funktion:
Dann suchen wir in der Funktion:
Darunter fügen wir dies ein:
Buffen ohne Buffpang in der nähe haben zu müssen ( Per CSPet / Pet )
DPSrvr.cpp (Worldserver)
Wir suchen diese Funktion:
Und in dieser Funktion finden wir das:
Einfach auskommentieren.
Buffen nach Usen von Scroll of Resurrection:
DPSrvr.cpp
Wir suchen diese Funktion:
Dort finden wir dies:
Darunter:
Credits:
Buffen in GW Arena: Malibu
DoBuff Funktion: Mentus ;D
Restliche Buff Edits: Eragøn & sagenessamerda
Greez Malibu~
DPSrvr.cpp (Worldserver)
Komplette Funktion ersetzen:
Code:
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.
Code:
#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:
Code:
void DoActiveSkill( DWORD dwSkill, int nLevel, CCtrl *pTarget, bool bIgnoreProb = false ); // ActiveSkill¹ßµ¿ #endif // __VER >= 8 // __S8_PK
Code:
#ifdef __GW_BUFF void DoBuff( DWORD dwSkill, int nLevel, CCtrl *pTarget); #endif
Unter:
Code:
#include "user.h"
Code:
#ifdef __GW_BUFF #include "defineSkill.h" #endif
Code:
pUser->AddText( prj.GetText(TID_GAME_GUILDCOMBAT_ZOOM_USE) );
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
Code:
#define __GW_BUFF
Buffen bei Login:
DpDatabaseClient.cpp
Ganz Oben bei den #include sachen fügen wir dies hinzu:
Code:
#include "defineSkill.h"
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
Code:
for( int ida = 1; ida <= 9; ida++ ) { int SKID; if ( ida == 1 ) SKID = SI_ASS_CHEER_HASTE; else if ( ida == 2 ) SKID = SI_ASS_CHEER_ACCURACY; else if ( ida == 3 ) SKID = SI_ASS_CHEER_CATSREFLEX; else if ( ida == 4 ) SKID = SI_ASS_CHEER_QUICKSTEP; else if ( ida == 5 ) SKID = SI_ASS_CHEER_BEEFUP; else if ( ida == 6 ) SKID = SI_ASS_CHEER_MENTALSIGN; else if ( ida == 7 ) SKID = SI_ASS_CHEER_CANNONBALL; else if ( ida == 8 ) SKID = SI_ASS_CHEER_HEAPUP; else if ( ida == 9 ) SKID = SI_ASS_HEAL_PATIENCE; else break; ItemProp* pSkillProp = prj.GetSkillProp( SKID ); AddSkillProp* pAddSkillProp = prj.GetAddSkillProp( pSkillProp->dwSubDefine, 20 ); if( pAddSkillProp ) { DWORD dwReferTarget1Backup = pSkillProp->dwReferTarget1; pSkillProp->dwReferTarget1 = NULL_ID; DWORD dwReferTarget2Backup = pSkillProp->dwReferTarget2; pSkillProp->dwReferTarget2 = NULL_ID; DWORD dwSkillTimeBackup = pAddSkillProp->dwSkillTime; pAddSkillProp->dwSkillTime = 144000000; pUser->DoApplySkill( pUser, pSkillProp, pAddSkillProp ); g_UserMng.AddDoApplySkill( pUser, pUser->GetId(), SKID, 20 ); } }
DPSrvr.cpp (Worldserver)
Wir suchen diese Funktion:
Code:
void CDPSrvr::OnRevivalLodestar( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
Code:
pUser->m_nDead = PROCESS_COUNT * 5; // Á×Àº ÈÄ 5ÃÊ°£Àº ¹«Àû float fRate = pUser->SubDieDecExp(); // Á×¾î¼* ºÎÈ°ÇÏ¸é °âÄ¡ ±ðÀÓ,. pUser->m_pActMover->ClearState();
Code:
for( int ida = 1; ida <= 9; ida++ ) { int SKID; if ( ida == 1 ) SKID = SI_ASS_CHEER_HASTE; else if ( ida == 2 ) SKID = SI_ASS_CHEER_ACCURACY; else if ( ida == 3 ) SKID = SI_ASS_CHEER_CATSREFLEX; else if ( ida == 4 ) SKID = SI_ASS_CHEER_QUICKSTEP; else if ( ida == 5 ) SKID = SI_ASS_CHEER_BEEFUP; else if ( ida == 6 ) SKID = SI_ASS_CHEER_MENTALSIGN; else if ( ida == 7 ) SKID = SI_ASS_CHEER_CANNONBALL; else if ( ida == 8 ) SKID = SI_ASS_CHEER_HEAPUP; else if ( ida == 9 ) SKID = SI_ASS_HEAL_PATIENCE; else break; ItemProp* pSkillProp = prj.GetSkillProp( SKID ); AddSkillProp* pAddSkillProp = prj.GetAddSkillProp( pSkillProp->dwSubDefine, 20 ); if( pAddSkillProp ) { DWORD dwReferTarget1Backup = pSkillProp->dwReferTarget1; pSkillProp->dwReferTarget1 = NULL_ID; DWORD dwReferTarget2Backup = pSkillProp->dwReferTarget2; pSkillProp->dwReferTarget2 = NULL_ID; DWORD dwSkillTimeBackup = pAddSkillProp->dwSkillTime; pAddSkillProp->dwSkillTime = 144000000; pUser->DoApplySkill( pUser, pSkillProp, pAddSkillProp ); g_UserMng.AddDoApplySkill( pUser, pUser->GetId(), SKID, 20 ); } }
DPSrvr.cpp (Worldserver)
Wir suchen diese Funktion:
Code:
void CDPSrvr::OnNPCBuff( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
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:
Code:
void CDPSrvr::OnRevival( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
Code:
pUser->m_nDead = PROCESS_COUNT * 5; // Á×Àº ÈÄ 5ÃÊ°£Àº ¹«Àû
Code:
for( int ida = 1; ida <= 9; ida++ ) { int SKID; if ( ida == 1 ) SKID = SI_ASS_CHEER_HASTE; else if ( ida == 2 ) SKID = SI_ASS_CHEER_ACCURACY; else if ( ida == 3 ) SKID = SI_ASS_CHEER_CATSREFLEX; else if ( ida == 4 ) SKID = SI_ASS_CHEER_QUICKSTEP; else if ( ida == 5 ) SKID = SI_ASS_CHEER_BEEFUP; else if ( ida == 6 ) SKID = SI_ASS_CHEER_MENTALSIGN; else if ( ida == 7 ) SKID = SI_ASS_CHEER_CANNONBALL; else if ( ida == 8 ) SKID = SI_ASS_CHEER_HEAPUP; else if ( ida == 9 ) SKID = SI_ASS_HEAL_PATIENCE; else break; ItemProp* pSkillProp = prj.GetSkillProp( SKID ); AddSkillProp* pAddSkillProp = prj.GetAddSkillProp( pSkillProp->dwSubDefine, 20 ); if( pAddSkillProp ) { DWORD dwReferTarget1Backup = pSkillProp->dwReferTarget1; pSkillProp->dwReferTarget1 = NULL_ID; DWORD dwReferTarget2Backup = pSkillProp->dwReferTarget2; pSkillProp->dwReferTarget2 = NULL_ID; DWORD dwSkillTimeBackup = pAddSkillProp->dwSkillTime; pAddSkillProp->dwSkillTime = 144000000; pUser->DoApplySkill( pUser, pSkillProp, pAddSkillProp ); g_UserMng.AddDoApplySkill( pUser, pUser->GetId(), SKID, 20 ); } }
Buffen in GW Arena: Malibu
DoBuff Funktion: Mentus ;D
Restliche Buff Edits: Eragøn & sagenessamerda
Greez Malibu~