[Source]pMover->AddBuff buggy?

03/01/2012 21:59 Unleashed!#1
Hey,
habe vorhin mal die funktion CMover::AddBuff benutzt, musste jetzt allerdings feststellen, dass es nur so aussieht, dass man den Buff hat.
Den Effekt bekommt man nicht und sobald der Buff verschwindet, werden einem die Stats, die der Buff eigentlich geben sollte abgezogen.
Code:
pMover->AddBuff(1, 20, 20, 20000, pMover->GetId());
(Aufgerufen in DPSrvr.cpp)

Hat da jemand eine Lösung für?
MFG Unleashed!
03/01/2012 22:02 Shuya83#2
AddBuff ist allgemein buggy.

Sobald man stirbt und noch mal AddBuff machst und das gleich von vorne wird man immer langsamer.
03/01/2012 22:07 Unleashed!#3
Was soll ich dann verwenden?
03/02/2012 04:20 Jopsi332#4
gibt nix mach dir was eigenes
03/02/2012 12:23 Incestus#5
Guck dir mal die Funktion DoActiveSkill an

Quote:
Originally Posted by Jopsi332 View Post
gibt nix mach dir was eigenes
Erhäng dich bitte wenn du keine Ahnung hast
03/02/2012 15:17 Jopsi332#6
Also ich hab mir neeeigeneegemacht diee automatischa 1std buff macht
03/02/2012 16:03 Incestus#7
Quote:
Originally Posted by Jopsi332 View Post
Also ich hab mir neeeigeneegemacht diee automatischa 1std buff macht
groijneroujnr9neboegjp jhfweijgro uhr0gherou jerpibjerob

Kauf dirn Wörterbuch


ctrl.cpp:

PHP Code:
void CCtrl::IchBuffDeineMumDWORD dwSkillint nLevelCCtrl *pTarget)
{
    
ItemProppSkillProp;
    
AddSkillProppAddSkillProp;
    
GetSkillProp( &pSkillProp, &pAddSkillPropdwSkillnLevel"DoActiveSkill" );

     
DoApplySkillpTargetpSkillProppAddSkillProp00FALSE);
 
#ifdef __WORLDSERVER        
        
g_UserMng.AddDoApplySkillthispTarget->GetId(), dwSkillnLevel );
 
#endif

ctrl.h:

PHP Code:
    void            IchBuffDeineMumDWORD dwSkillint nLevelCCtrl *pTarget); 
Aufrufen könnt ihr es so:

PHP Code:
IchBuffDeineMum(SI_ASS_CHEER_HEAPUP20pUser); 
ID,Level,Target


So isses am einfachsten^^..
03/02/2012 21:58 Unleashed!#8
Danke, funzt so, allerdings wird folgender Error gespammt:
Code:
UnleashedTest-CBuffSkill.IsRemovable : 12. Add½ºÅ³(502) AddSkill->dwName°ú Skill->dwID°¡ ´Ù¸£´Ù.
Edit:
So aufgerufen: (DPSrvr.cpp)
Code:
	CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
	CCtrl* pCtrl = (CCtrl*)pUser;

        pCtrl->DoAddBuff( SI_CHEER_BURNOUT, 1, pCtrl );
03/02/2012 22:06 alfredico#9
ItemProp* pSkillProp = prj.GetSkillProp( buffid );
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 = 3600; //1h

pUser->DoApplySkill( pUser, pSkillProp, pAddSkillProp );
g_UserMng.AddDoApplySkill( pUser, pUser->GetId(), SI_ASS_CHEER_HEAPUP, 20 );
}