|
相信大家写铭文系统都会碰到两大问题,
7 @1 X( S: |3 D) E第一:获取铭文印记对应图片序号5 J7 z+ Q- [2 q. M5 c+ k
第二:抽取概率3 f1 p* |( D+ q1 c
今天咱们先来说说铭文抽取问题,也是应用到了读写配置项, G( v0 E; Z! {6 E6 X& L# [
1 P. r1 ^/ T" s. b. v. W9 M" l
传统获取铭文序号有两种方法:$ `0 Y+ o" f) D
1.铭文直接以图片代码存储,类似这样:- <img:170:54:0:0>
- <img:104:54:0:0>
- <img:171:54:0:0>
- <img:172:54:0:0>
- + L$ E/ D k* T( k6 E' {' ~
4 z1 l2 N1 K I- R, r; y
[color=rgb(51, 102, 153) !important]复制代码1 x9 P* k+ F, L: y. O3 y
3 A6 f8 E6 E ^缺点是从序号上看来你不知道他是哪个印记。6 `- u' s. U; q- V
2.铭文以中文存储,或许到以后用GetStringPos 代码从一张总表里获取行数,这个行数就是图片的代码
2 i/ A* Z5 z8 ^" }* i' @- 铭文表:
- 基本剑术[旋风印]
- 基本剑术[主宰印]
- 基本剑术[幽速印]
- 获取行数:
- GetStringPos 铭文总表 N$铭文代码
- O5 X# s# Y3 ]& j
' `/ R, w8 o) j- Y E[color=rgb(51, 102, 153) !important]复制代码0 c" F: s( P$ T2 J. t$ o
, B$ p v+ A2 i' |# I7 g0 m( i/ e复制代码
. [$ x3 A( |; H+ `这样的方法提升了可读性,但是每个铭文的行数必须和资源文件里的序号对应,这个就把位置限制死了,一但有些改动将不好维护
$ Z- a K, x* I$ C0 W) y$ E
8 R' @8 |! t! _8 f7 c q1 C3.接下来说一下优化的写法,- H& [' E' A# ]. G" ]1 R7 V( C4 {
我们把铭文名称和图片序号代码对应的关系7 D; D! r K% w7 I+ K
写进一个文本文件里,暂且叫做铭文代码表
1 \; c9 h$ F$ ^9 @. s内容是这样4 J9 d1 b0 b6 T& O. Q# p( D- w8 E2 I, h
- [铭文代码]
- 基本剑术[旋风印] = 1
- 施毒术[凌云印] = 41
- 召唤骷髅[迦兰印] = 49
- 诱惑之光[军势印] = 66
c& {0 x1 a3 }' s" n; z ' H }+ K4 Y0 @3 m
[color=rgb(51, 102, 153) !important]复制代码( ?! h( t2 k0 w' `8 t/ I% q3 l4 r+ T
) D# }' Q5 x% v1 h复制代码
( \+ W7 H1 z- |& u4 y+ D, v这种方式就很自由了,可以随意顺序写铭文的对应,并且对应的图片序号随时可改
8 L9 z* m0 _) Z( p ~" C. X下面是写抽取代码验证: n% A2 ~0 Y! f5 j9 i
- [@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
; \8 I0 g4 m, }. W: O4 U+ d0 [
$ }; R2 O: @8 N& O8 }8 z
0 s/ }" F' R5 v0 W0 K3 R
+ d- t4 R8 ]+ a/ [. l/ g) V* N4 o |
|