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:
../_Interface/WndTitle.cpp
Hier geht ihr in die Function
und trägt unter
Diesen code ein:
In der gleichen Datei springen wir zu dieser function
und suchen diese zeile:
Darunter tragen wir dies ein:
../databaseserver/versioncommon.h
Dort tragen wir irgendwo oben dies ein
../_Database/DbManager.cpp
Dort gehen wir zu der Function
und suchen nach
und ersetzen es durch
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
und ersetzen es durch
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
../NEUZ/Versioncommon.h
Tragt hier im oberen bereich einfach dies ein:
Code:
#define __JOB_CREATE_CHAR
Hier geht ihr in die Function
Code:
void CWndCreateChar::OnInitialUpdate()
Code:
CWndNeuz::OnInitialUpdate();
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
Code:
BOOL CWndCreateChar::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
Code:
case WIDC_OK: // Create
{
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
Dort gehen wir zu der Function
Code:
void CDbManager::CreatePlayer( CQuery *qry, LPDB_OVERLAPPED_PLUS lpDbOverlappedPlus )
Code:
pd.data.nJob = 0;
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
Code:
FROM BASE_VALUE_TBL WHERE g_nSex = @im_dwSex AND m_nJob = @im_nJob
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