Register for your free account! | Forgot your password?

You last visited: Today at 16:49

  • Please register to post and access all features, it's quick, easy and FREE!


[Problem] Rebirth System

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2012
Posts: 235
Received Thanks: 122
[Problem] Rebirth System

Hallo wie der ein oder andere sicherlich gelesen hat bin ich dabei das Rebirth System zu fixxen
dabei bin ich nun auf ein problem gestoßen und zwar müssten die einträge alle richtig sein jedoch wird die Aktuelle Rebirth Count nicht in der DB gespeichert

Hier mal meine Einträge:

Obj.h
Code:
#ifdef	__REBIRTH
public:
	int		m_nRebirthCount;
#endif	//__REBIRTH
Obj.cpp
Code:
#ifdef	__REBIRTH
	m_nRebirthCount = 0;
#endif	//__REBIRTH

#ifdef	__REBIRTH
	m_nRebirthCount = pMover->m_nRebirthCount;
#endif	//__REBIRTH
DBManagerSave.cpp
Code:
#ifdef	__REBIRTH
	MAX_SAVEPARAM	+= 1;	// m_nRebirthCount
#endif	//__REBIRTH

#ifdef	__REBIRTH
	bOK[++j] = qry->BindParameter( ++i, SQL_PARAM_INPUT, SQL_C_LONG, SQL_INTEGER,   0, 0, &pMover->m_nRebirthCount, 0, 0 );
#endif	//__REBIRTH
DBManager.h
Code:
#ifdef	__REBIRTH
		, int nRebirthCount = 0
#endif	//__REBIRTH
DBManager.cpp
Code:
#ifdef	__REBIRTH
								, int nRebirthCount
#endif	//__REBIRTH

#ifdef	__REBIRTH
	sprintf( strCharacter, ",@im_nRebirthCount=%d", nRebirthCount );
	strncat( qryCharacter, strCharacter, sizeof(strCharacter) );
#endif	//__REBIRTH
DBManagerfun.cpp
Code:
#ifdef	__REBIRTH
	mover.m_nRebirthCount = qry->GetInt("m_nRebirthCount");
#endif	//__REBIRTH
ObjSerializeOpt.cpp
Code:
#ifdef	__REBIRTH
			ar << m_nRebirthCount;
#endif	//__REBIRTH

#ifdef	__REBIRTH
			ar >> m_nRebirthCount;
#endif	//__REBIRTH
Mover.h
Code:
#ifdef	__REBIRTH
public:
	int		m_nRebirthCount;
#endif	//__REBIRTH
Mover.cpp
Code:
#ifdef	__REBIRTH
	m_nRebirthCount = 0;
#endif	//__REBIRTH


#ifdef __REBIRTH
void CMover::InitLevelRebirth( int nJob, LONG nLevel, BOOL bGamma ){
#ifdef __WORLDSERVER
    MoverProp* pProp = GetProp();
    if( pProp ){
		if( m_nRebirthCount >= MAX_REBIRTH_COUNT)
			return;
        if( nJob > 0 && nJob < MAX_LEGEND_HERO )
            AddChangeJob( nJob );
        else
            return;
        
        int nPoint = 0;
        if( m_nJob == JOB_MERCENARY )
            nPoint += 40;
        else if( m_nJob == JOB_ACROBAT )
            nPoint += 50;
        else if( m_nJob == JOB_ASSIST )
            nPoint += 60;
        else if( m_nJob == JOB_MAGICIAN )
            nPoint += 90;
        else if( m_nJob ==  JOB_KNIGHT || m_nJob ==  JOB_BLADE )
            nPoint += 120;
        else if( m_nJob ==  JOB_JESTER || m_nJob ==  JOB_RANGER )
            nPoint += 150;
        else if( m_nJob ==  JOB_RINGMASTER )
            nPoint += 160;
        else if( m_nJob ==  JOB_BILLPOSTER || m_nJob ==  JOB_PSYCHIKEEPER )
            nPoint += 180;
        else if( m_nJob ==  JOB_ELEMENTOR )
            nPoint += 390;
        else if( nJob ==  JOB_LORDTEMPLER_HERO || nJob ==  JOB_STORMBLADE_HERO )
            nPoint += 120;
        else if( nJob ==  JOB_WINDLURKER_HERO || nJob ==  JOB_CRACKSHOOTER_HERO )
            nPoint += 150;
        else if( nJob ==  JOB_FLORIST_HERO )
            nPoint += 160;
        else if( nJob ==  JOB_FORCEMASTER_HERO || nJob ==  JOB_MENTALIST_HERO )
            nPoint += 180;
        else if( nJob ==  JOB_ELEMENTORLORD_HERO )
            nPoint += 390;

        AddSkillPoint( nPoint );
        SetJobLevel( nLevel, nJob );
		m_nLevel      = nLevel;
        m_nDeathLevel = nLevel;
		
#if __VER >= 10 //__LEGEND
        if(IsMaster()){
            int dwTmpSkLevel = 1;
            if( nLevel > 59 && nLevel < 72 )
                dwTmpSkLevel = 1;
            else if( nLevel > 71 && nLevel < 84 )
                dwTmpSkLevel = 2;
            else if( nLevel > 83 && nLevel < 96 )
                dwTmpSkLevel = 3;
            else if( nLevel > 95 && nLevel < 108 )
                dwTmpSkLevel = 4;
            else if( nLevel > 107 && nLevel < 120 )
                dwTmpSkLevel = 5;
            for( int i = 0; i < MAX_SKILL_JOB; i++ ){                
                LPSKILL lpSkill = &(m_aJobSkill[i]);
                if( lpSkill && lpSkill->dwSkill != NULL_ID ){
                    ItemProp* pSkillProp    = prj.GetSkillProp( lpSkill->dwSkill );            
                    if( pSkillProp == NULL )
                        continue;
                    if( pSkillProp->dwItemKind1 != JTYPE_MASTER)
                        continue;
                    lpSkill->dwLevel = dwTmpSkLevel;
                }
            }
        }
#endif    //__LEGEND
        if( bGamma )
            m_nExp1 = 0;
        
        ( (CUser*)this )->AddSetChangeJob( nJob );
        g_UserMng.AddNearSetChangeJob( this, nJob, &((CUser*)this)->m_aJobSkill[MAX_JOB_SKILL] );
       
#if __VER >= 11 // __SYS_PLAYER_DATA
        g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
#else    // __SYS_PLAYER_DATA
        g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
        g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
        if( m_idGuild != 0 )
            g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
#endif    // __SYS_PLAYER_DATA
        SetHitPoint( GetMaxHitPoint() );
        SetManaPoint( GetMaxManaPoint() );
        SetFatiguePoint( GetMaxFatiguePoint() );

		m_nRebirthCount++;

        if( nJob >= 1 && nJob <= 4 )
            m_nRemainGP = 28;
        if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER ){
			if ( m_nRemainGP > 0)
				m_nRemainGP = 0;
			if (m_nRebirthCount == 1)
				m_nRemainGP = 200;
			else if (m_nRebirthCount == 2)
				m_nRemainGP = 300;
			else if (m_nRebirthCount == 3)
				m_nRemainGP = 400;
			else if (m_nRebirthCount == 4)
				m_nRemainGP = 500;
			else if (m_nRebirthCount >= 5)
				m_nRemainGP = 600;
        }
		m_nStr = m_nSta = m_nDex = m_nInt = 50;
		
        g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
        ( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
        ( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel, m_nRebirthCount  );
        ( (CUser*)this )->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
#if __VER >= 13 // __HONORABLE_TITLE
        ((CUser*)this)->CheckHonorStat();
        ((CUser*)this)->AddHonorListAck();
        g_UserMng.AddHonorTitleChange( this, m_nHonor);
#endif    // __HONORABLE_TITLE
    }
#endif // __WORLDSERVER
}
#endif	//__REBIRTH
FuncTextCmd.cpp
Code:
#ifdef	__REBIRTH
BOOL TextCmd_rebirth( CScanner& scanner )
{
#ifdef __WORLDSERVER
	CUser *pUser;
	pUser = (CUser*)scanner.dwValue;
	if(pUser->m_nRebirthCount > MAX_REBIRTH_COUNT)
		pUser->AddText("Du hast bereits die maximale anzahl von Rebirthes erreicht!");
	else if(pUser->m_nLevel >= MAX_3RD_LEGEND_LEVEL && pUser->IsLegendHero())
		pUser->InitLevelRebirth( pUser->m_nJob-16,60, false);
	else
		pUser->AddText("Du hast nicht das passende Level für einen Rebirth!");
#endif
	return TRUE;
} 
#endif	//__REBIRTH
VersionCommon.h
Code:
#define	MAX_REBIRTH_COUNT				5		//Default = 0
#define	__REBIRTH								//Standart Rebirth System
DB:
Spallte ist erstellt und auf 0 gesetzt und vom Typ int

Character_STR
Code:
							, @im_nRebirthCount

								, m_nRebirthCount

						, m_nRebirthCount = @im_nRebirthCount

, @im_nRebirthCount int = 0
Hoffe jemand hat eine Idee was ich vergessen habe...



Andrej-Delany is offline  
Old 03/24/2013, 15:44   #2
 
elite*gold: 0
Join Date: Feb 2013
Posts: 162
Received Thanks: 151
DBManagerfun.cpp

Code:
#ifdef	__REBIRTH
	mover.m_nRebirthCount = qry->GetInt("m_nRebirthCount");
#endif	//__REBIRTH
Das muss in DBManagerjoin.cpp, was bei dir in DBManagerfun Steht, und zusätzlich noch dashier:

Code:
#ifdef	__REBIRTH
	ar << pMover->m_nRebirthCount;
#endif	//__REBIRTH
Ich bin mir aber nicht sicher.


i33zGames is offline  
Thanks
1 User
Old 03/24/2013, 18:17   #3
 
elite*gold: 0
Join Date: Dec 2012
Posts: 235
Received Thanks: 122
Quote:
Originally Posted by i33zGames View Post
DBManagerfun.cpp

Code:
#ifdef	__REBIRTH
	mover.m_nRebirthCount = qry->GetInt("m_nRebirthCount");
#endif	//__REBIRTH
Das muss in DBManagerjoin.cpp, was bei dir in DBManagerfun Steht, und zusätzlich noch dashier:

Code:
#ifdef	__REBIRTH
	ar << pMover->m_nRebirthCount;
#endif	//__REBIRTH
Ich bin mir aber nicht sicher.
Stimmt in der Join sthet es auch...

Muss für heute schluss machen habe noch was zu erledigen sry wird wohl heute nichts mehr werden
Andrej-Delany is offline  
Old 03/25/2013, 00:55   #4
 
elite*gold: 111
Join Date: Jan 2012
Posts: 1,143
Received Thanks: 876
is this need for rebirth system?

i do mine like this

from:
Code:
m_nRebirthCount
to:
Code:
m_nCampusPoint
And it works normally


Rhyder` is offline  
Thanks
1 User
Old 03/25/2013, 09:02   #5
 
elite*gold: 0
Join Date: Oct 2012
Posts: 947
Received Thanks: 153
m_nCampusPoint can be used for it. The only problem with it is that if you do the quest Master apprantice then it will also increased. Cause that system is using the m_nCampusPoint. I like the way Andrej does it making an new Row for it so you can still have the master apprentice system.

@andrej i will take an closer look in your code to see where it can be fixed when i am done with some bugs in my other systems.
raventh1984 is offline  
Old 03/29/2013, 22:19   #6
 
elite*gold: 0
Join Date: Dec 2012
Posts: 235
Received Thanks: 122
Quote:
Originally Posted by i33zGames View Post
Na bist du weiter gekommen?
Sry habe aktuell keine zeit arbeite von 8-21 Uhr da habe ich meist keine lust noch irgendwas anderes zu machen als mich auszuruhen ****** mich drum wenn ich wieder etwas mehr zeit habe
Andrej-Delany is offline  
Old 04/20/2013, 17:55   #7
 
elite*gold: 0
Join Date: Dec 2012
Posts: 235
Received Thanks: 122
Da ich keine Zeit mehr habe
#CloseRequest


Andrej-Delany is offline  
Closed Thread

Tags
flyff, rebirth



« Behemoth Bow | I NEED HELP »

Similar Threads
Rebirth System
10/05/2012 - SRO PServer - Discussions / Questions - 17 Replies
Is there a release how to input Rebirth System into your server? If so can someone link me to the thread or site? Please and Thank You Love , ZX
Rebirth system
07/29/2012 - Fiesta Online - 29 Replies
Kann mir jmd. die files von Rebirth system geben?
was bedeutet rebirth system ? :o
06/28/2011 - Dragonica - 1 Replies
ich hab das schon gegoogelt aber ich versteh nicht was das sein soll kann mir jemand weiter helfen ? :D
[IDDE] REBIRTH SYSTEM ..!!
05/10/2010 - Metin2 PServer - Discussions / Questions - 19 Replies
Hallo Com da bin ich wieder wie wärs eigentlich mit som rebirth system rebirth ist z.b wenn man +9 sachen hat leuchtet es dann gehts wieder aus naja guckts euch mal an ich finds genial YouTube - Knight Online Ares 83 LvL Ordeall Vs Movie
[Release] Rebirth System
05/23/2009 - Flyff PServer Guides & Releases - 13 Replies
Ich glaube es gibt soetwas noch nicht, deswegen release ich es mal. Ein Rebirth System ist ein System, wenn man Lvl. 120 ist das man wieder 60 kommt und immer so weiter, aber die Stattung und die Skills bleiben ! Anleitung : 1. Navicat öffnen...



All times are GMT +2. The time now is 16:49.


Powered by vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2018 elitepvpers All Rights Reserved.