标题: 职业选择在创建角色 [打印本页] 作者: admin 时间: 2016-1-10 03:46 标题: 职业选择在创建角色 在这里,我向你解释如何在源选择安装到创建工作中的字符。$ x" g, o* g9 G$ F4 ~0 y$ S z \
../NEUZ/Versioncommon.h * t" o! c" Z2 K. L( t3 Y * n/ t4 O& X) [$ s( {8 Q! N' v; c在上范围进这里只是这一个: D/ ]# K5 m$ t; K/ F U; G. W
代码:6 w: ?" C5 N' t" a
/ \7 B( V% `9 P' P#define __JOB_CREATE_CHAR& d" _) R7 Y& j9 ~
../_Interface/WndTitle.cpp0 [6 q2 C+ G3 ]1 a _
R& l. ?7 ?& h) Z
在这里你进入功能3 }: H; ^+ R ~6 P3 ^% s. i
代码:( \( I' j- A, P4 s' w
+ X" z2 i- r8 K0 evoid CWndCreateChar::OnInitialUpdate()* v l0 Y- {; ~' I+ |9 F' a- C5 m
并有助于, S. Q; \7 f% e& A
代码: 3 c. @$ _2 A( w$ F! w& l5 LCWndNeuz::OnInitialUpdate(); 8 K# k' o I9 o. k这样的代码: Z; S9 W9 Z! @% r: S# c代码:" _: F% f5 ]8 v. a$ C8 a
#ifdef __JOB_CREATE_CHAR # m) `0 q. n) H m_Player.m_byJob = JOB_MERCENARY;6 T* u8 Y9 O0 R: O( c5 ~9 j/ O
CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 ); ; D7 q9 W- A _; b n pWndJobBox->AddString("Mercenary");//Edit by yannickmama2 q( q R/ ]3 Z V8 `9 d. l/ ]9 H
pWndJobBox->AddString("Acrobat"); $ [: z$ J5 W/ Q( w: Z t3 l+ i$ M pWndJobBox->AddString("Assist"); 2 r& Q) p- ~2 W. q4 c4 o pWndJobBox->AddString("Magician");$ C4 v% T$ T; |) ~1 i: Z2 z
pWndJobBox->AddWndStyle( EBS_READONLY ); ; q. |: Z0 {4 ]( N# [ pWndJobBox->SetCurSel( 0 );" l" |' G# P3 Z9 \, w. q8 P
#endif //__JOB_CREATE_CHAR - \! G! S* `4 I在同一文件中,我们跳到这个功能 ! z: l8 W' P8 L/ S+ I( c: T& a代码:7 l5 v/ S. }. P8 G' B3 l8 U6 \; w3 n
BOOL CWndCreateChar::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ) , M: _, G% W- y: d, g9 B2 ~' z并查找这一行: 0 A, m( c4 e8 w% \# E: X代码: 7 s) }) n& o. y) L* O case WIDC_OK: // Create& W9 C" ?+ n' Q7 G
{ 0 u( }5 k) C5 A. W# {下面我们就这一个: ! }/ Z' A* O3 T; z! `, W代码: $ k* b% Q0 S% U( P7 t, r 8 `) G6 P1 q( P2 [5 \#ifdef __JOB_CREATE_CHAR4 E1 K! I6 L" w- c |
CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 ); 2 k M- ?5 n/ V6 \8 e* W assert( pWndJobBox );2 O" }6 S' D9 g* A, {; o/ ~3 g
5 t2 p; n8 ~, c9 |
if( pWndJobBox->GetCurSel() == -1 ) & t- H& @- t7 O9 E7 A3 u# N { ! M. P4 z5 V1 r6 Y! x0 _ g_WndMng.OpenMessageBox( "Bitte w?hlen Sie einen Job" ); ' [3 [% C4 T; @0 ]4 U# K& f2 r2 ] return TRUE; - P- r; i: `/ E/ J; H }4 S Z+ e$ v0 @
8 ` E6 P. x$ ]8 _2 }" X7 S switch( pWndJobBox->GetCurSel() )6 h9 c% O) B0 D, h7 y' h6 G
{ 6 H, ]0 Q, S& b2 S' e! c' m! x+ U( E case 0: 6 D- q$ i, X( ]' y! c2 v, s m_Player.m_byJob = JOB_MERCENARY;% b3 T! S0 n- ~1 k1 C$ f
break; ' v. w6 q/ `2 v5 D0 w case 1: / ]+ _* `0 R/ U1 y m_Player.m_byJob = JOB_ACROBAT;3 m* ^4 P- Z9 j4 G7 C8 B
break; 7 A$ J& c2 M% I: c- v3 N case 2: ) O( M4 K7 ?/ r# I) G m_Player.m_byJob = JOB_ASSIST;6 T& r$ g* }. j. u% h
break; 8 @4 v8 t R- |& c3 g) ~/ K case 3: $ |# }2 ?, E2 h% i' I) g. D m_Player.m_byJob = JOB_MAGICIAN; 5 j7 h1 ^9 c4 l break; " F P& Z1 P# E' K; G default:5 H. K9 ^0 A2 P
m_Player.m_byJob = JOB_MERCENARY; # I" [9 m. G ?2 R9 U2 B3 L break; 8 c9 `0 [/ c; |. Q t2 f6 N }% Z- e. B& |! l" N2 [( A7 K; _
#endif //__JOB_CREATE_CHAR 0 W5 J+ _ N Y5 Z 0 y9 V8 X8 {1 P6 O6 F" F- c../databaseserver/versioncommon.h y' z7 p# \, B2 |& |" n
n9 V! C, I7 f8 {; `+ o在这里,我们这一个以上的地方进行 ' A; R. I) \+ ~5 Y: Z代码: " i% g: N8 _6 f K( ~/ l4 H 2 @% _ }+ n0 ^, A, }! l9 M#define __JOB_CREATE_CHAR : I) r i9 \ E G6 s% L4 `../_Database/DbManager.cpp 6 Z' Z, K7 y& }- k; Z- y+ Q1 N/ X8 A! _/ C+ t8 Y6 C: u5 b
在那里,我们去的功能9 K i" ]" K! `& |
代码: 0 y# X5 g6 d0 \- Y# Z4 C6 g5 A0 |1 l- e
void CDbManager::CreatePlayer( CQuery *qry, LPDB_OVERLAPPED_PLUS lpDbOverlappedPlus )/ {! x" p' N& i: I
并搜索2 g" r7 \ F \8 Y# ]0 N0 [3 r1 L
代码:) O1 _5 L( N/ S. f
pd.data.nJob = 0; / V+ _9 v: ]/ J% z并替换为* B- a# t/ c5 J4 \5 G5 o
代码:" T& q! }3 j) ^1 C, A
#ifdef __JOB_CREATE_CHAR : a* `. T+ Z0 P9 M' G pd.data.nJob = nJob;3 j' s9 a) j, F8 b
#else //__JOB_CREATE_CHAR ( f F0 A% `& [1 J* m G4 h4 l& ` pd.data.nJob = 0; , p) B- j) i5 B* K* X#endif //__JOB_CREATE_CHAR0 b# X! F# }1 a$ d
( M; X: W1 O$ S3 L' F/ _) ^1 M这将永远有一个来源的东西。3 h/ t6 `: U7 J0 S1 _' k8 p
5 K# l8 ]. V# w v+ L7 A A# m4 g但我们现在必须修改数据库,所以我们走在存储过程CHARACTER_01_DBF CHARACTER_STR到数据库 1 @9 S9 U4 D9 V F和搜索 - I1 ^9 S: ?, X代码:" @: \# m) U$ K( a" h
0 {) l6 a( f; r
FROM BASE_VALUE_TBL + Z5 l" L! C* l) {: Z WHERE g_nSex = @im_dwSex # g! O! {3 R, I) q9 K) N5 \! B并替换为 N s" L3 K7 F- m# v& `- o代码:9 I+ p" W, w/ V; C+ L0 B
FROM BASE_VALUE_TBL8 g/ x; E; E8 I+ c, R
WHERE g_nSex = @im_dwSex AND! d( i' ]& b# y3 }; o
m_nJob = @im_nJob 0 E8 e) }4 K; P% B当你做的工作,以便更积极的条目BASE_VALUE_TBL CHARACTER_01_DBF都可以。 : @. h& R2 D! S* G+ k( Z 7 a7 r" S" m; x& M' q; T k你必须确保它仅适合和njob g_nSex。始终创建两个g_nSex g_nSex=0和=1项。) k/ p8 Z3 @8 v- f% ]