|
相信大家写铭文系统都会碰到两大问题,
" y# f, E! f" \; Z$ j第一:获取铭文印记对应图片序号2 i1 _/ R9 [* X6 D
第二:抽取概率7 s! W" t2 K5 H( L
今天咱们先来说说铭文抽取问题,也是应用到了读写配置项,
7 L! `' |9 ^0 O2 O2 |7 k! v. b$ o2 K8 J+ b* y* o
传统获取铭文序号有两种方法:
& r4 E+ d7 u" ~7 G' m5 ?+ m# r. C1.铭文直接以图片代码存储,类似这样:- <img:170:54:0:0>
- <img:104:54:0:0>
- <img:171:54:0:0>
- <img:172:54:0:0>
- # d* \- ^- N) \6 N
0 z0 y+ b' X; k; E) z1 w: x
[color=rgb(51, 102, 153) !important]复制代码3 m( `% E3 }' u0 L4 {
: y$ P3 Q( x2 U$ G0 s: b缺点是从序号上看来你不知道他是哪个印记。
1 d: H4 l. p5 Q# C2.铭文以中文存储,或许到以后用GetStringPos 代码从一张总表里获取行数,这个行数就是图片的代码
. l! x, b9 E" W- 铭文表:
- 基本剑术[旋风印]
- 基本剑术[主宰印]
- 基本剑术[幽速印]
- 获取行数:
- GetStringPos 铭文总表 N$铭文代码
" J1 \: Z/ y" T$ B. n; Q5 [5 m
! a: ~7 h* c* T1 J: u9 l! [, \[color=rgb(51, 102, 153) !important]复制代码: p# G6 `) [% D" y4 F! ^, l
% s" z) H; e8 f G. [复制代码
7 i3 k/ e0 z* A) X这样的方法提升了可读性,但是每个铭文的行数必须和资源文件里的序号对应,这个就把位置限制死了,一但有些改动将不好维护5 [8 t. r2 D6 D! V7 y% \
1 ^- d. @7 {% S) e. |! ? s" ^
3.接下来说一下优化的写法,
! K# T$ s% A, ?! @# t7 {我们把铭文名称和图片序号代码对应的关系
( }) r5 D9 d: L写进一个文本文件里,暂且叫做铭文代码表# u: A" m1 T7 u( g2 |
内容是这样
- M6 F3 V5 Y& Q+ N# O- [铭文代码]
- 基本剑术[旋风印] = 1
- 施毒术[凌云印] = 41
- 召唤骷髅[迦兰印] = 49
- 诱惑之光[军势印] = 66
- % |2 M0 g% d% i4 G J P4 M$ i, t) P
0 i) _/ n3 D1 s6 B1 f
[color=rgb(51, 102, 153) !important]复制代码3 x) {+ C3 h/ y( E5 l3 `
# ?1 t- P+ W- u- n复制代码
- k# T2 L1 V3 G O( w6 Z/ b0 c这种方式就很自由了,可以随意顺序写铭文的对应,并且对应的图片序号随时可改) _- W" F& S% |- M6 G
下面是写抽取代码验证:
0 ]. {+ f! T4 j! P E9 Y- [@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
$ T: Z) a6 s% ` z
* b5 p: q0 A3 ^, d4 A4 a0 C( {5 [/ [* N. d
/ d' ]9 A2 e e7 _
|
|