Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Flyff > Flyff Private Server > Flyff PServer Guides & Releases
You last visited: Today at 15:26

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

Advertisement



[Source Release] Jobauswahl bei Character Create

Discussion on [Source Release] Jobauswahl bei Character Create within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Mar 2011
Posts: 715
Received Thanks: 598
[Source Release] Jobauswahl bei Character Create

Hier erkläre ich euch wie ihr im Source eine Jobauswahl beim Character erstellen einbaut.

../NEUZ/Versioncommon.h

Tragt hier im oberen bereich einfach dies ein:
Code:
#define __JOB_CREATE_CHAR
../_Interface/WndTitle.cpp

Hier geht ihr in die Function
Code:
void CWndCreateChar::OnInitialUpdate()
und trägt unter
Code:
CWndNeuz::OnInitialUpdate();
Diesen code ein:

Code:
#ifdef __JOB_CREATE_CHAR
	m_Player.m_byJob = JOB_MERCENARY;
	CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 );
	pWndJobBox->AddString("Mercenary");//Edit by yannickmama
	pWndJobBox->AddString("Acrobat");
	pWndJobBox->AddString("Assist");
	pWndJobBox->AddString("Magician");
	pWndJobBox->AddWndStyle( EBS_READONLY );
	pWndJobBox->SetCurSel( 0 );
#endif //__JOB_CREATE_CHAR
In der gleichen Datei springen wir zu dieser function
Code:
BOOL CWndCreateChar::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
und suchen diese zeile:
Code:
		case WIDC_OK: // Create
			{
Darunter tragen wir dies ein:

Code:
#ifdef __JOB_CREATE_CHAR
				CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 );
				assert( pWndJobBox );

				if( pWndJobBox->GetCurSel() == -1 )
				{
					g_WndMng.OpenMessageBox( "Bitte wählen Sie einen Job" );
				return TRUE;
				}

				switch( pWndJobBox->GetCurSel() )
				{
				case 0:
				m_Player.m_byJob = JOB_MERCENARY;
				break;
				case 1:
				m_Player.m_byJob = JOB_ACROBAT;
				break;
				case 2:
				m_Player.m_byJob = JOB_ASSIST;
				break;
				case 3:
				m_Player.m_byJob = JOB_MAGICIAN;
				break;
				default:
				m_Player.m_byJob = JOB_MERCENARY;
				break;
				}
#endif //__JOB_CREATE_CHAR

../databaseserver/versioncommon.h

Dort tragen wir irgendwo oben dies ein
Code:
#define __JOB_CREATE_CHAR
../_Database/DbManager.cpp

Dort gehen wir zu der Function
Code:
void CDbManager::CreatePlayer( CQuery *qry, LPDB_OVERLAPPED_PLUS lpDbOverlappedPlus )
und suchen nach
Code:
pd.data.nJob = 0;
und ersetzen es durch
Code:
#ifdef __JOB_CREATE_CHAR
			pd.data.nJob = nJob;
#else //__JOB_CREATE_CHAR
			pd.data.nJob = 0;
#endif //__JOB_CREATE_CHAR

So das wäre schonmal das zeugs für den Source.

Wir müssen aber jetzt noch die Datenbank bearbeiten deswegen gehen wir zur Datenbank CHARACTER_01_DBF in die Stored Procedure CHARACTER_STR
und suchen dort
Code:
			       FROM BASE_VALUE_TBL
				 WHERE g_nSex 								= @im_dwSex
und ersetzen es durch

Code:
			       FROM BASE_VALUE_TBL
				 WHERE g_nSex 								= @im_dwSex AND
						m_nJob								= @im_nJob
Nachdem ihr dies alles getan habt könnt ihr in der BASE_VALUE_TBL in der CHARACTER_01_DBF die Einträge für weitere Jobs tätigen.

Ihr müsst dabei nur darauf achten das nJob und g_nSex passt. Immer zwei einträge für g_nSex = 0 und g_nSex = 1 erstellen.

Ihr müsst aber in der Character_STR noch einträge (einfach unter der Selectierung der BASE_VALUE_TBL) für die SKILLINFLUENCE_TBL hinzufügen.
Diese ist dazu da um den Server zu sagen welche Skills dein Character skillen kann.
Habe die leider nichtmehr und bin zu faul das jetzt wieder zu machen :'D
yannickminecraft is offline  
Thanks
42 Users
Old 07/21/2011, 06:30   #2
 
elite*gold: 0
Join Date: Dec 2010
Posts: 463
Received Thanks: 97
Nice hab gerade keine Zeit es auszuprobieren THX bekommst du trozdem
MysticAngelz is offline  
Old 07/21/2011, 08:26   #3
 
elite*gold: 0
Join Date: Jun 2011
Posts: 225
Received Thanks: 22
is der Char dann lvl 1 und Merc, etc.?
Karamelleis is offline  
Old 07/21/2011, 09:48   #4



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,475
ohne character str is das nutzlos xd und wozu base value nutzen xd ?

ich post die charstr mal ohne fehler wenn ich zu haus bin...

Edit: Sry, ich habs mir anders überlegt.
Sedrika is offline  
Old 07/21/2011, 12:52   #5
 
elite*gold: 0
Join Date: Mar 2011
Posts: 715
Received Thanks: 598
Quote:
Originally Posted by Sedrika View Post
ohne character str is das nutzlos xd und wozu base value nutzen xd ?
Wieso nutzen wir die PropSkill? Hardcoden wir doch alles WEHYA!!!

Sei mal bisschen Flexibel. Damit können wir individuel jedem Job ein passendes Equiment, Level, Items, Hp, Mp, FP, Spawnplatz, Spawnworld und sonst noch was so anliegt geben.
yannickminecraft is offline  
Thanks
4 Users
Old 07/21/2011, 12:54   #6



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,475
Quote:
Originally Posted by yannickminecraft View Post
Wieso nutzen wir die PropSkill? Hardcoden wir doch alles WEHYA!!!

Sei mal bisschen Flexibel. Damit können wir individuel jedem Job ein passendes Equiment, Level, Items, Hp, Mp, FP, Spawnplatz, Spawnworld und sonst noch was so anliegt geben.
Schon yoah, jedoch geht das auch direkt ohne base value, zudem kann man da noch mehr hinzufügen xD

Meld dich mal in ICQ xD
Sedrika is offline  
Old 07/21/2011, 13:07   #7
 
elite*gold: LOCKED
The Black Market: 116/0/3
Join Date: May 2011
Posts: 3,618
Received Thanks: 2,007
Bei mir findet er
Code:
 pd.data.nJob = 0;
nicht o:
Also ich sehe nur
Code:
 //			pd.nJob	= 0;
^^
Kurosaki' is offline  
Old 07/21/2011, 13:20   #8



 
Sedrika's Avatar
 
elite*gold: 18
The Black Market: 103/0/0
Join Date: Sep 2009
Posts: 20,177
Received Thanks: 14,475
Quote:
Originally Posted by Divine. View Post
Bei mir findet er
Code:
 pd.data.nJob = 0;
nicht o:
Also ich sehe nur
Code:
 //            pd.nJob    = 0;
^^
Hier, das mussu finden:
Quote:
#ifdef __CREATE_JOB
pd.data.nJob = nJob;
#endif // __CREATE_JOB
// pd.nJob = 0;
// pd.dwState = 0;
pd.data.nLevel = 1;
pd.data.nSex = nSex;
pd.data.nVer = 1;
Sedrika is offline  
Old 07/21/2011, 13:32   #9
 
elite*gold: 0
Join Date: Mar 2011
Posts: 715
Received Thanks: 598
Quote:
Originally Posted by Sedrika View Post
Schon yoah, jedoch geht das auch direkt ohne base value, zudem kann man da noch mehr hinzufügen xD

Meld dich mal in ICQ xD


Natürlich geht das direkt. Hast wohl nicht meine Anspielung mit den propSkill bezüglich des Hardcodens bemerkt?
Dann halt nochmal ganz langsam.

Ich kann den Wert @im_nJob auch direkt eintragen das ist mir bewusst. Aber wenn ich die Base_Value_TBL benutze bin ich viel flexibler und kann leichter änderungen vornehmen / hinzufügen.

Das wäre sozusagen mit dem Hardcoden der propSkills gleichzustellen.


//Für die Leecher geilen. Heute im laufe des Tages werd ich noch das Colosseum komplett fertig mit allen drum und dran releasen.
yannickminecraft is offline  
Thanks
4 Users
Old 07/21/2011, 17:55   #10
 
elite*gold: LOCKED
The Black Market: 116/0/3
Join Date: May 2011
Posts: 3,618
Received Thanks: 2,007
Ich seh nur das hier
Code:
#if __VER >= 11 // __SYS_PLAYER_DATA
			PlayerData pd;
//			pd.nJob	= 0;
//			pd.dwState	= 0;
			pd.data.nLevel	= 1;
			pd.data.nSex	= nSex;
			pd.data.nVer	= 1;
			lstrcpy( pd.szPlayer, lpDbOverlappedPlus->AccountInfo.szPlayer );
			PlayerData* pPlayerData		= CPlayerDataCenter::GetInstance()->AddPlayerData( nidPlayer, pd );
#else	// __SYS_PLAYER_DATA;
O:
Kurosaki' is offline  
Old 07/21/2011, 18:06   #11
 
elite*gold: 0
Join Date: Jan 2011
Posts: 373
Received Thanks: 114
Quote:
Originally Posted by Divine. View Post
Ich seh nur das hier
Code:
#if __VER >= 11 // __SYS_PLAYER_DATA
			PlayerData pd;
[COLOR="Red"]//			pd.nJob	= 0;[/COLOR]
//			pd.dwState	= 0;
			pd.data.nLevel	= 1;
			pd.data.nSex	= nSex;
			pd.data.nVer	= 1;
			lstrcpy( pd.szPlayer, lpDbOverlappedPlus->AccountInfo.szPlayer );
			PlayerData* pPlayerData		= CPlayerDataCenter::GetInstance()->AddPlayerData( nidPlayer, pd );
#else	// __SYS_PLAYER_DATA;
O:
da
~Product~ is offline  
Thanks
1 User
Old 07/21/2011, 19:22   #12
 
elite*gold: LOCKED
The Black Market: 116/0/3
Join Date: May 2011
Posts: 3,618
Received Thanks: 2,007
Ich habe noch ein Problem (:
In der DB unter Character_STR
Hab das hier
Code:
 			       FROM BASE_VALUE_TBL
				 WHERE g_nSex 								= @im_dwSex
In das hier geändert
Code:
 FROM BASE_VALUE_TBL
				 WHERE g_nSex 								= @im_dwSex AND
						m_nJob
Aber ich bekomme diesen Error hier
Code:
 Meldung 4145, Ebene 15, Status 1, Prozedur CHARACTER_STR, Zeile 1188
In der Nähe von 'INSERT' wurde ein nicht boolescher Ausdruck in einem Kontext angegeben, in dem eine Bedingung erwartet wird.
Kurosaki' is offline  
Old 07/21/2011, 19:32   #13
 
Soralein's Avatar
 
elite*gold: 0
Join Date: Jul 2010
Posts: 38
Received Thanks: 9
Quote:
Originally Posted by Divine. View Post
Ich habe noch ein Problem (:
In der DB unter Character_STR
Hab das hier
Code:
 			       FROM BASE_VALUE_TBL
				 WHERE g_nSex 								= @im_dwSex
In das hier geändert
Code:
 FROM BASE_VALUE_TBL
				 WHERE g_nSex 								= @im_dwSex AND
						m_nJob
Da fehlt doch auch was ö.ö
Im ersten Post steht doch
Code:
  FROM BASE_VALUE_TBL
				 WHERE g_nSex 								= @im_dwSex AND
						m_nJob								[COLOR="Red"]= @im_nJob[/COLOR]
Soralein is offline  
Thanks
1 User
Old 07/21/2011, 21:31   #14
 
elite*gold: LOCKED
The Black Market: 116/0/3
Join Date: May 2011
Posts: 3,618
Received Thanks: 2,007
Nun hab ich nochmal ein Problem :x xD
Wenn ich mir ein Char erstellen will, stürzt der Client ab, wenn man auf Create drückt oder sowas ^^
Kurosaki' is offline  
Thanks
1 User
Old 07/21/2011, 23:33   #15
 
elite*gold: 0
Join Date: Mar 2011
Posts: 715
Received Thanks: 598
Quote:
Originally Posted by Divine. View Post
Nun hab ich nochmal ein Problem :x xD
Wenn ich mir ein Char erstellen will, stürzt der Client ab, wenn man auf Create drückt oder sowas ^^
Error log.
yannickminecraft is offline  
Thanks
1 User
Closed Thread


Similar Threads Similar Threads
[NEED HELP] CANT CREATE CHARACTER
06/12/2010 - EO PServer Hosting - 6 Replies
http://img808.imageshack.us/img808/9269/cantcreate .jpg Someone can help me ?.. i already put my name in cq_user anything should i edit?.. help me plss...:confused::confused::confused::confused:
[Release]How to create CPBags (LOFT Source!!)
02/13/2010 - CO2 PServer Guides & Releases - 1 Replies
I know the most people are still running loft source so here is the code Search in Character.cs for: else if (ItemParts == "723723") Add this code down there else if (ItemParts == "729910")//CPMiniBag { CPs += 1000; MyClient.SendPacket(General.MyPackets.Vital(UID, 3, CPs)); RemoveItem(ItemUID);
[Need Help]Create character
05/06/2008 - SRO Private Server - 2 Replies
When im try too create a character its says , Wrong words , im try out word just numbers and its seems not works:mad:Any 1 can help me?
Can't create character!!! HELP
05/04/2008 - SRO Private Server - 4 Replies
Hey there, I finally get account for ECSRO but there is one problem, then i log in account, press create characher, i writele name with numbers like this 86545565 it's for exsample, so i press Create and it's say that "Invalid Letters is Used" wtf? I can't create now even nick name with numbers? :confused:



All times are GMT +1. The time now is 15:26.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.