|
在这里,我向你解释如何在源选择安装到创建工作中的字符。9 \4 r8 _$ |8 e; K6 A
../NEUZ/Versioncommon.h7 q$ r7 j9 W: p, @/ X! P# |. o
) L% p) f6 F7 [: ]% Z$ @. O
在上范围进这里只是这一个:! V# r* i/ `' N% a0 Q6 p
代码:/ [% g- _4 |6 ]" m
* ?& D( e6 U* i Z
#define __JOB_CREATE_CHAR
9 E8 Q$ a( g/ H- F../_Interface/WndTitle.cpp
& s- E: z$ |2 b% C' A4 b( w0 P2 \0 z" R+ u+ a: `
在这里你进入功能; r2 _0 k. W, a9 A0 `
代码:
8 X& n/ ?! i6 A/ _6 Y# a7 ?5 D1 s; @6 [
void CWndCreateChar::OnInitialUpdate()# w3 ]% k5 x6 K! @0 k; ^
并有助于
- F9 T) Y: W6 {, [# X代码:. v% S1 C! H# v+ b
CWndNeuz::OnInitialUpdate();$ k. W& R' x [1 _2 M6 I+ F/ [
这样的代码:
, [, a: ?0 v8 D. p5 W* o i, E0 s代码:
: h4 N4 m7 K* W#ifdef __JOB_CREATE_CHAR2 [9 U8 ^6 b/ x
m_Player.m_byJob = JOB_MERCENARY;
5 M! O7 r! o, w6 b" }: U5 v& O CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 );" g/ o# J. N% A, C/ y
pWndJobBox->AddString("Mercenary");//Edit by yannickmama
" @/ S3 v j/ ~+ q# J: [8 f. ~0 Q pWndJobBox->AddString("Acrobat");
4 ^, `0 N/ W, o% R" C+ G pWndJobBox->AddString("Assist");( Z# N- g* m7 J# ]1 J9 ^- g9 P( f
pWndJobBox->AddString("Magician");) w) W3 x4 D9 D* ~7 ~: E8 J
pWndJobBox->AddWndStyle( EBS_READONLY );* h& U0 |" D' ~8 d- P U1 q! E
pWndJobBox->SetCurSel( 0 );
p$ M: |. v: l; b, V, c' K( q#endif //__JOB_CREATE_CHAR
- e* ?5 T7 I6 K5 l2 G& g在同一文件中,我们跳到这个功能
" D8 F+ [8 @2 y/ ` w8 s5 Y" i/ q$ D代码:
& _5 u5 T2 F! O' i9 j7 _! F4 N% ?, YBOOL CWndCreateChar::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
; g9 ]$ C* D% h并查找这一行:
; ]% r# U& Z( g, w$ I1 M5 `代码:% R* D0 a6 K2 K. D# b
case WIDC_OK: // Create
5 b9 e& n q" I( ^: H7 j {
* Q& s6 j" J0 t) D2 M% y5 r) h下面我们就这一个:/ ]7 u; K8 x% y9 H* J
代码:
& y( Q- o S: { O+ S1 Y e8 h) l+ V5 ], b' G0 O0 t+ i
#ifdef __JOB_CREATE_CHAR
# w8 X- }8 Z- N+ z1 R, S4 L* o! R7 b8 n CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 );
" G/ j& L$ S' ^ assert( pWndJobBox );
% H. M$ H: k' M: d
: G! {2 K7 R' I8 S! D8 V Z7 G if( pWndJobBox->GetCurSel() == -1 )3 L0 P; c/ I- ?$ A$ D' U3 X; [. D
{
2 g) K8 V: [2 Y0 D$ k9 f7 V: F g_WndMng.OpenMessageBox( "Bitte w?hlen Sie einen Job" );1 D1 F( p M4 R) i! \& u4 }) T
return TRUE;4 j: [* F5 b* F( [0 ^+ H1 S
}/ w& N ^/ k. g H2 P/ Z
& Z# q9 i! C b' E
switch( pWndJobBox->GetCurSel() )$ _* p, N6 q" }/ }/ ?
{
7 s7 A2 ]( C* a+ _ case 0:+ f, @ | L! V3 D
m_Player.m_byJob = JOB_MERCENARY;; g2 H9 w f" V& a+ b
break;# u/ J/ d$ J+ w5 E6 e
case 1:- N- L! b9 v+ D( \2 I; W( ^
m_Player.m_byJob = JOB_ACROBAT;
9 F- ]: _. G/ r" D7 @- X break;
& r& i- r% C6 Q; K% O9 ~7 X' c. D5 z$ n case 2:; C+ M" v# ^2 d# t, u
m_Player.m_byJob = JOB_ASSIST;
% A0 V* ?. g+ ~; O5 \% e8 ]7 O break;
: g3 P7 R7 M W8 f _ case 3:
4 l! L8 G2 ]/ A3 V/ k m_Player.m_byJob = JOB_MAGICIAN;
|: G' }) n# V s! c! ` break;3 C u+ D% R- a# X* ^! v' J( p
default:
. N3 v# X& Q6 a7 u m_Player.m_byJob = JOB_MERCENARY;
# a9 u8 q% [0 _( t5 W break;# M+ U8 O) {6 ^- K6 [4 G6 m2 E
}7 c; _# J; f& t' H
#endif //__JOB_CREATE_CHAR3 T4 d$ Y) L0 T! B
7 U; R! o( g+ Z8 V2 j, ]8 k../databaseserver/versioncommon.h
/ X$ W9 T* R% T' W" c( I* D, L* K- [) w1 K( r; G( P
在这里,我们这一个以上的地方进行$ l5 q; v1 j) a1 x$ W
代码:- s2 e! D: L; Z$ {
/ N& A9 l! o# F! D% F#define __JOB_CREATE_CHAR; j# e3 j# p" g
../_Database/DbManager.cpp
3 L* r6 v7 J# E) ]# a% t& \3 o; \% C; T9 g0 V: f
在那里,我们去的功能
/ J" |- V/ {1 d7 E( v R代码:" q6 S3 i* A" S: s5 r
; G ?5 z( \9 {. O- Z3 l# e# [void CDbManager::CreatePlayer( CQuery *qry, LPDB_OVERLAPPED_PLUS lpDbOverlappedPlus )
2 k" \1 P- h) H/ E" I2 {并搜索# L5 J0 y0 U( g1 {/ W, f: t, R& K
代码:! y/ S6 M' K7 A b& P% K
pd.data.nJob = 0;$ [. z5 T, ]$ \; |; u4 _
并替换为
( ?% O8 b. `/ j+ ?代码:* o- e* a+ H3 \" d/ v3 g1 U" I
#ifdef __JOB_CREATE_CHAR) m- }) r6 x, d B! ^. v3 v0 e5 P
pd.data.nJob = nJob;: `- V5 |9 w' q. i
#else //__JOB_CREATE_CHAR
9 s7 w6 ]0 \+ K pd.data.nJob = 0;
6 O. D) P: C2 f" o#endif //__JOB_CREATE_CHAR
* d+ |& Z& T& e* Z2 ?4 o7 m! W/ U$ n# ?9 |0 b
这将永远有一个来源的东西。2 i- w- d2 r0 }
* }5 Y0 `/ q" E' e; |5 N
但我们现在必须修改数据库,所以我们走在存储过程CHARACTER_01_DBF CHARACTER_STR到数据库 ~! F+ K' t! ^
和搜索9 M3 p* @; \9 F" Q+ K% O W* b
代码:
; {: B* }( T: l8 y7 H' [+ `0 V! l$ l* J3 m7 `. D; v! B
FROM BASE_VALUE_TBL- K3 P8 }) N" y& K6 ?
WHERE g_nSex = @im_dwSex8 s: q5 Q; T; H1 X+ |
并替换为; X; c2 k. o- }0 M
代码:. {: J5 v1 x: r" Y- j+ y
FROM BASE_VALUE_TBL( p2 n! D9 n* @- o/ B2 ^; n
WHERE g_nSex = @im_dwSex AND, Y" i; T2 N8 E! A
m_nJob = @im_nJob
, K' M$ p d, {! R2 ^5 z当你做的工作,以便更积极的条目BASE_VALUE_TBL CHARACTER_01_DBF都可以。1 _3 H: ^% S2 E3 `
) \) D- G$ Z& g5 q7 j, E你必须确保它仅适合和njob g_nSex。始终创建两个g_nSex g_nSex=0和=1项。
9 P" F' O# r9 {; s: _' l* W/ i4 w1 X0 M: L \
你必须,但是,仍然在Character_STR条目(刚下Selectierung BASE_VALUE_TBL)为补充SKILLINFLUENCE_TBL。% a3 m/ R; ?4 z) B
这是那里告诉服务器哪些技能你的角色可以skillen。
9 Q* `/ j1 w6 R {5 g可惜我不再the'm懒得现在要做的话:'D
' y+ g; }" w/ e: S1 F+ u9 ^4 [; q7 o: z3 L7 o8 M3 p( v. c6 B' q
; e$ y# D/ F& Z5 C" |0 U3 T' h Y {$ @ i
6 b s- ~7 L, _
1 j9 \0 c8 Q" e! Q. G7 I
( C! w" _; ]. e7 h( F
5 ~9 o% u% H5 i& j& T
7 l4 z( N( W6 x. o5 W3 G3 cQuote:
& D0 A6 I0 F: D5 z# EOriginally Posted by Divine. , D5 q* }( q H' ^7 L. D$ M
如果他发现我- @) Q/ z' |. c* Z+ ?$ V
代码:! l B) \5 G& q" W
pd.data.nJob = 0;6 j& G; A* d$ K* q& j- ^& `# [ S8 @
并非如此:
% |2 u, x& b! a+ k" i所以,我只能看到
0 ?9 i3 L: a% r代码:
% X& F% [' W. U x1 G8 O1 ? // pd.nJob = 0;) @8 h2 G. T& [/ O" n$ f
^^4 l, r8 s0 N2 {) G
Hier, das mussu finden:8 f4 k- X D& a6 j" G* c4 X6 B
Quote:
+ P8 h3 R- `, g* i/ H- a#ifdef __CREATE_JOB
; v; g' y4 [) N: Z1 [6 O( W/ ypd.data.nJob = nJob;
3 z, z9 J1 p7 O% P. ]: O! M#endif // __CREATE_JOB
" s3 @; e3 G# @2 }6 ^! i, e$ [+ f4 d// pd.nJob = 0;
9 q& v p5 O( I( Q2 P8 G3 m// pd.dwState = 0;# I J: _0 w: d0 Z; S3 R G l
pd.data.nLevel = 1;* g3 G6 @# v- d: A
pd.data.nSex = nSex;
) N$ @/ x# M2 o' L. jpd.data.nVer = 1;
) z9 U$ P0 }" m$ z
2 e0 k3 k! ~- Q, z; ^我仍然有一个问题(:
; R+ a1 n) r( c8 C下Character_STR DB# m) N5 R" g8 o: x
这样做在这里1 U+ f) ^& Z- c' I2 i/ H8 c
代码:
5 y/ @! a+ B- N' y FROM BASE_VALUE_TBL, N/ Z- X' X" ]) a
WHERE g_nSex = @im_dwSex2 S0 j% G3 i b2 b4 [8 b8 x/ H
在这里改变2 @; t) D1 ]; V1 g$ p
代码:
7 O' p: H$ J2 d FROM BASE_VALUE_TBL/ x, @+ `4 t7 S( f" m8 V9 L# M$ v3 _3 n
WHERE g_nSex = @im_dwSex AND6 u# S5 J4 k$ E' V7 a* s
m_nJob9 s3 m! f* V- C9 |- Y/ q
由于还需要什么?.?
+ E+ z! O' r# Z. O. ]. z在第一篇文章中,你可以阅读
1 G2 ]( s* H' m代码:
, c) @2 k; ?6 m7 d: \9 A FROM BASE_VALUE_TBL
) c/ P0 X0 {0 o) V& Y: _ WHERE g_nSex = @im_dwSex AND- ?9 m) n0 y4 e/ A
m_nJob
' d- Y' W1 ~9 E0 n, S1 s$ N" S$ ?0 W& j$ `* L- C
9 ]: t; {# z# `. P/ t0 n1 {窗口是什么我忘了$ l# |% ]% K2 p. G! Q% a
4 _) h5 q6 w( _4 @3 @代码: |7 I6 z9 e5 I b8 S
APP_CREATE_CHAR "WndTile08.tga" 1 544 368 0x2410000 26
j9 W) e( |7 R# o: \- W{
( @) r: f9 r5 p* {* ?// Title String; j7 J7 W9 x1 y. W }9 N% S8 }& t7 v
IDS_RESDATA_INC_003064
7 n8 d! _4 y6 C/ e9 x- p a! i/ `}
# L: z( ~) w+ D' J{
5 h7 x$ \" |: u- l6 U// Help Key4 z- T/ m5 X9 H2 y
IDS_RESDATA_INC_003065
9 P- p) t' A3 A7 I- n( B2 k. ]}
7 S% N* r2 h3 K! N5 c+ |; j{
- w9 w' [8 L& T" |* l1 ` WTYPE_BUTTON WIDC_OK "ButtOk.tga" -842150451 176 300 248 320 0x220000 0 0 0 0
8 D9 o$ o y' ~ {
1 `2 M# }( J/ N* J7 j' x" m // Title String
0 Z. w' G/ n# Q) _$ m5 jIDS_RESDATA_INC_003066: u) P3 @) v; K; B2 r" X
}
% t4 U3 ]8 I% Z- ^ {
8 t: t, `. m; z3 ] // ToolTip
1 U5 N: x( ]0 G. E9 lIDS_RESDATA_INC_003067( o1 y6 K$ g M; V/ a" f2 y
}6 o1 ?) e6 j0 l9 w/ A3 \3 t9 g
WTYPE_BUTTON WIDC_CANCEL "ButtCancel.tga" -842150451 280 300 352 320 0x220000 0 0 0 0* u6 R5 }2 O/ w' K, c
{
, f% Y O9 x& [* n" f: C* a+ U2 P9 ` // Title String
$ b6 B- `. a7 t$ o& yIDS_RESDATA_INC_003068
4 b4 N8 K, Z+ y! d9 g1 o }& w" [# d; Z) |1 _; H& G3 \' ^
{9 |$ w% C# _1 n0 j) y1 H w, d/ F8 Z
// ToolTip
1 T& } n% A+ M, rIDS_RESDATA_INC_003069; k% E, s7 c) g8 `' A
}
+ H6 t2 h! z6 O1 _" b WTYPE_BUTTON WIDC_MALE "ButtMale.bmp" -842150451 118 128 190 148 0x220000 0 0 0 0
" R0 e: [4 ~1 w; H {4 x2 H9 B+ d- f1 g! w; [% e
// Title String0 d! i+ ^4 s6 I: q" J
IDS_RESDATA_INC_003070
% ?# M. P5 c M' m- K. T5 i. ? }
) u5 ?' M: E% Q8 n; g! s+ z {
* I9 m/ a( ]8 A% `/ n9 ^0 B // ToolTip6 L6 E; i8 F+ o5 U2 K8 ], m
IDS_RESDATA_INC_003071
; U5 g) B3 L! |; n! t! d }- q8 I Z4 g. f
WTYPE_BUTTON WIDC_FEMALE "ButtFemale.bmp" -842150451 194 128 266 148 0x220000 0 0 0 0! ?8 }/ M7 [, P5 k0 U9 W, S6 l
{9 m; ]: U% _ Z3 G2 B
// Title String5 K" F) v% o) `. C- U1 z
IDS_RESDATA_INC_003072
0 k5 }* X6 c6 Y; j7 g3 M7 _8 C }( W- e- E; ]* n
{/ [7 Z; `7 U$ Z, {1 ~1 x9 @: F7 I, i8 |
// ToolTip2 H/ T) m/ z' H' H! a6 e$ r" t
IDS_RESDATA_INC_003073
& s, j2 \( t* Q }
6 l( q# Y) k1 f' ~& G5 ]2 d9 ] WTYPE_EDITCTRL WIDC_NAME "WndEditTile00.tga" 1 116 48 288 71 0x20000 0 0 0 0
' b& T5 |5 ^7 s {
% U' |/ L* T/ p5 e // Title String
: g) f* Z1 U8 KIDS_RESDATA_INC_003074
n/ R5 i( w) ?6 | }
8 p; u8 a+ W( Z' n% C4 o7 J {' ~9 t) A; Z+ T8 e( F
// ToolTip
) ^* L; h$ J# I$ j5 Z3 _IDS_RESDATA_INC_003075
7 J+ q# d+ K9 N( p; {5 F+ \ l7 D }
) ?! @- l4 s% h. _ WTYPE_BUTTON WIDC_HAIRSTYLE_LEFT "ButtLeft.bmp" -842150451 118 152 190 172 0x220000 0 0 0 0
3 f2 G0 j7 B5 j$ d' t$ m& L+ Y! T {* K$ S' V7 e2 P+ d% M
// Title String$ I$ F7 r& o) I
IDS_RESDATA_INC_003076
$ t* R3 }4 F4 K. D) g# T V }6 u) Q9 L: E1 ^$ W
{3 V8 K, @% k, A1 V) v# ?
// ToolTip
/ }$ T0 I! h. UIDS_RESDATA_INC_003077- L5 q% E+ J8 M; A. O; v; S
}% x7 T+ m8 U1 ?; `" s# s- l
WTYPE_BUTTON WIDC_HAIRSTYLE_RIGHT "ButtRight.bmp" -842150451 194 152 266 172 0x220000 0 0 0 0
b h( ]" G0 j! a0 r {
5 T3 q9 |: ^3 j. h: q // Title String
7 k' K2 P* v& d. @: xIDS_RESDATA_INC_003078$ \: g2 K' E5 g- [0 R, c4 L
}; h) b0 \$ u' H1 Z
{4 K3 b" T) j7 `* D5 Y$ r
// ToolTip
1 j" e; v/ e+ k8 `9 SIDS_RESDATA_INC_003079
. J u/ h- e' o. ? }, A& l3 a9 N. M) h' j. S* B Y H* r
WTYPE_BUTTON WIDC_HAIRCOLOR_LEFT "ButtLeft.bmp" -842150451 118 176 190 196 0x220000 0 0 0 0
# Y* J0 I$ w7 Z8 o6 I8 w) h/ L {! ^9 y1 h0 v. B2 F
// Title String
+ s8 E/ z! W) X; S* k! ~; KIDS_RESDATA_INC_003080$ Z. F- `3 n0 t% ~5 a8 G# d
}
9 d( N- M! [3 T* _7 }" y {
' s* I2 E R+ R0 X" ] // ToolTip+ l ]6 d) O w+ I1 Q# b) D/ f6 f+ i
IDS_RESDATA_INC_003081' E# k5 i! O- |8 [3 \( |
}
n0 m5 Q" {: p WTYPE_BUTTON WIDC_HAIRCOLOR_RIGHT "ButtRight.bmp" -842150451 194 176 266 196 0x220000 0 0 0 0
) }, p0 T, \% y' W5 X {+ R9 {* e2 ^# T
// Title String2 l- h6 F& P* j0 Z# M
IDS_RESDATA_INC_003082
+ d/ t0 O: [( J; N; q/ i }( m! D- M% {* b" E, J; e
{
$ S( z" S& M; Y# n+ T3 d // ToolTip/ o/ t ]; u0 P6 V. H+ ~
IDS_RESDATA_INC_003083
7 T7 p# W* l E" m6 a2 Y( ]; v }
. a1 V0 @& ]3 }! M' N WTYPE_BUTTON WIDC_FACE_LEFT "ButtLeft.bmp" -842150451 118 200 190 220 0x220000 0 0 0 0
- s# |4 i& V' p: K' C# j8 c$ O N {4 x; T' q% f0 p
// Title String
3 P: L. r* X8 I5 `# r) gIDS_RESDATA_INC_003084! [2 [7 O9 J; L$ z* S
}; ?8 D N% i( c
{
+ D0 e, e+ C9 p; r% f. [ // ToolTip
6 {$ ^% Y* Q. u3 b7 Y+ L3 a+ eIDS_RESDATA_INC_003085$ L- g% P) N, T% s& @9 F2 A" s
}
/ Q. U, |( L: _" l' v WTYPE_BUTTON WIDC_FACE_RIGHT "ButtRight.bmp" -842150451 194 200 266 220 0x220000 0 0 0 0$ W+ z7 ~$ A9 w
{3 v4 M& P, c& ^3 z. J8 S1 g( W: S
// Title String
* L$ L$ O, ^8 }7 V& @ eIDS_RESDATA_INC_003086: O$ G8 J3 k! T4 S* e2 j
}
" H5 K3 ]: e: K* c. E. a {
/ {9 `0 g- h4 a // ToolTip- Q( \8 Y+ ?. Z6 u! d l/ k
IDS_RESDATA_INC_003087$ e+ m) q4 f: ]& B6 w1 M! J+ f
}
6 a5 S H& D6 W4 m: A; U WTYPE_STATIC WIDC_STATIC1 "" -842150451 16 48 116 68 0x2260000 0 0 0 03 A0 G& Y' H! o% E, v+ Q, u
{
1 u& x0 d% o- l# e& i8 D // Title String
4 j. b: S, I7 k, p6 j: nIDS_RESDATA_INC_003088; e5 T) T& a8 V* z
}* H* m, u2 P9 T; O6 a! m6 ^7 J) m
{
/ I0 `" P% Q Y1 Y // ToolTip. F ]5 r. t1 u! c% W( U
IDS_RESDATA_INC_003089& _' S( s) T4 P7 _/ Y
}
; i* I. r2 w' ~1 |6 D# Y: L z WTYPE_STATIC WIDC_STATIC2 "" -842150451 -232 136 -132 152 0x2260000 0 0 0 08 T. P& l- f- v/ X: j! m: X3 f' s7 w
{
" r! ^, ]; x c // Title String
* p- H: y& T: h/ M, [& KIDS_RESDATA_INC_003090: s; T/ y/ x1 ]% {3 g% t) O" ]
}( J, o R6 z2 p) }! p- H, f
{( {' m9 v/ `' _6 ^3 u u
// ToolTip
; u& k$ g% i: H; w! zIDS_RESDATA_INC_003091# k7 v* o( r3 {& k7 }8 i
}" a2 ^: L$ j+ j4 f* d
WTYPE_STATIC WIDC_STATIC3 "" -842150451 16 152 108 172 0x2260000 0 0 0 0
; U; X3 E9 ~+ m$ t w" n {! c( ^* x M0 t+ V
// Title String3 d: a% @0 E4 l
IDS_RESDATA_INC_003092
! {, h" W. z/ m1 V) ` H4 V }
0 C& h8 }/ i W( F" ? {; v( T: i0 F0 s6 N0 I9 z
// ToolTip# v( V: e6 s9 ^
IDS_RESDATA_INC_003093
. h* T2 I1 d. T, i6 k' E8 q }
- } H+ Y& ~: q( i3 Z8 Y WTYPE_STATIC WIDC_STATIC4 "" -842150451 16 176 104 196 0x2260000 0 0 0 0$ ]1 b6 Y* h" @9 }
{: G2 p5 ?/ f) {- b
// Title String
, o+ q; H) W0 P4 x1 E& KIDS_RESDATA_INC_003094$ v) e# s& u9 J4 l" u8 Y
}
9 @2 k# s2 o3 Z! x' ^ {, d9 k" k0 v, \# j
// ToolTip
) I, U# q7 d2 t$ w ^$ c; yIDS_RESDATA_INC_003095' f6 S* n/ @/ ~" _$ h
}
! m4 C+ u7 S' H WTYPE_STATIC WIDC_STATIC5 "" -842150451 16 200 100 220 0x2260000 0 0 0 0* \ G7 Y; S" s& ?
{" v5 u- i' e& n4 h
// Title String/ K% a, B- C8 Q0 \8 K
IDS_RESDATA_INC_0030968 B4 I8 O# h/ M) G- R* ^6 `
}
/ Z9 s/ |( E& A$ G/ V4 g {( i0 Q2 L1 N1 F4 s7 `
// ToolTip
; l. O$ }- B. j5 L, D! D+ i9 b/ fIDS_RESDATA_INC_003097
4 w. h' T m! K7 e# F }
' m( j, [& P7 f( }5 O/ E WTYPE_STATIC WIDC_STATIC6 "" 0 16 128 104 148 0x2260000 0 0 0 0$ o1 b# U- y6 J, O
{) g' c0 \: O3 g" [; k6 J
// Title String1 q- j4 C* t' _$ {) ~
IDS_RESDATA_INC_0030983 @" s1 K( A3 e. G1 t
}) C( {6 U5 h0 ?+ ~
{8 \% P, V1 x* n6 a
// ToolTip
5 F3 _9 c \- ], SIDS_RESDATA_INC_0030993 T, i. R- n2 X# H; H' c
}
9 K' C |- t) \7 S8 a: ?3 D6 Y WTYPE_STATIC WIDC_STATIC7 "" 0 11 76 281 92 0x2220000 0 0 0 01 h# C0 V8 ?" ^- y
{
& A+ A0 h, ]' |* K) C // Title String
9 n) B9 ]0 s8 X, S# xIDS_RESDATA_INC_005076! d% _8 u8 I, c6 M4 G' K+ e1 ]( h2 o
}
3 P. }. P' U3 p1 j- R {
5 ^) a# p5 F! S; m3 O, o# E- g // ToolTip
! M5 K7 L, {- X2 V: D" EIDS_RESDATA_INC_0050778 K8 W( j3 K. z' H. ~) u3 _, s( x
}* ]% s+ P' y+ {* M. N
WTYPE_STATIC WIDC_STATIC8 "" 0 11 97 281 113 0x2220000 0 0 0 0! n0 Z0 o; k2 U5 F j% G2 d
{
) ]7 ]7 ]; E a // Title String. G4 K% H- }( W
IDS_RESDATA_INC_005078
: {$ c# @1 l% j: _6 y% K: v( ` }
% O8 h# J7 T8 ]2 u) c {
4 P" ^ w& ^2 d$ p8 r6 F) t // ToolTip
3 _1 y% W: ^1 XIDS_RESDATA_INC_005079
% N/ n- X2 j/ e) {; F S$ \$ a } Z. j* S* w7 @" L
WTYPE_STATIC WIDC_2ND_PASSWORD "" 0 16 224 148 244 0x2220000 0 0 0 0! v N0 U) {. B( }2 o/ r! m
{% U& [" B/ n# M$ v/ N- N$ ?3 I
// Title String) @1 @8 S3 O, f. R6 J2 z1 R0 p
IDS_RESDATA_INC_006874
2 G- ?( L4 j% o5 o% i( u4 x }
8 n7 k H$ h5 x- [) h+ L {+ w) m& B' Y5 c8 D, z7 A
// ToolTip) p: a. D- K9 Z4 j8 g
IDS_RESDATA_INC_006875
9 n1 t. V/ o9 g q5 z3 I+ b7 O }
, v( S% [. M5 I2 N' G WTYPE_EDITCTRL WIDC_EDIT_2ND_PASSWORD "WndEditTile00.tga" 1 172 224 268 244 0x20000 0 0 0 0! H& ?: |1 f4 G1 A" A+ S5 G
{+ k7 h! `# I" p
// Title String
+ u2 W' _' }$ ^ a4 N& Z/ q/ ^' hIDS_RESDATA_INC_006878: a+ S- O- G- n" T) x
}) a" r* M2 L+ V3 T7 G! M
{, J1 N5 L& ~. z& P$ o) k) d! ?+ \
// ToolTip( H- z& y( J- X z4 m
IDS_RESDATA_INC_006879$ f. ~+ i# {, `# D
}
5 G# l3 p$ W+ e: X2 `) L WTYPE_EDITCTRL WIDC_EDIT_2ND_PASSWORD_CONFIRM "WndEditTile00.tga" 1 172 248 268 268 0x20000 0 0 0 0
: H7 f6 e1 i+ e' R* H {
) [+ v, X* K$ x/ n" v6 f) p8 e! Q // Title String3 v5 `5 H. n$ j1 d I" c4 z
IDS_RESDATA_INC_006880" |/ v, L' |: O& ] s$ f. q9 z
}
$ Q( a2 _! T6 Q8 i9 D; i {
6 c; k* L7 P9 X$ [) h( q& L // ToolTip1 K7 Y# h0 E( S+ g. M
IDS_RESDATA_INC_006881! R$ j$ {* _# m. M9 [
}
: t- ]! f# [: J. B# v WTYPE_STATIC WIDC_STATIC_2ND_PASSWORD_TEXT "" 0 16 272 332 292 0x2220000 0 0 0 0; v3 x$ z q% J7 Z# e4 H0 F
{
$ l9 Y+ g5 Z" i. S6 ~& P // Title String( ~( H3 s' g7 ^6 L9 i1 T( i6 g
IDS_RESDATA_INC_006900
9 w8 S$ D+ m- f9 c }$ C, I8 c, s8 a: p! D1 |
{# o+ h, K5 G* k8 o' g. Q
// ToolTip M7 m3 Z8 r' e& ]3 V# B* d
IDS_RESDATA_INC_006901
& ~( ]$ e* B7 @2 n$ @ }
2 n! J0 ] U9 E( D, q WTYPE_STATIC WIDC_2ND_PASSWORD_CONFIRM "" 0 16 248 148 268 0x2220000 0 0 0 02 B% G' C+ y$ P. l2 F
{
3 ?( ~* r. z/ L t; r // Title String
! X/ U# O+ D+ G+ `+ GIDS_RESDATA_INC_006904
, r. `- u: y- o E, O C }
$ ~ n- c9 u: C6 ^$ m. F( R3 a {. y$ `! x* {% D# X3 L, {1 r. D( m
// ToolTip, T5 v% i8 N: W' v# w6 P
IDS_RESDATA_INC_006905: ~0 _9 y# f! x
}+ N X( s D) o2 W
WTYPE_COMBOBOX WIDC_COMBOBOX1 "WndEditTile00.tga" 1 118 80 286 102 0x20000 0 0 0 09 N. ^$ N; p e1 ]; F
{
/ A$ t3 ^7 Y* j" V* M( K4 k4 f // Title String" f: Z% T/ W5 c4 C5 w
IDS_RESDATA_INC_007134* g( C8 k( r( [3 z4 g$ S; Z3 f
}
3 B3 {0 Y2 G! I/ }2 M {
3 L1 f. U% m1 \1 t7 t // ToolTip7 T. K5 w, Y7 D9 y) b
IDS_RESDATA_INC_007135
, n! L3 X7 E* a4 u }
0 X8 }9 p! t/ y* ?; D0 } WTYPE_STATIC WIDC_STATIC12 "" 0 18 82 114 98 0x2220000 0 0 0 0 W& O* a1 O1 K2 l! e: y+ Z1 }
{ v4 \' J; @# _2 t4 l2 r
// Title String2 ~( [% H. O R5 f5 e5 c
IDS_RESDATA_INC_007136- F7 T; D3 u% K: ]' f3 H& D
}" O9 V- L% x* a' _2 _& E
{
T }' Z. Z& q' U0 _: e // ToolTip9 W2 W$ m) V- t u
IDS_RESDATA_INC_007137
2 E: K7 \' o; j: b3 n3 Q. K2 Q }' i/ A* G: b! F3 W! Y
1 [' p2 {* Z7 W}1 E a$ W/ M0 F
所以红色的!
3 R9 B' Z: Z! ]6 L! B+ N# z7 ~/ ^' n7 `* k
这里还tblSkillPoint的条目:
: F, Q( P8 s$ d8 n9 e2 r
& i, _; |% D: j代码:
4 w' @0 x. |4 P: `6 C" R0 ? If (@im_nJob = 1) w0 J/ E# x2 X2 c+ x7 r9 C& _
Begin/ R! H; E, _7 n6 `" o( E
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 9, 0, 3)
8 P0 W) e' k1 M/ w5 Z INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 4, 0, 4)* P1 f7 X, ^2 E4 E
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 10, 0, 5)
% H4 I7 @2 |- m, Q INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 5, 0, 6)
6 ?2 j9 N* Q; s! F7 K INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 112, 0, 7)
' F6 `: x8 s9 `0 n8 n INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 13, 0, 8)
1 b% R" v% I' i: s2 L$ k INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 111, 0, 9), I5 d8 d. u q# B# X. P% a
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 6, 0, 10)/ w8 H1 x; [' Z+ Q$ W# p, A
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 108, 0, 11)# c3 G2 f5 ^( @: C, _
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 14, 0, 12)1 G# g5 l" T; o( G9 l1 q5 [5 i
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 109, 0, 13)0 T& K- J _; y3 s8 ]0 Z' I
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 7, 0, 14)! r' y( [( v6 x
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 12, 0, 15)
$ B2 I% W$ S2 I5 I4 X INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 11, 0, 16)
$ o6 I, _ c6 P1 m$ \5 }# Z+ g INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 8, 0, 17): i5 ?+ y/ t" |$ X
end- F8 a! P }) V& B
If (@im_nJob = 2)
F+ P+ A( R+ o6 A Begin
4 m7 E D1 }# p: G2 h4 M7 o INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 197, 0, 3)
9 i [& k8 ^9 X INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 194, 0, 4)
4 t! x( b R) S- X$ G INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 206, 0, 5)
8 S2 Y8 X8 P! M; K. y INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 195, 0, 6)
; F- I% |5 H& C$ ]+ R INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 191, 0, 7): C+ i1 H" n) I( o x9 Z
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 192, 0, 8)- x# g# i) F- \' J
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 198, 0, 9)! H9 n4 n- }! |' X5 a# K4 r: I% E9 D
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 193, 0, 10)
' C$ y3 Q4 K! s! t2 T& {+ A INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 201, 0, 11)
* f: L* C5 ~5 d2 R q, H INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 203, 0, 12)/ i1 O4 M7 C( s
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 196, 0, 13)9 E1 N( n: B3 ? @5 v0 ]' Y
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 204, 0, 14)
4 H: l1 A% V5 k2 }! a+ D& k3 K INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 202, 0, 15)
u8 x+ ?* q2 {+ l( ] INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 199, 0, 16)" o7 s" Z! E( G7 E5 j" l; u
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 205, 0, 17)2 ~" U% `- V+ S3 `! o$ d3 t- P
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 200, 0, 18)
/ L5 F# i# Q' r9 x& }! m end. ^- z& o7 `* J: j* y4 Y* {
If (@im_nJob = 3)3 f) [) f+ D% F1 M
Begin
2 L9 T! H: E2 y: w+ h INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 44, 0, 3)
& J& l& j6 }' b" D9 ^ INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 46, 0, 4)
' W& H) f% O$ a2 ] INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 52, 0, 5)
4 L u) o' {3 `- X INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 45, 0, 6) T, b7 a2 E" N7 E) z
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 114, 0, 7)
4 _3 ]( d& z& S INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 49, 0, 8)% B% N; \) h# |8 O) Z8 j
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 104, 0, 9)
+ |. j& i/ v- i, b( O2 ? INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 20, 0, 10), B0 F/ f1 q$ ?3 D% M( d# k3 p
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 53, 0, 11). J/ W5 F$ A, E( X$ y
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 51, 0, 12)( N' Q' _7 i. e+ Y% O4 V
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 113, 0, 13)
* w7 Z; p, R- a8 } INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 115, 0, 14)
% @+ P# U4 k$ U8 a( b' O! N$ S3 c INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 105, 0, 15)
: B4 T( Z/ c" c4 O$ ]1 T INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 48, 0, 16)' U( z' N6 S! o N/ W5 X6 c
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 116, 0, 17)9 \; g1 b* m: l3 e# {9 Z2 R* B9 ~
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 117, 0, 18)
+ Z6 I9 g! w, [$ ~7 ` M9 m INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 50, 0, 19)5 C: [& |1 R" z' T
end
4 `4 a+ f+ R* v: e3 q If (@im_nJob = 4)
, T2 R8 n6 W' M+ N5 H$ a) V% X" A Begin( X, G: X6 h1 X% z, G, M" }3 E
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 121, 0, 3)
9 }! n' m3 h, J( x/ A1 P INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 120, 0, 4)5 B* l2 y0 Z- J( e0 U3 c+ o5 {
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 119, 0, 5). @0 {* [$ M Z% G
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 64, 0, 6)
6 } Z- T* O8 m+ z' T: S/ Q- h INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 118, 0, 7)" }( b; c' ^; y9 y$ |2 O3 z
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 69, 0, 8): R+ Z% U$ q6 T9 m' q) e$ d
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 36, 0, 9)* v3 f" B& [7 q( U( c: \$ }3 y
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 32, 0, 10)
* c; s) y' ` [/ |- c6 z INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 70, 0, 11); f/ R) P* ^3 r
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 65, 0, 12)+ w# @ O& \# w6 O" U9 P0 J
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 34, 0, 13). _* V% U/ \4 f4 t. ^
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 107, 0, 14) J' V. b) g1 l9 b0 a, D' x
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 37, 0, 15)
+ Z4 y% w" h' n( ]+ ]+ B INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 35, 0, 16)
' D2 k3 ^, \6 \ INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 31, 0, 17)2 E1 S9 O9 [) O( \! x
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 30, 0, 18)
1 z/ ~8 K/ j: q d9 l INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 33, 0, 19)
- F! q1 m" O V. Z3 O# {( H' z end
* s m1 S' C, L只需插入在此插入( s7 l9 J# r$ m$ f2 g" g2 O
代码:
3 @0 `' ?; d% P/ d+ O INSERT BANK_EXT_TBL! m0 N* Y" P" E
( 1 r! S- X( E3 y+ H6 g' w
m_idPlayer,# ~5 P; B* p* }: R1 l$ I2 D( i
serverindex,
& j$ N: D I( A( Y, O( w% L E m_extBank,* @& O5 g4 Z; `
m_BankPiercing: _5 g) E W9 i% U' N2 _ c# A) @
)# X2 X& V! k" e3 l3 G
VALUES
; y# K3 x2 p' Z( X9 \; d! s (7 w9 W: O# g6 W9 K4 v
@om_idPlayer,
- R; S" s% G6 x( @ @iserverindex,
5 }* l. a7 ]) ^9 j. Y, L ''$'',''$''
8 \- X" `0 U+ u7 X9 P/ w9 F3 R )) q7 j1 W5 p. ]
5 C# {( P" M: y0 U( q, K( j7 t7 |( j! D( l: T
#define IDS_RESDATA_INC_007134 28816
, ?( u3 V0 j; K2 C5 @! l/ X; U
$ s2 X) l( G/ d+ h+ `
- H1 d( C$ N | DBQryCharacter( szQuery, "I1", 0, g_appInfo.dwSys, lpDbOverlappedPlus->AccountInfo.szAccount, lpDbOverlappedPlus->AccountInfo.szPlayer, nSlot, dwWorldID,
3 I0 |/ U2 a4 } x dwIndex, vPos.x, vPos.y, vPos.z, '\0', nSkinSet, nHairMesh, dwHairColor, nHeadMesh, nSex+ y7 U" ]; m! @8 f7 e# ~
#ifdef __NEW_JOB_SYS
% M" v9 p" f# D) x* ?5 J# e , 0.0f, 0, 0.0f,: l. g$ f. v/ o: p! K- a
0, 0, 0, 0, 0,
1 d( o$ t5 @9 Q8 G nJob % p: `1 h+ S4 D
#endif: x$ Y9 B: o) a. f, Z. v5 ] l
c: v( q; f* G9 D% q1 ]. ~" q0 u, e' o; {4 c7 s
|
|