|
在这里,我向你解释如何在源选择安装到创建工作中的字符。4 p1 p: R5 ] V0 U
../NEUZ/Versioncommon.h) M' ^. J1 d d3 o# B8 l( M
* ]4 v, S+ a O4 t" g" q, U在上范围进这里只是这一个:
6 L# u' Q6 y6 N! Q1 V! K代码:! v% Q1 L4 [: ^+ I# G6 K
) z; R9 A6 b$ a: Z2 z) @
#define __JOB_CREATE_CHAR
' z* J" H' k1 K: \../_Interface/WndTitle.cpp& d: L2 `2 a$ o5 U1 T/ R
: S* a$ x* |) v2 _" p' ]在这里你进入功能5 ^1 U* x) B. l+ ^9 n( `- m V/ X
代码:
+ ^, p) V3 `) I$ g: E8 Q' N
3 Y0 a! R6 Y" N% [3 L, A! }7 J& hvoid CWndCreateChar::OnInitialUpdate()3 F$ A- l; x6 M; A) h& F
并有助于
9 \4 Y$ g1 C$ n5 `8 W代码:( Y; Z3 q- C6 \+ ^! C
CWndNeuz::OnInitialUpdate();
: y# l9 L1 N" [& a+ Z这样的代码:
- p1 z% s% S/ O( k! f代码:
# C0 a& O. e) @#ifdef __JOB_CREATE_CHAR
' W; l x& B' ?& L1 F m_Player.m_byJob = JOB_MERCENARY;
9 K* k! O6 |( j! ?- ` CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 );+ @% V7 U. M+ V6 X" d* D
pWndJobBox->AddString("Mercenary");//Edit by yannickmama
" P* ?3 ^9 c/ G3 D' W6 e. s0 V. c pWndJobBox->AddString("Acrobat");
# P. P/ o# f9 `4 Z O) L pWndJobBox->AddString("Assist");5 q2 p( r/ s# v& `. x
pWndJobBox->AddString("Magician");6 O- f3 @: j5 g- l2 l2 `
pWndJobBox->AddWndStyle( EBS_READONLY );
( ?4 c! P1 e: r: e: G J pWndJobBox->SetCurSel( 0 );9 @) y5 S% y) @: g
#endif //__JOB_CREATE_CHAR9 \6 C* X3 M. W6 i: q
在同一文件中,我们跳到这个功能* W. G7 y' ~+ a9 O1 S
代码:
7 e% G# Y& M. z; _# j8 yBOOL CWndCreateChar::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ) i# p- B# I4 M
并查找这一行:
% D& q! \- ~8 Z4 R) V代码:8 o1 g. Y! `! O. b9 ]5 M. ?" w
case WIDC_OK: // Create
8 O: z9 T! N# t' [: F' d {
- Z, {6 r9 k, w& q' h$ g4 l下面我们就这一个:
7 M1 d: b. v/ C2 C代码:
. x+ g- s5 i. F0 j' A# v( E; A7 R* K
#ifdef __JOB_CREATE_CHAR
7 z5 D* H6 n% [2 n6 q9 _ CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 );
, w h* F7 N. f; d# F% x( t X& Q, ? assert( pWndJobBox );2 z, {$ H6 x m" e
4 L& I+ I) V4 W4 Q
if( pWndJobBox->GetCurSel() == -1 )
: d# `# y% c4 @6 H3 h4 Q {
* o1 J& X1 w e: E. ]* ~, g8 u! Q$ X g_WndMng.OpenMessageBox( "Bitte w?hlen Sie einen Job" );
5 q0 X# T7 @+ s6 P' t& a9 @ return TRUE;
1 d" p0 a. i. s0 ], j }
! a: j# F" N$ \
0 L- o! E. S! t3 C switch( pWndJobBox->GetCurSel() )/ l" _! I5 x `. R4 L; E' A
{
8 F/ J% t" `6 Z0 M case 0:
( L2 R/ @! E* } m_Player.m_byJob = JOB_MERCENARY;! _; o# q* Z" j: q k
break;
5 c1 e5 E% ~7 S3 F; [2 H( Q, j case 1:3 h% R1 f L* ^" Y x0 k, V4 M
m_Player.m_byJob = JOB_ACROBAT;
2 f4 V! t3 q* B break;
5 |# Y6 i( W+ d; S ^! K$ E+ r3 ]% R0 r case 2:
9 y( G6 |7 G% ]1 x; B m_Player.m_byJob = JOB_ASSIST;1 `7 A, ^2 {+ q$ d. h) S3 X; \
break;
& q/ f- a" c/ Z# c; Q: A8 \9 `8 I case 3:2 I0 ]6 d) m9 _9 g6 j* f
m_Player.m_byJob = JOB_MAGICIAN;
; [/ a- h1 Y8 Z1 R0 [3 C5 U- E break;
# d: h+ q* z6 c. v9 ]/ X8 G6 X* b default:
8 w* X8 l( Y) a8 B0 p( @ m_Player.m_byJob = JOB_MERCENARY;
. R4 S& t. b! [( J break;
. V. w( z$ V! P; Y5 \ }2 T& i" v. g# l- |# q" O p8 }
#endif //__JOB_CREATE_CHAR% h9 M- ~# q5 @/ o/ g# `( q
`, }: {5 t& T- Q2 L# y../databaseserver/versioncommon.h! z+ O, ~3 d7 T+ ~; y' k9 J
" h- W8 a" T8 P在这里,我们这一个以上的地方进行; d/ ~: Z# z+ o1 o, r3 E) S/ G6 b
代码:
! V8 x; z. O/ O# h; n2 D) ^' x. g) Z/ O$ L! ^/ R
#define __JOB_CREATE_CHAR# d! D/ N* o+ x8 S7 G
../_Database/DbManager.cpp
$ b0 C- W/ I9 Y
! b: @( K$ K; W6 d" I+ o在那里,我们去的功能
; r7 @0 i+ J0 n) G& A$ M Z% j代码:0 T, h2 l' E6 M" _ ?" Y* k- s
. @# I) _/ h C' O* j( ~7 `2 u
void CDbManager::CreatePlayer( CQuery *qry, LPDB_OVERLAPPED_PLUS lpDbOverlappedPlus )
r9 _( w# Y/ n% h. \并搜索8 Z/ ?) f9 ]! @: n; w g7 h/ ?
代码:+ A! W( S$ ]& ^' K" K
pd.data.nJob = 0;% C" z7 U/ @" A7 r3 c0 S1 t
并替换为 s. I, X. @, |
代码:( u; w3 w4 x! @' u D4 f, g& w
#ifdef __JOB_CREATE_CHAR5 d5 r0 @+ s3 t; h; g0 ^4 P9 e
pd.data.nJob = nJob;
/ ]& L+ p* ?2 J5 n) Y" s- ]#else //__JOB_CREATE_CHAR# I' C" \' Z* r0 s) {: Z
pd.data.nJob = 0;
3 f% o( S U1 v! ^; \#endif //__JOB_CREATE_CHAR
( X' B8 P8 R: X- a- H7 Q, `
9 n% ^$ @* h% ~ j# x! G3 B8 [这将永远有一个来源的东西。
4 @4 c- o1 }9 g/ v$ H* z! ^( X! u% {
但我们现在必须修改数据库,所以我们走在存储过程CHARACTER_01_DBF CHARACTER_STR到数据库# s! l' r3 E3 P( Q+ P8 Z- {
和搜索
- E! @( t& n. q6 Y7 K! _! x/ M) Y( F代码:$ Y- H# X, f1 U0 \9 i6 B" k7 P
- B* H3 `) }! R3 h; O6 M$ I
FROM BASE_VALUE_TBL
/ X- e8 f1 L( g. _4 T WHERE g_nSex = @im_dwSex
3 J7 ]8 u! l b" b0 p1 x并替换为; Q- E+ M1 A( j; o$ [ [0 o: Y8 v
代码:7 z+ a: \+ [' c* a; q, L& v
FROM BASE_VALUE_TBL( n' x: R/ Y/ @' O; H$ s/ N
WHERE g_nSex = @im_dwSex AND
" @; \8 `2 l+ m0 K* q& E m_nJob = @im_nJob
4 F, Z2 k' _! u- m: y' r当你做的工作,以便更积极的条目BASE_VALUE_TBL CHARACTER_01_DBF都可以。
" W) z$ C1 t1 I8 Z) `
~7 p- Z- j# y8 l你必须确保它仅适合和njob g_nSex。始终创建两个g_nSex g_nSex=0和=1项。+ k2 F7 J, w4 ]- Z1 C
2 a2 A. M9 W; V4 Q/ Y: h+ y
你必须,但是,仍然在Character_STR条目(刚下Selectierung BASE_VALUE_TBL)为补充SKILLINFLUENCE_TBL。
0 A0 m$ Q6 Z7 U这是那里告诉服务器哪些技能你的角色可以skillen。, y+ A; {4 |" t0 v" Z% i
可惜我不再the'm懒得现在要做的话:'D/ c, L W: a O6 S/ G# i
* u L2 d% g/ P$ R% u' F
# h& H t7 }% U( i2 z/ r8 v; ^1 W6 d. |# ~6 M
+ ?- K' [8 Y# P/ z, g6 S$ p
5 r0 @5 g4 O$ m1 W( M: ?/ N4 ^
5 k/ Q R0 i' P: U: O& ]- K% _, h
& O% E1 g- G3 x6 `( y9 U
: f$ p6 f1 S) I* `( D, n! M% \Quote:
5 ~1 Q7 P3 H4 z% Q/ O; I9 m# FOriginally Posted by Divine.
1 O7 Q/ P+ e; O( J \如果他发现我7 a+ B X% q, x% O; t$ o% Q' ]
代码:! }. J) K& }5 N' Y
pd.data.nJob = 0;
4 |' |# m3 L/ q+ O8 V" ?并非如此:
4 ]+ ^! ?# u9 s6 \: k所以,我只能看到, {2 h/ ^' w% C
代码:
, T: |, k$ Y' x p1 @1 K // pd.nJob = 0;, P7 P$ L% A& V @( H) N! Z
^^
! n( k+ ^# p3 S# l& nHier, das mussu finden:
: d8 C9 t. i( TQuote:( G' e$ N& m0 n- g' s: _7 v
#ifdef __CREATE_JOB3 c5 E; Z! H: e) S* x% {4 B
pd.data.nJob = nJob;
" [" b6 ~3 j2 }2 @#endif // __CREATE_JOB2 B7 D3 y! _ b: G4 Z& X
// pd.nJob = 0;
; V5 a' Q4 Y6 G// pd.dwState = 0;) @7 s5 ~7 b( H
pd.data.nLevel = 1;
r( ~7 Y. W ~ qpd.data.nSex = nSex;1 b2 O2 a6 s- f& B* |/ l
pd.data.nVer = 1;
]/ @ k9 @# H
! z8 h# l- P6 L& j) m我仍然有一个问题(:
4 _7 D j! x& o- U, P' c [下Character_STR DB
5 G% F: d) z2 p! i" A5 c这样做在这里
1 A# Y+ ?) b7 Y) C3 g代码:4 j7 X) g, r& w8 x0 f+ n
FROM BASE_VALUE_TBL
7 a" _; {* ~, g' n: a- K" [ WHERE g_nSex = @im_dwSex; u0 f% o$ t4 w1 I
在这里改变
; s$ R1 l) @, \" @; f2 q/ }代码:
( c, a* B- |/ A! p FROM BASE_VALUE_TBL
7 Z# f0 \; p8 ]0 I; n3 @ WHERE g_nSex = @im_dwSex AND
7 ?# `9 j) I# R W m_nJob! o* f2 c7 g: S$ ~1 @& w8 @
由于还需要什么?.?
/ |7 s$ z# h& S! y在第一篇文章中,你可以阅读: n {1 k/ ]# S0 M8 L
代码:! M# w6 ~3 |9 L# Q
FROM BASE_VALUE_TBL) W3 h( N' S# I) U4 w9 J
WHERE g_nSex = @im_dwSex AND
4 x7 g! R# }2 }; \& |1 x# s m_nJob
7 \ y' {3 D$ X
^/ I! R. `$ q6 J
" {8 }% c- Z+ M2 C4 b7 t+ {7 s窗口是什么我忘了$ F n$ J( g- s- i; @# }( z
5 r3 m1 l: n9 M0 H
代码:% X5 y. m5 F/ W9 W i5 C# U
APP_CREATE_CHAR "WndTile08.tga" 1 544 368 0x2410000 262 w; S6 K+ w" O- H' z0 T! V
{6 x1 n! _4 x/ z7 w5 u* t
// Title String
0 f8 v' q; K7 ZIDS_RESDATA_INC_003064* V1 p3 e6 a# }, y% Z
}
$ X% c* q# f, T7 u$ Q{. q' j- a5 W0 H5 e6 r0 v; Q& T
// Help Key
+ T2 |! E- P1 dIDS_RESDATA_INC_003065
! X i9 W/ r$ d2 a5 A Y0 H' U+ f}+ y7 Q' c$ ^8 O. m& K
{' y# `' I L2 M! E
WTYPE_BUTTON WIDC_OK "ButtOk.tga" -842150451 176 300 248 320 0x220000 0 0 0 0. C0 ~& H% ?% t- Z: R$ Q; A8 F
{
" K& u5 N+ \* ?% G M8 q2 y6 [ // Title String
! j" F7 t$ g7 p$ N1 |IDS_RESDATA_INC_003066! v6 Z1 [: d" r- ?) `; n
}2 X/ d8 c, q: {3 r4 r5 |/ Z+ M0 \- I
{
% I( Q n, v, B // ToolTip: l+ d- x1 W" R
IDS_RESDATA_INC_0030675 m& ?8 K& e! Q$ `$ a1 U
}; G1 {7 n6 W5 V7 f
WTYPE_BUTTON WIDC_CANCEL "ButtCancel.tga" -842150451 280 300 352 320 0x220000 0 0 0 0
- N" \+ j( @2 M; A- ~ {
& f5 ^( L% F5 I$ h# {, n // Title String
0 [' ~3 g& n3 B$ L& A" m9 M! @IDS_RESDATA_INC_003068
: h2 ?4 q0 M9 `( t, @ }( Y W, E8 P* }: X+ }0 B% B& z9 H
{
# Z8 d5 \: B! _+ ~* ~4 O5 M+ P // ToolTip' H8 v% A2 J0 e( Z; ?. q/ F+ r6 k: X
IDS_RESDATA_INC_003069( b* s/ W' s5 }
}4 ~8 p9 I5 ` y* O4 z( o6 m
WTYPE_BUTTON WIDC_MALE "ButtMale.bmp" -842150451 118 128 190 148 0x220000 0 0 0 0' c* u) L8 j$ L9 k T
{
# ^$ m; n$ b( ^! x! ]# S0 h // Title String
3 U) K. U1 T# y( jIDS_RESDATA_INC_003070
1 F5 `9 X: i5 }; S }( u: ~" X4 f$ E! z
{ L1 Z4 D6 M( Z0 _1 I- ^
// ToolTip
; _9 k6 g: D, Y* c. D5 p- [) OIDS_RESDATA_INC_003071$ {% O0 q6 K: z* ?
}1 k' ]% b8 L+ i
WTYPE_BUTTON WIDC_FEMALE "ButtFemale.bmp" -842150451 194 128 266 148 0x220000 0 0 0 0/ g0 \( Y2 L0 Y
{
4 B t1 ~) J7 G2 v0 e+ u // Title String
+ w3 L4 B( v4 u$ f8 P* { q7 PIDS_RESDATA_INC_0030727 p" J# ?' j" N
}/ }, B. k, ?" r9 P4 f0 m$ j
{
" K8 S9 r8 Y( _- u3 _4 I( L0 d& x // ToolTip
6 k- s' f, K, Y2 O4 {6 |IDS_RESDATA_INC_003073
X+ k. i" N( C& P' X! { }
6 Y3 F; M# h* M1 w6 U* a& J WTYPE_EDITCTRL WIDC_NAME "WndEditTile00.tga" 1 116 48 288 71 0x20000 0 0 0 0 V. c* T0 R; P& Y. _& M
{" @1 P4 C9 @! q, m; f7 V3 M# U
// Title String5 j: I% w$ u" g) T" w; C+ _
IDS_RESDATA_INC_003074
3 ?+ _/ ]7 s. h5 U3 O- J. ] }
! ?# x; [* c% v$ S9 K0 B* b {8 M ~* ~5 L+ g1 {5 Q
// ToolTip" S# ?, Q/ e& k% ~
IDS_RESDATA_INC_003075
- u9 c( L+ C# w; t8 m } s1 x6 }# G7 Y+ P4 E
WTYPE_BUTTON WIDC_HAIRSTYLE_LEFT "ButtLeft.bmp" -842150451 118 152 190 172 0x220000 0 0 0 0
0 N" ?" W* `, V/ s {
" |7 \; o* k6 Y H, R5 J // Title String
4 R0 N& E" T% e1 C3 I9 L- r+ OIDS_RESDATA_INC_003076
& i3 |$ l& ]( S- I. ^ }
9 N0 {6 h8 u% g$ r. x { i$ u, G: t8 i2 B+ p+ Q1 ^, N4 T
// ToolTip
2 L2 ]- x& v8 o3 Y# pIDS_RESDATA_INC_003077
! I4 Y# |* M3 \ }
. J1 V( h3 @% B1 [ O+ w% g2 b WTYPE_BUTTON WIDC_HAIRSTYLE_RIGHT "ButtRight.bmp" -842150451 194 152 266 172 0x220000 0 0 0 0
. _* T; m5 R1 I* p% q: S. k {1 a- t9 i# j" s9 @4 M' K! z" h% A
// Title String+ } Z# z4 a. t0 v& z' `
IDS_RESDATA_INC_003078
2 z" u7 \7 ]7 ^/ P }4 S+ O' g- D1 v. {! Q' P
{* j: L2 f2 b! N& Z- C# F; l# [
// ToolTip0 d4 u/ R+ o" Q% A0 ~
IDS_RESDATA_INC_003079
% [6 k& r1 g4 x" e* x6 { }! O" z3 Q, G. `9 M
WTYPE_BUTTON WIDC_HAIRCOLOR_LEFT "ButtLeft.bmp" -842150451 118 176 190 196 0x220000 0 0 0 0
9 M) J( ^+ T0 Y! y* ?' X( |, u4 z% F {) n5 a3 U; y- n( U6 D
// Title String, W8 M0 j: f$ Y% t6 f
IDS_RESDATA_INC_0030808 w2 [ u& b( E, f: B" o$ O
}' R/ D+ m8 D& k) I5 F
{& D# t4 t7 s0 a+ Y, C$ b
// ToolTip1 P" Y, _+ w6 O+ l X* ^" m
IDS_RESDATA_INC_003081( W/ [6 |8 K: g3 @; K- d* b- r
}# a8 z1 k, g ] }, s
WTYPE_BUTTON WIDC_HAIRCOLOR_RIGHT "ButtRight.bmp" -842150451 194 176 266 196 0x220000 0 0 0 00 R) ^0 g% Z! C, O. M0 e
{" W5 w! e& g) l+ k) j$ b
// Title String( D0 I5 v6 y$ N
IDS_RESDATA_INC_003082
: G, ^( g4 d; g! f8 { }5 ~- m) O9 L+ G5 M7 `+ ~. [% I) Z
{+ s5 x- G! H7 p8 |2 `- f% Z
// ToolTip
+ j; ~1 ?- h. S# _" HIDS_RESDATA_INC_003083" |3 m. `8 d* C5 v: B+ I9 J2 _8 b+ Z
}0 _& l% @. J' ?! O
WTYPE_BUTTON WIDC_FACE_LEFT "ButtLeft.bmp" -842150451 118 200 190 220 0x220000 0 0 0 0* k3 \! _; h3 Z; M
{6 f0 [6 a/ q }9 D6 J) B3 v
// Title String
. ` K1 e" I& m, I9 \1 EIDS_RESDATA_INC_003084
! N4 J1 \! L h4 @/ e }6 x @& C6 ]: ~
{
7 e: }0 _3 h8 A$ Z // ToolTip
* A3 Y Y4 c5 s1 Q; j. Z. g( `1 zIDS_RESDATA_INC_003085: ^% N) A6 v* g/ g* T. z! R
}# Z/ U! E e- d, {: u- w9 h/ M
WTYPE_BUTTON WIDC_FACE_RIGHT "ButtRight.bmp" -842150451 194 200 266 220 0x220000 0 0 0 0) _% p8 k \- k' W- P- b) l' v
{- P* O6 L: r; @# j
// Title String
" e' T' ?/ W4 G) `* e- O6 pIDS_RESDATA_INC_003086% L, l( o. p7 u% z8 }6 ?
}
/ T2 c3 [# N" M- X6 [, e {
+ D1 f& s7 Q+ @! o- e. g4 S3 m // ToolTip
* F3 F( e4 S# T# oIDS_RESDATA_INC_0030874 n: `3 O. f/ y, ~- B! ^' ?% e$ o
}
- B- Q2 y: q* `% A m t WTYPE_STATIC WIDC_STATIC1 "" -842150451 16 48 116 68 0x2260000 0 0 0 0
- x% j8 ]6 I$ t y {. X# a0 B! k- @0 @0 J
// Title String- E) V$ G6 f2 S
IDS_RESDATA_INC_003088
& R9 j9 R7 |, d7 e3 S } \0 X5 m. J+ s1 H& C
{
" P. ~$ T I/ ~9 y/ [ // ToolTip6 c, {% g5 P( A; w Z9 I
IDS_RESDATA_INC_003089
+ r! V$ L- S: r4 Z! E: M3 {. P }
0 c: R6 k y- g0 @! u$ V V+ E7 I WTYPE_STATIC WIDC_STATIC2 "" -842150451 -232 136 -132 152 0x2260000 0 0 0 0
8 k- C5 G0 } t- D {( F$ V, o0 K. U2 C
// Title String5 d6 |" Z S" a( X. A' c# R' y0 x
IDS_RESDATA_INC_003090! l' T; Q- [4 p
}
0 j2 \% y- [% X& U {
6 C, A$ o# V# m // ToolTip0 v' K7 y+ M/ ~2 B; G
IDS_RESDATA_INC_003091
J% i, s& O* `1 y }8 S, T" P: K$ V4 ~5 X
WTYPE_STATIC WIDC_STATIC3 "" -842150451 16 152 108 172 0x2260000 0 0 0 0
$ y+ d0 k5 Q" G9 z {
% p7 `6 p0 @2 x/ g // Title String. ]& n& G2 g( p* N9 b- y' w
IDS_RESDATA_INC_003092, f( X; _) H0 d6 L9 M. b
}
2 p- ?' ~8 C1 @5 P {
; e3 W9 d& O9 ^' ?/ j" G( A // ToolTip& F& \0 |, N9 H. n0 b$ h
IDS_RESDATA_INC_0030936 ~* d D; F* h$ k
}
" h# @8 ~; m/ j) [* o+ k1 b6 q WTYPE_STATIC WIDC_STATIC4 "" -842150451 16 176 104 196 0x2260000 0 0 0 07 ?& ]/ V4 g4 h3 b q6 f+ Y, N
{1 p: C9 M3 Q. Y H9 k
// Title String, ]# T# Z" G M/ a+ D6 O/ l
IDS_RESDATA_INC_003094
" |9 v0 }# g& ]( a* E7 g/ n }$ T5 S7 H) O2 D7 j' T9 w& N# V6 N
{ y/ _6 N& r: K
// ToolTip
6 [; z/ H# \, ~8 t4 f5 eIDS_RESDATA_INC_003095% J3 u A7 V& C4 T, r0 l" o. [
}
+ M) U6 A, P1 o: b WTYPE_STATIC WIDC_STATIC5 "" -842150451 16 200 100 220 0x2260000 0 0 0 0
# a! m! w6 U% d4 d& h {6 \ V+ C$ T) Q0 r4 y$ i& E- |
// Title String
0 ~% t# T( m9 @( z7 dIDS_RESDATA_INC_0030965 v ^6 F W6 o ~- z: W, D
}7 j0 S \6 o/ \, i: i( v' P
{2 q) ~3 D/ c, z. j3 a
// ToolTip
$ I. _; m S IIDS_RESDATA_INC_003097! x" f* p# N" x g g5 |
}+ t8 C" V$ F3 ? ~: J! v
WTYPE_STATIC WIDC_STATIC6 "" 0 16 128 104 148 0x2260000 0 0 0 0
* d6 J$ ^$ U9 @* W& c8 k( m {
; M* C" P+ q) ` // Title String
- t# x: _8 N* ]IDS_RESDATA_INC_003098
" t' z# }, n3 c- K! y* X: { }$ q. W- Y" U1 g( O' J! R: X1 M
{
* q( g, d+ x/ L# [# e // ToolTip5 c4 E: ^* G3 Y I
IDS_RESDATA_INC_003099/ v$ p, S- M: Y* J% n" [
}
9 G* u& d5 E3 z$ J5 f% d WTYPE_STATIC WIDC_STATIC7 "" 0 11 76 281 92 0x2220000 0 0 0 07 J( i# T1 i# v: g9 z8 T# k
{
; E( ?0 o7 [- S9 f# _ // Title String; R! X0 F; w& m% n H+ i# E0 [* a( `
IDS_RESDATA_INC_005076
5 U, x( t$ G0 S4 B3 b2 E, V" @ }' k, k5 C2 c6 U
{
8 `% v' E* ]+ Z7 t* l- y% m. u6 t // ToolTip
2 m+ p! |" T4 s& q8 N9 L1 iIDS_RESDATA_INC_005077) ?$ [# o6 g1 ~3 ~; H8 v8 ]
}4 o0 K( C1 W9 ^: X4 Y
WTYPE_STATIC WIDC_STATIC8 "" 0 11 97 281 113 0x2220000 0 0 0 0
# n, Z0 ^7 r6 ?4 ^0 U% y2 m {
0 ?/ _: K* o( l) e9 d \. \ // Title String
+ W: H& C) ]) f1 L" I+ mIDS_RESDATA_INC_005078; o& H: Z" r$ h3 f+ h
}' f. {' }$ y: x- [' z
{
% j3 x8 ^4 g# \' ` // ToolTip( i% Q, i; X! A
IDS_RESDATA_INC_005079
4 z7 R0 R$ x5 P2 P }
% |( u0 C; K& m) T& H WTYPE_STATIC WIDC_2ND_PASSWORD "" 0 16 224 148 244 0x2220000 0 0 0 0
) ` o3 ~) p" p8 q* k {
0 `. w. m2 }3 T! s! l: m4 K // Title String
. i* m2 ^, \) H5 B% CIDS_RESDATA_INC_0068747 i/ [: c0 Q* V$ E' I
}
. ?6 Z+ J5 U8 c: l O e% G6 N {
, n# d# P" Q. d9 J, _( z // ToolTip
I) ~3 C0 s/ q! ], F" o8 QIDS_RESDATA_INC_0068751 g5 D, ^; a( S8 I6 j4 S* z- Q
}
?: c, L; @* a! W WTYPE_EDITCTRL WIDC_EDIT_2ND_PASSWORD "WndEditTile00.tga" 1 172 224 268 244 0x20000 0 0 0 0
# D5 W4 T; {6 m% ]9 y {
# Q8 D2 s0 \0 g: a2 a2 E // Title String
: R8 T- \9 v. }( I# C- |IDS_RESDATA_INC_006878/ B0 |" J3 V3 {5 M$ s. e0 p7 `
}* g: ]3 D' _) u4 `4 o n5 ~
{
5 Z0 C- T; L2 R" w: R* B2 K // ToolTip# r& P; W: y& L4 U1 b) d; j( b" J
IDS_RESDATA_INC_006879; j G% h0 y+ a0 D
}
3 G. W2 u7 E0 ^2 }- q; B. v WTYPE_EDITCTRL WIDC_EDIT_2ND_PASSWORD_CONFIRM "WndEditTile00.tga" 1 172 248 268 268 0x20000 0 0 0 0
3 _1 w3 O( t: g+ d5 M- L, w8 A {
1 q6 L3 l c8 z2 y( ~% X // Title String1 a2 c5 s. C, v2 G9 E. c
IDS_RESDATA_INC_0068807 X6 q* m5 W# V. n* t! J) g" Q
}( ~( O' Z! |' N9 X1 f6 E
{
/ p/ |+ }; y0 n# B7 c. Q // ToolTip$ z: n! [( n8 l
IDS_RESDATA_INC_006881& m, V4 d$ D/ _
}
+ d) T/ E, v& u$ j& i3 ^, k WTYPE_STATIC WIDC_STATIC_2ND_PASSWORD_TEXT "" 0 16 272 332 292 0x2220000 0 0 0 0
# n- j( k! F, B4 \9 E) U1 i {
: d! Q; f9 C! `! @0 @ // Title String' n" N7 h$ t$ K' H/ u" b
IDS_RESDATA_INC_006900
7 n& o9 Y' Y Z$ Q- j0 o h }
: D; @" U! ]) Z0 r! W2 n {
" r4 a- f* ~$ o& j: J2 w // ToolTip& l6 a5 K0 n* m- l
IDS_RESDATA_INC_006901
! g: I* Y# O/ ~6 k, f }
( W) H: n O1 ~! M1 @7 {5 n* N/ G WTYPE_STATIC WIDC_2ND_PASSWORD_CONFIRM "" 0 16 248 148 268 0x2220000 0 0 0 0
6 y& n* A% W3 A; I0 F( V9 T- U8 V {
, q+ y7 W" |. ^3 g. Z8 | // Title String ~/ T3 A+ l( v) Y6 E: }: {, q
IDS_RESDATA_INC_006904# U: p1 w, x& k
}. v/ ^ X- {, \3 E4 P8 m
{
# k4 O6 H0 f+ L1 Q- p: Q( c+ W // ToolTip2 n8 V2 ~* e) K# s s6 p% W
IDS_RESDATA_INC_006905 e; Z. M" \! G, l7 t! W
}
% d5 O$ o4 n- Z5 c WTYPE_COMBOBOX WIDC_COMBOBOX1 "WndEditTile00.tga" 1 118 80 286 102 0x20000 0 0 0 03 M' {* V% e) r* g& P" L
{4 s; A8 T9 D. G% M2 b& m4 @
// Title String4 c0 w" v4 X9 b/ I
IDS_RESDATA_INC_007134, Z* v s5 \% Q' @
}
( K& `% v% L4 B& c& W$ E; f% M( q& i {0 c; d" ]+ B" E. ^, y& _7 E0 R
// ToolTip, L, H3 r* E0 d1 m
IDS_RESDATA_INC_007135+ E0 O5 r; J- X9 v
}4 }) k. Q8 J( q0 V3 E1 K
WTYPE_STATIC WIDC_STATIC12 "" 0 18 82 114 98 0x2220000 0 0 0 07 v! H. x. b0 d+ v* t
{$ e3 c8 B4 A; Y4 F4 C$ n
// Title String
# r0 `4 ^5 Q7 P& CIDS_RESDATA_INC_0071363 z+ b( y; q- l7 b5 W0 {
}
8 G8 d6 L3 V5 Q3 Q& b {+ M: D+ S- ^9 P
// ToolTip
6 u# n- X- O8 ?, h4 `# UIDS_RESDATA_INC_0071377 R8 {' [: s. J1 R
}* \4 R D9 X) ~0 g
8 ~& x" `9 }! V8 J" J( a0 U0 C7 I
}4 F9 F# ?* o- [' S8 K0 s
所以红色的!6 r5 @% e1 e" R F9 ]1 S
/ j8 Y7 T5 D( ?* x3 E5 N
这里还tblSkillPoint的条目:8 [; ?# O1 _ M4 ?3 @
) B( Q G. ]5 B; z1 M8 m& }代码:: G( V( @) \6 L9 s+ S3 V
If (@im_nJob = 1)
7 l2 ^6 g8 K5 L; V5 \, g Begin2 h! o# D# l$ ^1 f0 R
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 9, 0, 3)
* T. g# I( c% i+ x: P INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 4, 0, 4)
8 c+ ]. o& N" `6 [' \1 ~' { INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 10, 0, 5)
4 w1 `5 i8 o A$ ^9 v+ C INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 5, 0, 6)
% V- o) N9 Q0 b) f1 t) U INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 112, 0, 7)3 m& ]: [: A8 Z2 z: t8 {
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 13, 0, 8)6 U. ]+ q H5 J+ {
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 111, 0, 9)1 R1 v% E' P8 L; \ O" d% b
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 6, 0, 10)9 _$ Y" v1 J* L
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 108, 0, 11)
* U; a; j: Y0 b/ K8 g7 m INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 14, 0, 12)
) V0 F' I; [! R" A7 x- G: N INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 109, 0, 13)
* b7 m4 s# [8 X INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 7, 0, 14)6 _1 J3 r! Q, x& F0 }
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 12, 0, 15)
( }0 M; ~' z" e' p9 L, ? INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 11, 0, 16)
2 \, l2 @" C) q INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 8, 0, 17)
8 N5 I: X9 m- T" X( e( g end
2 y2 f$ N4 a' S! `, h# I% s# R If (@im_nJob = 2)8 ~! R1 E( T2 U- D8 g8 k. ^
Begin
% y( p' x) x i INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 197, 0, 3)6 Y1 f' K t6 Q% I) @1 c" y
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 194, 0, 4), j5 T+ H- {# ~
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 206, 0, 5)
+ S/ l# w( a' x5 m' _* c INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 195, 0, 6)* E: A% e" w% V( i$ \2 z* p/ ?- g
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 191, 0, 7)1 [9 s, f/ I! y# Z- H) R
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 192, 0, 8)
/ J1 i) c0 |" j# m- W+ A8 n INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 198, 0, 9)2 u0 u- ]$ e& Z' J+ M( l
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 193, 0, 10)9 L2 \* i. w% o) m5 @
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 201, 0, 11)' W3 S: x' n1 l2 ]
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 203, 0, 12)
# t( e9 q4 ]7 R INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 196, 0, 13)1 a# u# q- c3 R. v3 \
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 204, 0, 14)
" M' I8 I. u% ?7 f8 R8 x- z INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 202, 0, 15); X2 L C+ ?! M$ v
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 199, 0, 16)
' @% D7 f; o6 B' g1 g7 b% ^ INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 205, 0, 17)* a4 ^% `' K$ I" H; N
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 200, 0, 18)
2 x# R1 N" `" |4 a2 H end
5 i- l2 K$ ^7 {3 x9 V If (@im_nJob = 3)# i+ i$ U# a! a
Begin, F0 j6 D; T' M- r! x3 \# N: T
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 44, 0, 3)& e2 |4 B, }4 \9 }! n
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 46, 0, 4)( ?- e; _, B$ S
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 52, 0, 5)
m7 X! u# |& O5 }+ r. w INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 45, 0, 6)
+ b* c% B! i; _# I8 J INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 114, 0, 7)
0 v& r) q7 W) U) ?; B1 L$ l: k5 g INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 49, 0, 8)" X: F+ m9 j6 L; ~! n
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 104, 0, 9)
2 B( j5 o, d7 Z; x# w: @9 s$ U INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 20, 0, 10)
! k* d6 Z0 b3 X/ @0 m# m INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 53, 0, 11)
6 l6 o7 s4 C% S! L1 n' H INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 51, 0, 12)
" S0 o5 f( v5 W6 ^) | INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 113, 0, 13)
" [) ^0 d7 _! D3 g! D4 b INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 115, 0, 14)
" B" ?+ ^! M% _$ n9 I" G) j" h INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 105, 0, 15)
& v: y- [4 O' h6 ` INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 48, 0, 16)2 k( [( }5 g3 \3 [
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 116, 0, 17)
0 V$ t& \: _) A INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 117, 0, 18)3 g$ }$ [2 x a6 O* K/ ^
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 50, 0, 19)/ r/ X2 j7 K1 b' {+ L, t
end! i3 z3 R, A: ^ S
If (@im_nJob = 4)
, A# F" U( `9 y+ g6 m3 A Begin& H. k6 o3 a: \1 G6 c) H
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 121, 0, 3), ]1 | f$ i& M% l4 o+ f
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 120, 0, 4)# D* R# ]( b+ E- z
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 119, 0, 5)
# i# E' b9 S. N$ h; f INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 64, 0, 6)
- |/ ~: p! z( s8 @5 F9 ~! b INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 118, 0, 7)
; a j7 |9 O% U& s6 h INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 69, 0, 8)3 z2 _" t% f! F9 X/ T) g: |
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 36, 0, 9)* u/ U m' b% g1 c/ d$ v; Z$ y
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 32, 0, 10)
% w$ T! ]/ u, y0 p D INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 70, 0, 11)0 b3 P( v. L) d% {$ {8 }
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 65, 0, 12)
$ E A, v$ m0 y0 i$ q INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 34, 0, 13)9 `5 r( v; z7 `: Q
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 107, 0, 14)
. p+ G m: v! J8 C F INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 37, 0, 15)
v- b! K" J* ]. n8 |! ?. e3 Z INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 35, 0, 16)$ f& z) z7 x9 e$ R! y- ~5 f: g
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 31, 0, 17). k5 x- S5 C* b. d: J# |3 F
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 30, 0, 18)
3 K, _" I' U% ]3 ~6 e/ X( K( w* h INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 33, 0, 19)7 D* o5 M" k6 U" y) e7 Y8 ^: N' S
end
8 ^" z! S, h: B1 {只需插入在此插入
% \- \& m4 w* H代码:. T7 }1 e4 p. ]' |
INSERT BANK_EXT_TBL
% H) e+ C; m& r+ m$ F& Z+ m (
$ M) @$ [2 m( U2 t7 @ m_idPlayer,$ ~& T4 a' N, p! h2 R3 I( [0 x3 `
serverindex,
9 @( h6 o& e, |7 Q' O m_extBank,
; G% w2 w0 L ?# W m_BankPiercing
5 |: r. i& ~; j; _+ F" z9 W )4 R7 L0 t# ^2 \' e/ I
VALUES 7 u. T- j: C$ D- I; s) F
($ K) }4 b/ V d& `7 a
@om_idPlayer,
- N/ m& X7 `# Q; ?' l, @" Y @iserverindex,
1 _5 g0 s% m% c5 F! X) ] ''$'',''$''
& o f* e) {! x# o$ Z, t4 F ), `5 ~% }0 C$ {
% i. Q& F' I. W: `% ^" }5 Q& i3 H. w, `
/ ]% R" \1 K1 N8 B6 {5 X! _#define IDS_RESDATA_INC_007134 28816
6 v, | B5 v3 C3 t. a# h: ~3 p$ V5 u0 j$ p. Y1 Q; p
. v# k; r4 x2 x DBQryCharacter( szQuery, "I1", 0, g_appInfo.dwSys, lpDbOverlappedPlus->AccountInfo.szAccount, lpDbOverlappedPlus->AccountInfo.szPlayer, nSlot, dwWorldID,- [& P1 `( G5 @) ?* V8 T. Q
dwIndex, vPos.x, vPos.y, vPos.z, '\0', nSkinSet, nHairMesh, dwHairColor, nHeadMesh, nSex
( ]" ~8 o# Q1 w& i5 |1 W! D#ifdef __NEW_JOB_SYS
/ y2 l6 t. x; q1 N" M , 0.0f, 0, 0.0f,; Y1 x7 s4 n- G: P* O
0, 0, 0, 0, 0,7 p o/ a2 R4 M7 r# h: H9 s' a
nJob
1 o2 R5 L: H: x#endif# i4 n5 J! ]9 P
; h0 _( U; ^/ |. x4 n
7 n a8 p" i# X q" v! I' U) \
|
|