微信扫一扫 分享朋友圈

已有 1491 人浏览分享

GEE引擎铭文系统改进!读写配置项的应用!

[复制链接]

1114

主题

256

回帖

3356

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3356
发表于 2020-10-14 09:23:28 | 显示全部楼层 | 阅读模式
相信各人写铭文系统都会遇到两大问题,
第一:获取铭文印记对应图片序号
第二:抽取概率
今天咱们先来说说铭文抽取问题,也是应用到了读写设置项,
我之前写过它的先容,下面是传送门
读写设置教程



传统获取铭文序号有两种方法:
1.铭文直接以图片代码存储,类似这样:




缺点是从序号上看来你不知道他是哪个印记。
2.铭文以中文存储,大概到以后用GetStringPos 代码从一张总表里获取行数,这个行数就是图片的代码
  1. 铭文表:
  2. 根本剑术[旋风印]
  3. 根本剑术[主宰印]
  4. 根本剑术[幽速印]
  5. 获取行数:
  6. GetStringPos 铭文总表 N$铭文代码
这样的方法提升了可读性,但是每个铭文的行数必须和资源文件里的序号对应,这个就把位置限制死了,一但有些改动将欠好维护

3.接下来说一下优化的写法,
我们把铭文名称和图片序号代码对应的关系
写进一个文本文件里,暂且叫做铭文代码表
内容是这样
  1. [铭文代码]
  2. 根本剑术[旋风印] = 1
  3. 施毒术[凌云印] = 41
  4. 召唤骷髅[迦兰印] = 49
  5. 诱惑之光[军势印] = 66
这种方式就很自由了,可以随意顺序写铭文的对应,而且对应的图片序号随时可改
下面是写抽取代码验证:
  1. [@main]

  2. <抽取印记/@chouqu> \
  3. 您抽取到的第一个印记名字为:{<$STR(S$抽取铭文_1)>/fcolor=151}代码是:{<$STR(N$印记代码1)>/fcolor=215}\

  4. 您抽取到的第二个印记名字为:{<$STR(S$抽取铭文_2)>/fcolor=151}代码是:{<$STR(N$印记代码2)>/fcolor=215}



  5. [@chouqu]
  6. #if
  7. #act


  8. GetRandomText ..\QuestDiary\铭文系统\抽取\战士铭文.txt S$抽取铭文_1
  9. ReadConfigFileItem ..\QuestDiary\铭文系统\抽取\铭文代码表.txt 铭文代码 <$STR(S$抽取铭文_1)> <$STR(N$印记代码1)>

  10. GetRandomText ..\QuestDiary\铭文系统\抽取\战士铭文.txt S$抽取铭文_2
  11. ReadConfigFileItem ..\QuestDiary\铭文系统\抽取\铭文代码表.txt 铭文代码 <$STR(S$抽取铭文_2)> <$STR(N$印记代码2)>

  12. #if
  13. equal N$印记代码1 <$STR(N$印记代码2)>
  14. #act
  15. sendmsg 7 印记相同,重新抽取!
  16. goto @chouqu
  17. break

  18. #if
  19. not equal N$印记代码1 <$STR(N$印记代码2)>
  20. #act

  21. goto @main
测试乐成!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|传奇版本库 ( 豫ICP备2022013642号 )|Sitemap

GMT+8, 2024-11-15 17:01 , Processed in 0.015159 second(s), 5 queries , Redis On.

Powered by Discuz! X3.4

© 2001-2020 Comsenz Inc.