|
在这里,我向你解释如何在源选择安装到创建工作中的字符。' F! K( O) K/ m& q* N
../NEUZ/Versioncommon.h' e" b! m0 C# ^% q% p. E8 J5 i$ j
) d7 A8 u5 a; x在上范围进这里只是这一个:
' c l* R/ y D. `% w1 C ~代码:0 G& U( Y, A! B/ b) L p k" H6 I' S
" e5 M) A( _: A% J#define __JOB_CREATE_CHAR
2 [' F, g, a$ x. c8 k) J../_Interface/WndTitle.cpp9 L; P! K& y% g. L" A1 t0 @
, K+ d# u" ^' r; D在这里你进入功能- m6 B3 m+ F3 I$ y6 }% b
代码:
! X! ]6 q+ F) @5 G' l" G7 |% n( P% k/ Y2 R7 I6 S
void CWndCreateChar::OnInitialUpdate()6 [7 f, }$ h- L9 k: |
并有助于
5 N! N3 S9 z" B5 k代码:1 P2 ^6 ?0 p/ T, R' k6 y
CWndNeuz::OnInitialUpdate();
( t# K' ?' E' k- Z1 j8 u这样的代码:
S3 e, R$ d1 V- T; T& |代码:
9 r. D- m% l) l$ n#ifdef __JOB_CREATE_CHAR* S" q! ^! ~* E4 L) ~5 d
m_Player.m_byJob = JOB_MERCENARY;2 G' l: N' c1 K0 j7 m6 M
CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 );1 k- m1 h; |# n" h4 N0 r
pWndJobBox->AddString("Mercenary");//Edit by yannickmama
. G/ J% k# @+ v pWndJobBox->AddString("Acrobat");* S* S! o' v6 S" s
pWndJobBox->AddString("Assist");
% }1 k+ V! U2 H! G7 S pWndJobBox->AddString("Magician");: p" r) C6 b7 ]5 w, d
pWndJobBox->AddWndStyle( EBS_READONLY );
: @ U3 J. P9 ^8 ^ pWndJobBox->SetCurSel( 0 );" I H& F- I. n7 i
#endif //__JOB_CREATE_CHAR) H& X7 J+ v5 p
在同一文件中,我们跳到这个功能
+ M* e1 |# u3 Q# W; y+ v代码:
6 {) H8 D4 i% u; gBOOL CWndCreateChar::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
; Q0 S' N# x' P( B) s. L3 m并查找这一行:: t. Z( t% j. U/ t5 n
代码:
! S- I, r. W2 P) U case WIDC_OK: // Create2 I$ I5 ?2 R" o
{
i% ]0 U2 H. A* ^( b下面我们就这一个:
& E. i4 A. B d; d/ [" a代码:, A$ g- q$ J5 F8 b& \! c3 m6 F& c0 o
3 |$ I5 @% s1 O* L! R#ifdef __JOB_CREATE_CHAR
6 d9 d" v$ ^& M: _8 e. j: I CWndComboBox* pWndJobBox = ( CWndComboBox* )GetDlgItem( WIDC_COMBOBOX1 );
3 K j9 p, D j$ M) {+ _ assert( pWndJobBox );
- m- i9 s ^1 j- z* Q- U# s- }- k- H* `8 [2 K
if( pWndJobBox->GetCurSel() == -1 )
2 J- p& T) s" s7 ~ {& R% f0 S% w$ P7 A$ V
g_WndMng.OpenMessageBox( "Bitte w?hlen Sie einen Job" );' |" \* j0 b+ E2 @
return TRUE;5 m( v" |3 k1 J! [% ]
}) q* \ W7 f" i7 J$ w* [! a. r
, y( H/ Q4 `) \5 y% M& p
switch( pWndJobBox->GetCurSel() )
. F* P- C0 @! U8 \* { {
, U: ?$ }- |5 Y$ `1 [& t; _: O case 0:+ W6 i# N. t; l7 @
m_Player.m_byJob = JOB_MERCENARY;' e, G3 L, v& N2 I- n
break;
) z1 d& v! p6 n3 T1 A1 i; n, v case 1:
6 U+ U" I, V# u! K$ K m_Player.m_byJob = JOB_ACROBAT;. `7 l2 r' m+ n; z
break;* |- k# G3 u$ R# \8 F7 v/ c m
case 2:
' T6 y9 U$ f6 n6 i- _; x% v0 E m_Player.m_byJob = JOB_ASSIST;
) t5 W& U3 a6 Q: w1 L break;+ ~! A" i1 \. I2 G
case 3:
+ B' V# a2 ?; O1 ?+ j& {# v m_Player.m_byJob = JOB_MAGICIAN;$ L, e( ]2 J8 p' M$ K. T4 ~, n
break;1 s2 j# E3 |, o$ O+ k
default:
! p& i7 v- t3 W; \/ a( A m_Player.m_byJob = JOB_MERCENARY;# N8 `% t( L4 ? W; w
break;$ ?- |9 ~! K9 c5 F
}+ a. @4 A' ?3 L2 n/ [% c: i
#endif //__JOB_CREATE_CHAR7 Q/ W$ A$ ~, ]' {9 k
# _; j# T! S$ z" \1 u../databaseserver/versioncommon.h9 d& _9 {* U6 B' r
: _- b- a* v& J! l8 S, T在这里,我们这一个以上的地方进行8 q7 S k2 R+ Z" s& e1 N6 K# U3 i: q
代码:
& H) z8 Z* X' k" ], r/ R. l
7 W- z) i( q7 W! w9 i; Q+ J#define __JOB_CREATE_CHAR/ R. B$ `0 h) N& [! y- B+ {) }' g" @( Q
../_Database/DbManager.cpp2 r$ \8 V- \2 j2 V0 u( L2 Z: E
8 G5 S, Y) [2 y* k1 j, w
在那里,我们去的功能
# g, j% c7 e) s% q% S3 T代码:
( W( n) M9 U/ U- r- s
7 G, Z) W( h8 vvoid CDbManager::CreatePlayer( CQuery *qry, LPDB_OVERLAPPED_PLUS lpDbOverlappedPlus )
: u. u/ ]7 W3 L: {0 k& F. S并搜索8 n4 }0 g: `7 g: R0 W/ @
代码:0 `: k }: |, s9 Z& N" Y2 [
pd.data.nJob = 0;
% C1 {: i; n3 A$ g! x, o并替换为
4 r' \8 X* K$ ]7 F' f8 {代码:
1 S9 p# i+ ~7 W$ f& ^6 F#ifdef __JOB_CREATE_CHAR) e% }6 o& [4 e" x9 c
pd.data.nJob = nJob;
# E" @9 k+ Y& c a0 }; A; }9 Z#else //__JOB_CREATE_CHAR
. D7 m: y! F8 O. k0 D/ s pd.data.nJob = 0;. t# }, E8 L- F. Y9 x% V/ j
#endif //__JOB_CREATE_CHAR
" F* C3 `' D4 g6 f/ i* B$ x6 y1 H3 T/ ]. K
这将永远有一个来源的东西。
* m5 H9 b' `: z" c: H
% F' B$ Z8 c/ T) j g8 s但我们现在必须修改数据库,所以我们走在存储过程CHARACTER_01_DBF CHARACTER_STR到数据库 {+ Y9 N. g4 }* C
和搜索4 F2 {" i6 Q7 ]
代码:
2 l2 K5 `* `* T @6 ]- a! L% _5 C7 u7 T3 m4 D- [5 n
FROM BASE_VALUE_TBL
`* t. X; l1 Y p+ j! }1 h WHERE g_nSex = @im_dwSex- [) C7 `6 h8 u& Y/ t- h+ K
并替换为
" }) a0 t1 E: r6 W3 ~3 ~: T6 S! ^; N代码:
* O* Y- u) J0 B7 ~: Z' q FROM BASE_VALUE_TBL
8 E" e& s, [8 K WHERE g_nSex = @im_dwSex AND' j4 }, F1 ~- k; o+ x
m_nJob = @im_nJob
; }% f' G. J9 c+ i- o& X当你做的工作,以便更积极的条目BASE_VALUE_TBL CHARACTER_01_DBF都可以。3 `: K% b0 T: {1 d, ^- J
8 l4 b7 }5 k. n Y, X
你必须确保它仅适合和njob g_nSex。始终创建两个g_nSex g_nSex=0和=1项。
@ x5 B, U2 T1 u# D3 D5 i8 q8 U# A# n6 B$ o4 D7 l, v
你必须,但是,仍然在Character_STR条目(刚下Selectierung BASE_VALUE_TBL)为补充SKILLINFLUENCE_TBL。
5 s5 z( X" a* W这是那里告诉服务器哪些技能你的角色可以skillen。' p& A2 x. b$ ~" E
可惜我不再the'm懒得现在要做的话:'D
' V8 v# Z. y, ?5 m( ~# ^& D$ k: i1 _5 r
, J( p3 N) w3 z- V1 A" M q! ]2 u. F. e; Q, L, v
4 n) p( @; z* C) U
2 J0 P8 {( A0 t' F: Y6 A* u
' e* I3 w d/ d. O0 K$ Y
1 g' `7 a6 W: _( \7 V
6 C1 H- e5 k% U+ _& j0 WQuote:% z1 E* T' K2 d# j" E
Originally Posted by Divine.
4 F5 c2 A: X- f4 A5 Z7 I8 l如果他发现我
- O6 ^: k9 a7 L代码:
$ Q4 ^0 i3 y$ _2 t pd.data.nJob = 0;
) F6 f& L, } o+ ^/ m/ t并非如此:7 s$ a6 u s/ E" z
所以,我只能看到
* }, E% Q' a0 z& R: v代码:0 B7 \" v$ x8 ^5 H8 f% J! R
// pd.nJob = 0; Z/ K3 }% a9 F4 f5 J; q8 S1 D
^^ Q3 X2 A1 [, M
Hier, das mussu finden:
7 S, {3 V% z- D0 i/ e G! JQuote:
& r/ p9 r/ q, k#ifdef __CREATE_JOB
4 t9 e4 c# a$ e$ ^9 Epd.data.nJob = nJob;; P4 H# o/ i) H! p' j
#endif // __CREATE_JOB( `6 z8 E, p" B. B0 P _; J3 C
// pd.nJob = 0;# e6 [2 j+ I6 _9 k' p
// pd.dwState = 0;
( S( O% V2 p% gpd.data.nLevel = 1;
+ O; N9 x+ ^' r" ^0 i5 A; v( L) @pd.data.nSex = nSex;0 l+ N3 ~0 n2 d( }* ?
pd.data.nVer = 1;
& K% z: |7 H0 C8 M
9 M- [5 S6 R6 N Q1 L1 F2 l我仍然有一个问题(:: E' s) w# `' g3 W/ c
下Character_STR DB, G; Y. K9 M' o1 T: X8 i+ R
这样做在这里
6 t6 ], g$ d2 q" Q代码:1 {! y/ Q2 K% X# M) |8 r+ g0 o
FROM BASE_VALUE_TBL7 {$ B, f/ O7 S& Y5 h
WHERE g_nSex = @im_dwSex; Q7 \) y7 \! _" k# w. z
在这里改变- S4 T& d% M4 A* s- s/ Y6 Y
代码:
2 e9 s* n- ?0 U& I FROM BASE_VALUE_TBL: \- s d5 W: O: t( F6 Q
WHERE g_nSex = @im_dwSex AND
: X+ x5 A' h3 @1 U* B+ J3 T m_nJob5 Z' v1 v3 @8 _6 ?, W4 Q( F
由于还需要什么?.?) i8 d& U1 ^* v H
在第一篇文章中,你可以阅读8 t% b# M7 n, z- C! h5 W7 m" ]
代码:! z% r1 H6 p6 {; o6 M% }
FROM BASE_VALUE_TBL
4 E% D- L! \4 P+ J5 i! w' F. m3 T WHERE g_nSex = @im_dwSex AND
7 Y+ M. S$ p4 r. N) ] m_nJob
* l4 Y+ w8 R2 a ~ [9 C. Z, Y7 o
2 X1 L/ }0 o$ j1 M L u% D! ^- Y9 H N) @- C. b. `
窗口是什么我忘了
; B" C$ ?* r) v+ G8 T
* `2 }1 w; H9 R5 k代码:2 F" P1 T2 Y q+ G, _/ e( _2 k1 e
APP_CREATE_CHAR "WndTile08.tga" 1 544 368 0x2410000 26
& K* E5 H, e. s4 h% k" i{5 w- r6 x) p! |! s( V
// Title String
9 [4 \. b$ g( w& C' n( bIDS_RESDATA_INC_003064" e0 U: _9 |/ O; }9 y1 N5 S
}5 h9 k3 n% F! W/ G$ Y
{
1 p/ S s. a& w0 I# a& i' y// Help Key
1 f& E% y0 z" F% LIDS_RESDATA_INC_003065
- S# E9 D% @! e6 A}4 T7 K$ F+ i+ G; R# ^: D
{9 \! L) h" ]2 L: O; C1 A
WTYPE_BUTTON WIDC_OK "ButtOk.tga" -842150451 176 300 248 320 0x220000 0 0 0 0
: w' j. B0 R- \; K {
8 C( `- t# A9 C9 O) o) g // Title String
- Q/ {1 E0 p& K, [+ SIDS_RESDATA_INC_003066
7 |; ^* r7 F' v; [1 O }6 n6 p q1 }4 ~8 s+ D5 q; A
{8 d# c; ^# y: Z- f
// ToolTip
. T! [0 D' U7 T& i5 N3 ^IDS_RESDATA_INC_003067
_2 ~" a; ?) i/ h0 j# M5 I: F. I }
$ J" L4 B( z5 G) Z | WTYPE_BUTTON WIDC_CANCEL "ButtCancel.tga" -842150451 280 300 352 320 0x220000 0 0 0 0
, m& U! H J, x% d6 _ {; G* _4 \* C7 d2 r. |+ G% c
// Title String
* N7 k+ n" \2 HIDS_RESDATA_INC_003068
3 z5 y4 _& F: g7 I+ b0 y% f }6 A8 e' s% ^1 \
{2 N9 e& l" m6 `! R9 l3 k
// ToolTip
8 Q' Z- k- Q2 O4 I7 t& LIDS_RESDATA_INC_003069# t7 Z/ W; ^* L y
}( A, R* h0 E; r D0 e. i8 b7 Y
WTYPE_BUTTON WIDC_MALE "ButtMale.bmp" -842150451 118 128 190 148 0x220000 0 0 0 0& Q2 m1 u _0 ^: g9 I6 Q% z4 S8 H
{
0 [3 o2 l5 f& N5 Y! H& e0 U: y // Title String
& J9 @! [7 N# T; D' |IDS_RESDATA_INC_003070
, R) S! a4 t( T( i, V+ [" C }
9 ^% J+ u( `5 Q/ Z3 B7 K {) U4 ^9 v! v0 d6 _
// ToolTip
! u. z) [, z( K& L4 K' xIDS_RESDATA_INC_003071
* V. R* t8 U0 [1 Q% _( L }* ?9 U/ T! G! q& G% f
WTYPE_BUTTON WIDC_FEMALE "ButtFemale.bmp" -842150451 194 128 266 148 0x220000 0 0 0 0
! @, ~4 F# B' _: s0 d, ` {
! r3 ?* Z7 M o' Y* k( _1 c& n // Title String
4 M: n% b+ Q tIDS_RESDATA_INC_003072
, ^6 @) \: g$ l8 D. M }
( U, F2 ^! |8 U# l: d, P {0 {/ L) Z3 ~! D8 z2 N' }- |' x
// ToolTip# t; v/ l2 m$ W
IDS_RESDATA_INC_003073& l: E3 c* q! s9 [8 a- Y/ w
}/ p" W2 R0 o/ a" v, B
WTYPE_EDITCTRL WIDC_NAME "WndEditTile00.tga" 1 116 48 288 71 0x20000 0 0 0 0 _- q! J# Y& a5 c
{
5 C9 o6 ^6 w! P3 G4 W // Title String
% {/ D- f$ Y3 j) o9 G# t# w0 B4 fIDS_RESDATA_INC_003074
# C# y v- U3 t% m5 ` }8 ?5 o y7 P% E' Z2 w& H
{
J' X. k! c9 A. y // ToolTip o6 o1 ]) w/ K p
IDS_RESDATA_INC_003075& q) w7 |5 a1 y: U b, w
}
4 U+ a( g/ R. Q8 |) n( T WTYPE_BUTTON WIDC_HAIRSTYLE_LEFT "ButtLeft.bmp" -842150451 118 152 190 172 0x220000 0 0 0 0! V$ ?8 V$ Z0 J# L# P
{; E& s1 }+ t! ~6 T
// Title String
4 Z, }* a4 \, m8 \. X X4 z5 `IDS_RESDATA_INC_003076
; J1 V, K! t+ _' T3 F }( F9 t8 D9 q: s# }( Z2 K2 p
{
& f% B. F1 n1 x- C6 x* M% [ // ToolTip3 w% P' l7 Z1 w( c5 s
IDS_RESDATA_INC_003077
/ t; G9 M1 D( @ }' `! B4 B; j' p
WTYPE_BUTTON WIDC_HAIRSTYLE_RIGHT "ButtRight.bmp" -842150451 194 152 266 172 0x220000 0 0 0 00 C2 J1 I$ P( Z; |' L" q, l
{& U& O1 f2 i% z' ~
// Title String
( t" J, j7 R% A% F/ G% fIDS_RESDATA_INC_003078! j. F p% V. J5 O0 o$ }9 m& {9 \
}
# r: C) L2 q K6 q: V {
. ~' x5 V6 z) M/ u% i( W' n, Y // ToolTip
& P/ Q9 G! J9 Y( n4 AIDS_RESDATA_INC_003079: L, f. x) Z0 K9 M' i9 M0 N
}
1 H. n) _# Z! n& I* I) `1 F4 | WTYPE_BUTTON WIDC_HAIRCOLOR_LEFT "ButtLeft.bmp" -842150451 118 176 190 196 0x220000 0 0 0 0
. i, p3 j9 \0 {, F, Y {
8 D: e) ~; E( r: Z, P // Title String0 a8 @; \/ s4 A
IDS_RESDATA_INC_003080
* v6 X4 B: Q+ Y8 | }1 f# R* d* M- Q3 j; @
{
# T, Y+ _- }1 n+ a3 Y! _ // ToolTip6 j9 n3 S5 C2 g; x1 {
IDS_RESDATA_INC_003081+ M3 n% a( C' U' b1 m3 E
}
. t! a" A1 r$ Z! o4 q WTYPE_BUTTON WIDC_HAIRCOLOR_RIGHT "ButtRight.bmp" -842150451 194 176 266 196 0x220000 0 0 0 07 F- O" e e) [ V T, ]
{4 D4 f' _+ W( o3 v- M- ^) Q
// Title String: H- e. k1 b# K5 R5 ~* U5 X, e4 ?0 T
IDS_RESDATA_INC_003082* y4 U( P; j! o' J" j0 M* q
}6 r, ^4 ?7 A* i( F% m! z
{
* q7 Z- q5 `; X3 O4 i6 d& @ // ToolTip" s: S# w$ r: J: d' W4 v# h. G
IDS_RESDATA_INC_003083! ^$ }) n+ R- M" v
}$ r: O7 Y' ?6 [+ b* ?$ F
WTYPE_BUTTON WIDC_FACE_LEFT "ButtLeft.bmp" -842150451 118 200 190 220 0x220000 0 0 0 09 ?; V! F- ] G
{
4 R: N. P1 g& W6 c s // Title String
5 u+ B0 I& l" J" @$ x4 n2 @% [IDS_RESDATA_INC_003084+ O- u% m4 v% `) ]9 N
}
7 v& f2 k( s, \+ `1 M, [ {
% y+ Q/ H4 N! i1 n5 M; q3 W$ v i" y // ToolTip, @2 q( E4 n& y& d5 Z
IDS_RESDATA_INC_003085 Y% D' Y: i3 M6 S- J
}
- U/ a4 m* l0 ~# H WTYPE_BUTTON WIDC_FACE_RIGHT "ButtRight.bmp" -842150451 194 200 266 220 0x220000 0 0 0 0
+ ~3 J+ p: t6 }# u$ P; T6 z {
# r# M$ j( a- z // Title String1 e7 h8 q: B c
IDS_RESDATA_INC_003086
7 R" I- L& X. I }1 \# n& b7 {8 I! w
{
% N; x1 q8 n- a, D: Q* T+ H r // ToolTip
7 Y9 A% o5 ~$ Y: [6 GIDS_RESDATA_INC_003087
8 ?1 R6 q5 P7 T7 v' T% ~ }
: h: V9 c1 n4 `- W6 ^: e WTYPE_STATIC WIDC_STATIC1 "" -842150451 16 48 116 68 0x2260000 0 0 0 0
/ S/ w$ W5 {2 l {' F- b: ~0 k$ F4 \9 \7 f
// Title String
. I+ r7 o+ T/ \+ p/ q. U! nIDS_RESDATA_INC_003088
0 O* D4 |/ \9 F/ i }
6 `! l. B! l! N6 }2 }3 j {- T5 z. v- |2 c( S$ z9 a
// ToolTip! j0 Q$ f; I Z7 R
IDS_RESDATA_INC_0030895 j# Z+ V/ K0 W1 a
}
' W. a0 p3 L+ N7 h' c/ H WTYPE_STATIC WIDC_STATIC2 "" -842150451 -232 136 -132 152 0x2260000 0 0 0 0) x% p! ]9 s3 A4 g0 R' n9 r# P
{
! }" }. L6 ~) @& R4 |4 |5 [* N, I* J // Title String
: ^0 e1 a- _; M# X" I' `/ SIDS_RESDATA_INC_003090- _, S7 I: m0 l2 z8 ]
}
% o7 k* {* S4 i$ j* W {4 k* ]1 m2 m- Q. u# |
// ToolTip- s, ]6 z% v5 ^5 r, K7 o( C
IDS_RESDATA_INC_003091
# ]( ~. u& ~; _& H }' _2 B, Q' M+ Z. _ f4 S% x" p4 w4 ^
WTYPE_STATIC WIDC_STATIC3 "" -842150451 16 152 108 172 0x2260000 0 0 0 0
2 ^( g* Y; G, P9 T2 t {
3 \0 {4 {' u( t8 {* i // Title String
) \: P# C& S. S, P/ zIDS_RESDATA_INC_0030920 v% A6 O5 w0 X3 v: d9 [" \
}6 ~; }, R r% i) K: j# g7 i
{
1 Q9 w" N5 I4 f // ToolTip, l. ]* ]+ g: D) u! V+ h
IDS_RESDATA_INC_003093
4 k0 R% V* X- ? k }/ {* F* Y9 z# a" ?
WTYPE_STATIC WIDC_STATIC4 "" -842150451 16 176 104 196 0x2260000 0 0 0 01 x1 M* |3 J2 ]1 q% C: t4 V" ]
{
; Q3 C' c! d7 C8 Z! q // Title String
- a% R& h9 [& `IDS_RESDATA_INC_003094
8 b1 E: ?+ g: o) B }8 N+ l q5 D, g X6 F
{
: W, ]8 l. o: y" n // ToolTip
6 T9 d2 d8 y; i2 k! M3 nIDS_RESDATA_INC_0030952 S/ q) R1 ]! Z1 x" }
}
# W# s0 _0 \8 g: o8 ] WTYPE_STATIC WIDC_STATIC5 "" -842150451 16 200 100 220 0x2260000 0 0 0 0
' g* ]' I1 ~) F/ @# S7 ^# v; h {
8 T+ S R1 D+ i, V0 s5 A$ M // Title String
/ s$ S( z$ [6 m1 m6 L- i- \3 wIDS_RESDATA_INC_003096
) D. ?, _7 [4 U% X6 G/ w1 N- d" Y }& K! V1 x& J" r$ S2 g
{% K8 v1 _5 {2 w
// ToolTip
% V$ M. B4 K2 \ Z5 [2 ~/ {. A$ nIDS_RESDATA_INC_003097
7 s5 g$ M( G$ a6 I% K2 T }/ ~2 q3 Y7 M& d8 K1 w/ L% U
WTYPE_STATIC WIDC_STATIC6 "" 0 16 128 104 148 0x2260000 0 0 0 0
/ K7 R% z9 g% T- O) o# P7 o {% M4 C+ {2 B3 ^( m0 b" l
// Title String
+ d- p* e$ H: e# {' S- G4 gIDS_RESDATA_INC_003098
0 O+ w: s0 Z6 }% Z }0 T! B+ m2 H( {0 W
{- P5 i$ R# F8 r: d) U, U
// ToolTip
+ J0 H8 ?& M" B: _# f0 ?+ D OIDS_RESDATA_INC_003099 l/ x. j z' g% q; N1 W
}/ q" C8 f& A1 o! s, _% {
WTYPE_STATIC WIDC_STATIC7 "" 0 11 76 281 92 0x2220000 0 0 0 0
/ ~- L/ ]9 Q( N# k0 R3 @0 G+ O {+ _7 b% ?/ p. k$ |5 W
// Title String
+ @( e# e* j2 [7 d/ PIDS_RESDATA_INC_005076- j: S6 } C- o Q) p, I& V9 p9 z
}
- N& L9 o: R+ X {9 n G, e0 A) N* x: l) P$ ?% k
// ToolTip
7 z, M7 ?: z& `: l3 A9 M9 SIDS_RESDATA_INC_005077
/ }- P5 K. i# t2 F; ^0 X/ ^ w }9 }) v( @, n/ ^# j* M6 D6 W. ]
WTYPE_STATIC WIDC_STATIC8 "" 0 11 97 281 113 0x2220000 0 0 0 0* `! t5 ?; `0 u0 W
{1 o* R; d" D6 Q% i3 C0 ]/ w1 m
// Title String- |: l$ G& o- @; X( p0 k
IDS_RESDATA_INC_0050782 h9 W+ _1 d; k2 r" M
}
: K! ?5 T: ~& x: w {1 [8 L- i" Z7 j( W; Y4 Y
// ToolTip
- V5 ]" J' h6 r3 F7 R+ x, ?0 @, W. K; @IDS_RESDATA_INC_005079 s" x/ o' n4 Z, s8 l
}
/ {* ~+ v _, I$ ~! d WTYPE_STATIC WIDC_2ND_PASSWORD "" 0 16 224 148 244 0x2220000 0 0 0 0
8 P/ R- @: |. g' B3 g {
. g, {3 g0 m E7 i/ c( Z' n4 @ // Title String: s* Q. q5 ^$ v1 ^, \
IDS_RESDATA_INC_006874* v4 |) F3 W0 P" s
}
$ h" G+ V/ S+ x. y {
# P$ g) t0 S. l/ }1 G4 q // ToolTip
& B( F0 X0 ^5 K, V# H# xIDS_RESDATA_INC_006875
) E; M* b7 h' `# [% G }
8 H( l# d) Y8 c" |% @ WTYPE_EDITCTRL WIDC_EDIT_2ND_PASSWORD "WndEditTile00.tga" 1 172 224 268 244 0x20000 0 0 0 0
& E% U* O; \/ [ W {
' Z. w5 `; p! v* d( X8 j: \ // Title String
8 [) z& k. s* b% K/ m LIDS_RESDATA_INC_006878
9 Z. R. T& q b) b# v }, m8 E1 G5 Y( X3 [6 _3 `
{. E* G1 x; _! g8 ^: C1 F
// ToolTip b( ?5 h5 u# P, E
IDS_RESDATA_INC_006879
, Q( \) D. z7 i# B" u d# F; z }5 c. F7 ^9 ], T, [6 b
WTYPE_EDITCTRL WIDC_EDIT_2ND_PASSWORD_CONFIRM "WndEditTile00.tga" 1 172 248 268 268 0x20000 0 0 0 08 Z3 r `) i1 p( H+ G& M/ `& \- r& Z
{0 Q; R7 V* {' ?8 S8 i2 B4 V' {7 {
// Title String2 S; Y3 t3 l; D" \6 `1 L
IDS_RESDATA_INC_006880
& U$ i) {. a- g3 W) H }2 O0 r* l. g0 Q, w# [- |
{( e1 v2 f7 v K' M; o- U9 \. k
// ToolTip
! a \( B# d. B8 T/ fIDS_RESDATA_INC_006881+ F' D, O& @# R. _) O
}
/ y. p+ s0 O4 Y5 O WTYPE_STATIC WIDC_STATIC_2ND_PASSWORD_TEXT "" 0 16 272 332 292 0x2220000 0 0 0 07 L( Q# O* b7 H' t5 s& X
{
; F6 T4 g% a6 }$ j# c! ^ // Title String2 \, h5 [, D% t& f1 z+ M
IDS_RESDATA_INC_006900
) E+ c: l. Q# e( M+ v }/ F& V. o6 h. r! j/ G& d* [! {
{/ F, h q" u5 ^
// ToolTip$ p+ d$ x, Q G7 X; m
IDS_RESDATA_INC_0069019 w4 o" E) M! A; y3 a
}
2 P t' M# i3 i( U WTYPE_STATIC WIDC_2ND_PASSWORD_CONFIRM "" 0 16 248 148 268 0x2220000 0 0 0 0
. \+ e5 }% T" ~ {
" m- u' n0 o5 V; Z' q // Title String% K0 x) u( Z( {- A* s1 F& i
IDS_RESDATA_INC_006904
- x/ s- s+ C# P& A }$ j8 e' S* H7 _2 R4 V! a6 Q) {
{
5 w) J _# h4 Z8 {4 h // ToolTip3 ^/ A+ o) ^$ Q! `- {" J
IDS_RESDATA_INC_006905; v9 d# [5 `- w
}
" I& v$ |' d. ?0 C% S' P WTYPE_COMBOBOX WIDC_COMBOBOX1 "WndEditTile00.tga" 1 118 80 286 102 0x20000 0 0 0 0
% g$ b3 m8 ?+ K {
/ ]% m1 H. U& I& V1 B // Title String' l" s2 Q9 ?" _; |
IDS_RESDATA_INC_007134
/ A' k! L& e8 }3 Q }
! }5 T. `( v5 a! S' H H. j# ? {
' a* o9 n- f/ e# Q& } // ToolTip
* q' j7 t1 N- Y: u2 S' R; B* FIDS_RESDATA_INC_007135
; }& m; ~: O- n2 U0 p }
' g, A" N, K5 F WTYPE_STATIC WIDC_STATIC12 "" 0 18 82 114 98 0x2220000 0 0 0 0
M. Y# @: ~+ o& Q. `. x5 h$ P {
. i$ Q- b( k3 l* Q- Z) h // Title String9 _! o3 t$ m- @+ L* g/ x) p
IDS_RESDATA_INC_007136
" ]) v# w7 x+ G' { }9 z, S- A9 L& F- q/ p
{
3 `+ c( m) m* K4 E# Y // ToolTip
! V) @6 ^7 X: T7 ?/ bIDS_RESDATA_INC_007137. r5 e' b/ I4 @) c5 x- A/ @5 u
}
6 J3 J& B& g8 f5 Z' ^2 u/ G( r. G6 ^. Y3 |2 ~+ }: C% n8 ]0 \
}
: v6 x( T3 N1 S, w8 g% V& z( W2 G所以红色的!6 b& v" u9 G% V) ?3 B
7 {2 T1 E) H0 _. H$ }4 B这里还tblSkillPoint的条目:' c9 L$ q9 ^. L" H% d; @
8 L2 j8 N/ L% e# a9 ?! f2 @代码:
( [4 D& x5 K P! W$ X+ L' m \+ ~ If (@im_nJob = 1)2 [ T g2 B# k7 Z% F( c6 N5 X
Begin; i4 ~9 k2 z) v
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 9, 0, 3)! k& t+ ^( \- t+ I" \* O t
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 4, 0, 4)
$ t) H$ ^8 D& s9 e4 x INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 10, 0, 5)
$ h \0 m6 M" R7 j6 v J INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 5, 0, 6)
" {% h6 O/ X- U! D; s% a INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 112, 0, 7)
6 S. d k# W* x. d INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 13, 0, 8): `+ O) x. Z) W' S6 q! ~
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 111, 0, 9)
2 ^* I' f2 Q6 ~$ {- F6 Q7 p INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 6, 0, 10)7 F: V: m+ w% W1 J: X }
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 108, 0, 11)
6 H9 f* V+ G6 D5 D/ {! w/ } INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 14, 0, 12)
7 O- [% {# P! e4 m3 \' D( A$ E INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 109, 0, 13)
O d) S+ D; q: Y INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 7, 0, 14)0 T' X, q4 E- ]% z! c6 O; P
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 12, 0, 15) U& t3 A ]8 C- |
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 11, 0, 16), ~: Y8 Y5 D( w- Y9 H
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 8, 0, 17)
$ T2 s" s( B- V& o2 Y end
# g% H5 ^5 N6 ?* W; O If (@im_nJob = 2)8 `4 e5 h& k2 B; D! e0 R
Begin
- I9 [$ B, N1 r; X! Q a) z INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 197, 0, 3)
( F7 d; L; Q' X- O% c INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 194, 0, 4)
* ~( F6 a* B8 q% l INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 206, 0, 5)
% x, r$ J, ?( H& D$ e INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 195, 0, 6)
g+ q- j8 `+ M9 c* Q5 Q INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 191, 0, 7)6 h) p4 ~6 h9 Q0 ~
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 192, 0, 8)
! e0 B( k9 b, Z& Y0 r1 ~ INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 198, 0, 9); o+ E: q8 P8 H1 p4 b
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 193, 0, 10)
! |1 v" L9 b: S9 R: Q' C& G INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 201, 0, 11)) C/ ], W5 Y$ Y8 ?
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 203, 0, 12)
% I! l9 _& t2 r' L r3 @! t INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 196, 0, 13)9 g; j" H% \! x v7 s
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 204, 0, 14)) u" a) f( W, l9 q+ k' _$ Z6 ~" b6 R
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 202, 0, 15)
% A$ K- }5 W. Y4 x7 m INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 199, 0, 16)5 J5 x* {" o' l* @8 ^
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 205, 0, 17)
$ ]4 W. C- X# W/ _5 \3 k INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 200, 0, 18)
. u- d9 C8 ~3 Z' S% x end
2 l6 t/ ^, b, n8 g! A [ If (@im_nJob = 3)
8 `+ H# }$ W: ]7 M& S- A+ ~: m Begin+ { J2 r; Q6 j9 ^+ N) V
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 44, 0, 3)4 k! {8 f5 u& N; S( i% |1 k
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 46, 0, 4). |+ E) I+ { j; e$ U9 L; ^4 q
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 52, 0, 5)
: E- P7 s' H0 z INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 45, 0, 6) V6 h+ E0 \- ^1 U. B! r" p
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 114, 0, 7)3 L/ c0 v0 ?. I: i
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 49, 0, 8)
* c( U9 K2 @$ D0 J% N2 ~% o INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 104, 0, 9)
( b8 Y, N; V- w% x' G INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 20, 0, 10), b( F' z/ S0 ^: a+ I
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 53, 0, 11): u# M# u7 e+ @
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 51, 0, 12)( s' u# j7 c G
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 113, 0, 13)! b' R) W S3 Y9 K& _. H
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 115, 0, 14)
9 U2 a7 ]/ \- I INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 105, 0, 15)* z3 p' I4 q5 w2 _4 [ {4 M
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 48, 0, 16)
3 u: m: r, @ h INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 116, 0, 17)
1 N4 K1 t" D+ Z. f- w INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 117, 0, 18)
" p+ f; I" t3 j" V# ? INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 50, 0, 19)
% o0 U" [$ Q9 G6 _/ _; Y end4 E3 I& p8 f" S* V
If (@im_nJob = 4)
: ]& q+ O5 v- u& H# J( }8 X; i Begin$ C+ Q b# M9 V4 q8 Z+ ]
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 121, 0, 3)
" t& C8 |$ L, s; r: M INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 120, 0, 4)
0 K3 E! Z ^& E! a INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 119, 0, 5)/ H$ a, i8 x5 ]: ~
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 64, 0, 6)
; _) Z8 w9 n! f INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 118, 0, 7)* a# v a0 ]& j6 E% }; [8 u% t/ o
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 69, 0, 8)
, \, V8 {/ K$ b2 q* ^! j' ~ INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 36, 0, 9)7 f- U8 y( F [+ t, t1 A
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 32, 0, 10)* |. Z& M8 D9 O8 s; @& Y- U
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 70, 0, 11)
" b5 U; o6 @. d INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 65, 0, 12)
" P i; h& l' `# G6 H INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 34, 0, 13)3 w8 r% C+ g$ R/ w+ V
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 107, 0, 14)
& V1 ^( ~3 E9 Y' Y INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 37, 0, 15)! H% }% w3 U' f# }9 P. U
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 35, 0, 16)! A" f% R1 ]! a4 Z U; C
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 31, 0, 17)2 z* Q2 x2 |) C% b, u* N
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 30, 0, 18)9 X; V; o- l8 f! T2 X/ ?% \$ j! @2 s
INSERT INTO tblSkillPoint(serverindex, PlayerID, SkillID, SkillLv, SkillPosition) VALUES(@iserverindex, @om_idPlayer, 33, 0, 19)
$ M1 F' }2 ?! J1 n& E$ B7 P6 T" m end* c. w8 d/ y0 t5 v0 P
只需插入在此插入
6 l0 x5 N& h! }0 H, m代码:
- z9 h$ j* { J8 s% c, H% n INSERT BANK_EXT_TBL, [! J+ I9 @) L( W t
(
3 o. L7 T$ x/ D, \5 u9 n1 K( L m_idPlayer,
) {5 q7 [, w6 l* @* f5 Z serverindex,
6 ~$ w8 J( t" X8 y m_extBank,
6 C2 K' f7 ^- w9 V* ~, V q m_BankPiercing
% R4 T8 z" G2 K# W* a )
4 j9 g3 q3 m, P/ M VALUES
" ?6 s- U& g. n: O (
( A( x( t" |+ @; x: b, w8 f @om_idPlayer,, W; a8 l, ]* x% p1 z
@iserverindex,
, i* O3 T5 _7 o/ E( O/ r) S# K ''$'',''$''
% b8 a- S9 w3 M. r+ Q5 ? ); b7 _2 u: H* p k# K2 j7 O# [
; X- I5 b6 E. T0 }' B0 n$ p8 K4 p8 U3 d3 X4 z) w
#define IDS_RESDATA_INC_007134 28816
+ R3 S3 R1 O/ o: j/ Q
% n7 ]4 z: K3 G% q3 Q
! f) n- X1 e4 q8 x- s DBQryCharacter( szQuery, "I1", 0, g_appInfo.dwSys, lpDbOverlappedPlus->AccountInfo.szAccount, lpDbOverlappedPlus->AccountInfo.szPlayer, nSlot, dwWorldID,
2 n9 j( p! r. N+ p7 | dwIndex, vPos.x, vPos.y, vPos.z, '\0', nSkinSet, nHairMesh, dwHairColor, nHeadMesh, nSex
, h4 t5 y; n. S; s! P" w1 N* e#ifdef __NEW_JOB_SYS
: u$ D+ T* l0 ] ] , 0.0f, 0, 0.0f,4 e3 f. k; D4 E6 ~ {- W
0, 0, 0, 0, 0,
2 N* @2 Q! w z# r- ]. y" z; ? nJob : B' V, L& I6 i k2 t2 C
#endif6 {, s5 k) G% j9 }' O
' R9 t! }$ |; e% R( b% p, ?6 I
7 s& B' P# E' i: o) l" _ Z2 @ |
|