gmgongju 发表于 2020-7-30 01:15:55

菜鸟学传奇GEE引擎铭文系统读写配置应用

相信大家写铭文系统都会碰到两大问题,
第一:获取铭文印记对应图片序号
第二:抽取概率
今天咱们先来说说铭文抽取问题,也是应用到了读写配置项,

传统获取铭文序号有两种方法:
1.铭文直接以图片代码存储,类似这样:
<img:170:54:0:0>
<img:104:54:0:0>
<img:171:54:0:0>
<img:172:54:0:0>


缺点是从序号上看来你不知道他是哪个印记。
2.铭文以中文存储,或许到以后用GetStringPos 代码从一张总表里获取行数,这个行数就是图片的代码

铭文表:
基本剑术[旋风印]
基本剑术[主宰印]
基本剑术[幽速印]
获取行数:
GetStringPos 铭文总表 N$铭文代码


复制代码
这样的方法提升了可读性,但是每个铭文的行数必须和资源文件里的序号对应,这个就把位置限制死了,一但有些改动将不好维护

3.接下来说一下优化的写法,
我们把铭文名称和图片序号代码对应的关系
写进一个文本文件里,暂且叫做铭文代码表
内容是这样

[铭文代码]
基本剑术[旋风印] = 1
施毒术[凌云印] = 41
召唤骷髅[迦兰印] = 49
诱惑之光[军势印] = 66

复制代码
这种方式就很自由了,可以随意顺序写铭文的对应,并且对应的图片序号随时可改
下面是写抽取代码验证:

[@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



1135833603 发表于 2020-8-18 07:18:07

学习了,谢谢分享、、、

QQEat 发表于 2020-9-1 00:09:02

学习了,不错,讲的太有道理了

皮皮侠· 发表于 2020-12-7 20:07:00

我抢、我抢、我抢沙发~

q199544 发表于 2021-1-7 13:23:21

我是个凑数的。。。

17683723373 发表于 2021-1-28 20:31:01

LZ说的很不错

juewangmao 发表于 2021-2-20 05:48:59

谢谢楼主,共同发展

wudi666 发表于 2021-3-6 07:22:06

www.gmgongju.com先顶,好同志

花开 发表于 2021-3-12 12:57:30

路过,支持一下啦

q332318951 发表于 2021-5-19 23:54:49

找到好贴不容易,我顶你了,谢了

zjlchina 发表于 2021-5-25 03:50:10

谢谢楼主,共同发展

216325 发表于 2021-6-27 10:02:41

相当不错,感谢无私分享精神!

1119237781 发表于 2021-10-27 20:27:46

真的很不错

wujihaiqq 发表于 2022-1-21 20:25:13

帮你顶下哈!!
页: [1]
查看完整版本: 菜鸟学传奇GEE引擎铭文系统读写配置应用