Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Flyff > Flyff Private Server
You last visited: Today at 15:23

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

Advertisement



Quick Joba Change by Pummaaa

Discussion on Quick Joba Change by Pummaaa within the Flyff Private Server forum part of the Flyff category.

Reply
 
Old 05/29/2012, 21:33   #16
 
Pumaaa's Avatar
 
elite*gold: 0
Join Date: Sep 2008
Posts: 569
Received Thanks: 695
Code:
ifdef __QUICKJOBCHANGE
void CMover::InitLevelPumbaaa( int nJob, LONG nLevel, BOOL bGamma )
{
#ifdef __WORLDSERVER
	// ¿î¿µÀÚ ¸í·ÉÀ¸·Î ·¹º§¾÷ Çϴ°÷ÀÓ
	MoverProp* pProp = GetProp();
	if( pProp )
	{
		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 );
		m_nLevel = nLevel;

		SetJobLevel( nLevel, nJob );
		m_nDeathLevel = nLevel;
#if __VER >= 10 // __LEGEND	//	10Â÷ Àü½Â½Ã½ºÅÛ	Neuz, World, Trans
		if(IsMaster())
		{
			int dwTmpSkLevel = 1;//60, 72, 84, 96, 108
			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;
				}
			}
		}
		else if(IsHero())
		{
			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 = 5;
				}
			}
		}
		else if(IsLegendHero())
		{
			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 = 5;
				}
			}
		}
#endif	// 	__LEGEND	//	10Â÷ Àü½Â½Ã½ºÅÛ	Neuz, World, Trans
		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() );
		if( nJob >= 1 && nJob <= 4 )
		{
			m_nStr = m_nSta = m_nDex = m_nInt = 15;
			m_nRemainGP = 28;
		}
		if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER )
		{
			m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP;
			m_nStr = m_nSta = m_nDex = m_nInt = 15;
		}
		if( nJob == JOB_MERCENARY || nJob == JOB_ACROBAT || nJob == JOB_ASSIST || nJob == JOB_MAGICIAN || nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO )
		{
			CItemElem itemelem;
			itemelem.m_nItemNum = 1;
			itemelem.m_bCharged = TRUE;
			BYTE nID;
			vector<DWORD> vectmp;
			
			

			if( nJob == JOB_MERCENARY || nJob == JOB_ACROBAT )
			{
				vectmp.push_back( II_CHR_SYS_SCR_ACTIVITION );
				vectmp.push_back( II_CHR_FOO_COO_BULLHAMS;
				vectmp.push_back( II_SYS_SYS_SCR_RECCURENCE_LINK;
				vectmp.push_back( II_CHR_POT_DRI_VITALX;
			}
			else if( nJob == JOB_ASSIST || nJob == JOB_MAGICIAN )
				vectmp.push_back( II_CHR_SYS_SCR_ACTIVITION );
				vectmp.push_back( II_CHR_FOO_COO_BULLHAMS );
				vectmp.push_back( II_SYS_SYS_SCR_RECCURENCE_LINK );
				vectmp.push_back( II_CHR_REF_REF_HOLD );
			else if( nJob == JOB_FORCEMASTER_HERO )
				vectmp.push_back( II_ARM_ARM_SHI_ZEMBATO );
			else if( nJob == JOB_MENTALIST_HERO )
				vectmp.push_back( II_WEA_BOOK_BOKROMAIN );

			for( DWORD i=0; i<vectmp.size(); i++ )
			{
				itemelem.m_dwItemId = vectmp[i];
				( ( CUser*)this)->CreateItem( &itemelem, &nID );
			}
		}
		g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
		( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
		( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
		/*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
		( (CUser*)this )->AddTaskBar();*/
		( (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 //__QUICKJOBCHANGE
Pumaaa is offline  
Thanks
1 User
Old 05/30/2012, 03:08   #17
 
elite*gold: 0
Join Date: Feb 2010
Posts: 32
Received Thanks: 5
oh tnx sir Pumaaa.. going to test now..

sir in the source there are some simple errors but im sure i can fix it.. but should i add { and } in this line.?

Code:
			else if( nJob == JOB_ASSIST || nJob == JOB_MAGICIAN )
				vectmp.push_back( II_CHR_SYS_SCR_ACTIVITION );
				vectmp.push_back( II_CHR_FOO_COO_BULLHAMS );
				vectmp.push_back( II_SYS_SYS_SCR_RECCURENCE_LINK );
				vectmp.push_back( II_CHR_REF_REF_HOLD );
			else if( nJob == JOB_FORCEMASTER_HERO )
				vectmp.push_back( II_ARM_ARM_SHI_ZEMBATO );
			else if( nJob == JOB_MENTALIST_HERO )
				vectmp.push_back( II_WEA_BOOK_BOKROMAIN );
i mean it should look like this.. right.?

Code:
			else if( nJob == JOB_ASSIST || nJob == JOB_MAGICIAN )
                        {
				vectmp.push_back( II_CHR_SYS_SCR_ACTIVITION );
				vectmp.push_back( II_CHR_FOO_COO_BULLHAMS );
				vectmp.push_back( II_SYS_SYS_SCR_RECCURENCE_LINK );
				vectmp.push_back( II_CHR_REF_REF_HOLD );
			}
			else if( nJob == JOB_FORCEMASTER_HERO )
				vectmp.push_back( II_ARM_ARM_SHI_ZEMBATO );
			else if( nJob == JOB_MENTALIST_HERO )
				vectmp.push_back( II_WEA_BOOK_BOKROMAIN );
Oh nevermind sir finally fix.. tnx for everything! finally working!

finally working.. tnx sir.!
TIVenom2010 is offline  
Old 05/30/2012, 08:52   #18
 
Pumaaa's Avatar
 
elite*gold: 0
Join Date: Sep 2008
Posts: 569
Received Thanks: 695
Yeah i was a bit tired yesterday.

if you have an if statement with just one line you don't need the brackets.

ex:

if( nCookieNum > nEaten )
sprintf( "Nom Nom" );

It'll execute the next statement.

If you need 2 or more lines you need those brackets.

if( nCookieNum > nEaten )
{
sprintf( "Nom Nom" );
nCookieNum--;
nEaten++;
}



But please, next time write Pumbaaa's name correct :P

Because i have nothing in common with him and we don't rly code the same style.
Pumaaa is offline  
Old 05/30/2012, 11:01   #19
 
elite*gold: 0
Join Date: Feb 2010
Posts: 32
Received Thanks: 5
oh.. sure sir.. ^^ sory bout that.. yep finally fixed all.. tnx again..
TIVenom2010 is offline  
Reply


Similar Threads Similar Threads
Eagl3 VIp - No Reload - Quick Plant - Quick Defuse - Weapon Blinder - Esp Name
06/08/2012 - WarRock Hacks, Bots, Cheats & Exploits - 39 Replies
http://i.imgur.com/siJ1m.png http://i.imgur.com/M9DbG.png Scan Download for those who do not trust Scan dll Download dll Packed With Themida Password: war-hack
problem adding quick job change on RoC source?
05/15/2012 - Flyff Private Server - 0 Replies
15,60,master,hero are perfectly working but 3rd job arent.. mmm.. when i reach level 130 my exp is 99% not zero.. how can i fix this.? sory for my bad english.. and the window is not appering!
Straquaz D3D Version Vip 1.0 Quick Pant, Quick Defuse, No Reload, Hide Weapon
05/27/2011 - WarRock Hacks, Bots, Cheats & Exploits - 7 Replies
Ecco a voi la mia Versione Vip 1.0 100% Fixed Crasch SCREEN: http://img684.imageshack.us/img684/4876/myhackvip .png VirusTotal Download.dll Download .exe
[VIP] Power Level BOT v.3.6 [Bombseiten Teleport, Quick Plant, Quick Defuse ........]
04/27/2011 - WarRock Hacks, Bots, Cheats & Exploits - 3 Replies
x64 ONLY! Dont Work at x86 Ich selle ihn euch für ne Woche Public :o Als kleines Dankeschön für meine 2.500 Thanks http://img3.fotos-hochladen.net/uploads/boti5gbe7 qmks.png Download .zip
Quick Screen Res Change
10/17/2005 - CO2 Guides & Templates - 4 Replies
how to change your screen resolution without having to load/reload the client. note: you need to change the screen resolution before loading a client, you cannot change the screen resolution of an existing window... <edit> added rest of GameSetUp.ini's settings ____ File: &#092;ini&#092;GameSetUp.ini Line: ScreenModeRecord=0 Values: 0 = 800x600, windowed



All times are GMT +2. The time now is 15:23.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.