|
相信大家写铭文系统都会碰到两大问题,
" |3 M7 h$ b, b第一:获取铭文印记对应图片序号; _" p- |2 s2 s# ?; h, {& G
第二:抽取概率
# }9 M& N4 F$ K7 w% J' O) G今天咱们先来说说铭文抽取问题,也是应用到了读写配置项,
0 s7 O3 ]" t* @1 d, ?; {
: o6 C' c6 _$ C8 G传统获取铭文序号有两种方法:1 Y6 h( \0 C+ S' x5 Y
1.铭文直接以图片代码存储,类似这样:- <img:170:54:0:0>
- <img:104:54:0:0>
- <img:171:54:0:0>
- <img:172:54:0:0>
- 7 n, N4 I' e$ s( ^9 j: ?
5 T+ r+ i5 S9 t, R* \' g+ h[color=rgb(51, 102, 153) !important]复制代码; J [- f* }0 Q1 ~
, a9 Z/ T. q9 k) @+ i0 D: o! B缺点是从序号上看来你不知道他是哪个印记。
9 K2 S" c' D% p' f2.铭文以中文存储,或许到以后用GetStringPos 代码从一张总表里获取行数,这个行数就是图片的代码
9 R+ A2 [* q3 ^8 l6 }- j- 铭文表:
- 基本剑术[旋风印]
- 基本剑术[主宰印]
- 基本剑术[幽速印]
- 获取行数:
- GetStringPos 铭文总表 N$铭文代码
- % N5 h1 [4 d: v/ p: H
* z; C" D! K- j/ K! Q I
[color=rgb(51, 102, 153) !important]复制代码( V2 W6 a6 m. L5 _" `8 `+ D
, O/ t ^: R0 Y
复制代码
3 R8 Z0 S1 ^+ P6 h7 J这样的方法提升了可读性,但是每个铭文的行数必须和资源文件里的序号对应,这个就把位置限制死了,一但有些改动将不好维护
& j1 c0 R2 y) H& F6 H$ @- N+ q$ Z" Q1 t
3.接下来说一下优化的写法,
( F* n! ^! x+ G! {1 j+ `, _: e我们把铭文名称和图片序号代码对应的关系7 b% O# Q y9 ^
写进一个文本文件里,暂且叫做铭文代码表# {: {- Y: F3 ^" |! `3 h7 Y
内容是这样
3 V- u$ R4 X5 X [) z+ z- [铭文代码]
- 基本剑术[旋风印] = 1
- 施毒术[凌云印] = 41
- 召唤骷髅[迦兰印] = 49
- 诱惑之光[军势印] = 66
3 L4 @+ |6 ?7 m% ]* U
7 i% d- ?' J# x$ E4 m[color=rgb(51, 102, 153) !important]复制代码* M+ V8 t# T. k- {' O: I
$ K5 R. X( L4 I& ]" k
复制代码
, s4 \+ ]9 n* o* h5 X; j6 b4 t这种方式就很自由了,可以随意顺序写铭文的对应,并且对应的图片序号随时可改
* L: a7 @5 [4 v/ `# e下面是写抽取代码验证:
' X8 u4 O# G. H1 J/ A) h- [@main]
- <抽取印记/@chouqu> \
- 您抽取到的第一个印记名字为:{<$STR(S$抽取铭文_1)>/fcolor=151}代码是:{<$STR(N$印记代码1)>/fcolor=215}\
- 您抽取到的第二个印记名字为:{<$STR(S$抽取铭文_2)>/fcolor=151}代码是:{<$STR(N$印记代码2)>/fcolor=215}
- [@chouqu]
- #if
- #act
- GetRandomText ..\QuestDiary\铭文系统\抽取\战士铭文.txt S$抽取铭文_1
- ReadConfigFileItem ..\QuestDiary\铭文系统\抽取\铭文代码表.txt 铭文代码 <$STR(S$抽取铭文_1)> <$STR(N$印记代码1)>
- GetRandomText ..\QuestDiary\铭文系统\抽取\战士铭文.txt S$抽取铭文_2
- ReadConfigFileItem ..\QuestDiary\铭文系统\抽取\铭文代码表.txt 铭文代码 <$STR(S$抽取铭文_2)> <$STR(N$印记代码2)>
- #if
- equal N$印记代码1 <$STR(N$印记代码2)>
- #act
- sendmsg 7 印记相同,重新抽取!
- goto @chouqu
- break
- #if
- not equal N$印记代码1 <$STR(N$印记代码2)>
- #act
- goto @main
- 4 m# c: D, X- q9 F$ K3 {6 V, g
0 F! D. ?" z( p, ]& T- E' }1 Q f1 W( i
Y8 |9 E) Q8 K6 p; v
|
|