在传奇版本脚本制作、副本奖励、装备礼包、随机套装发放等玩法开发中,EXTRACTSTRING字符串分割是使用率极高的核心脚本功能。该功能主打将自定义文本文件中以指定符号分隔的字符串内容,逐一拆分读取并赋值给自定义变量,实现批量读取道具、装备、属性、名称等游戏数据,完美适配传奇各类自定义玩法开发需求。
很多传奇版本制作者、GM站长在搭建自定义套装系统、随机奖励系统、签到礼包系统时,常会遇到文本数据无法拆分、批量道具发放繁琐、穿戴对应装备错位等问题,而EXTRACTSTRING功能可以完美解决这类痛点,搭配文本列表文件即可实现一键批量读取多组游戏道具,大幅简化传奇脚本编写流程,提升版本制作效率。
本文基于legend脚本语言,全方位讲解EXTRACTSTRING功能语法格式、参数用法、实操案例,同时分享可直接套用的全套装备批量获取、自动穿戴脚本,适配传奇各类自定义任务、福利系统、掉落系统开发。
传奇脚本中EXTRACTSTRING功能固定编写格式,严格遵循legend语言规范,无引擎适配限制,通用所有传奇主流版本:
EXTRACTSTRING 分割符 需要分割的字符串 保存变量1 保存变量2 保存变量3 保存变量4 保存变量5 保存变量6 保存变量7 保存变量8
分割符:自定义文本内容的分隔符号,常规传奇脚本统一使用冒号【:】作为分割符号,可根据文本格式自定义修改,是字符串拆分的核心依据。
需要分割的字符串:待拆分的数据源,一般通过GetRandomText命令读取本地txt文本文件内容,将文本整行数据赋值给临时字符串变量,作为分割数据源。
保存变量1-8:拆分后数据的存储自定义变量,支持8组数据同步拆分存储,可分别对应装备、武器、首饰、道具等不同游戏物品,变量可自由调用用于发放、穿戴、删除等操作。
使用EXTRACTSTRING功能前,必须提前初始化对应变量,避免变量残留导致数据读取错乱、道具发放错误、装备穿戴异常等问题,常规初始化8组变量代码为MOV s1至MOV s8,确保每次执行脚本变量从零赋值,数据精准无误。
本次分享全套传奇职业套装随机获取+自动穿戴脚本,包含战士、法师、道士三职业男女专属套装,通过外部装备列表txt文本存储套装数据,借助EXTRACTSTRING字符串分割功能自动拆分读取,实现一键领取整套装备并自动对应部位穿戴,是传奇版本福利系统、新手礼包、转职套装系统的常用核心脚本。
以下为完整可直接使用的legend语言脚本,代码无冗余、无报错,导入即可运行,适配传奇各类自定义任务场景:
[@main]
#act
;初始化8组自定义变量,清空历史数据
MOV s1
MOV s2
MOV s3
MOV s4
MOV s5
MOV s6
MOV s7
MOV s8
;随机读取装备列表文本中任意一行套装数据赋值给S0变量
GetRandomText ..\QuestDiary\装备列表.txt S0 0
;以冒号为分割符,拆分套装数据并赋值对应变量
EXTRACTSTRING : <$STR(S0)> s1 s2 s3 s4 s5 s6 s7 s8
;批量给玩家发放拆分后的全套装备道具
GIVE <$STR(S1)> 1
GIVE <$STR(S2)> 1
GIVE <$STR(S3)> 1
GIVE <$STR(S4)> 1
GIVE <$STR(S5)> 1
GIVE <$STR(S6)> 1
GIVE <$STR(S7)> 1
GIVE <$STR(S8)> 1
;对应装备部位自动穿戴,适配传奇常规装备穿戴位
TakeOn <$STR(S1)> 0
TakeOn <$STR(S2)> 1
TakeOn <$STR(S3)> 3
TakeOn <$STR(S4)> 4
TakeOn <$STR(S5)> 5
TakeOn <$STR(S6)> 6
TakeOn <$STR(S7)> 7
TakeOn <$STR(S8)> 8
;脚本执行结束
BREAK
需在传奇服务端QuestDiary文件夹下新建【装备列表.txt】文件,粘贴以下三职业男女全套套装数据,文本格式严格对应脚本分割规则,无需修改格式直接保存即可:
战神盔甲(男):裁决之杖:绿色项链:黑铁头盔:骑士手镯:骑士手镯:力量戒指:力量戒指
战神盔甲(女):裁决之杖:绿色项链:黑铁头盔:骑士手镯:骑士手镯:力量戒指:力量戒指
魔法长袍(男):血饮:恶魔铃铛:道士头盔:龙之手镯:龙之手镯:紫碧螺:紫碧螺
魔法长袍(女):血饮:恶魔铃铛:道士头盔:龙之手镯:龙之手镯:紫碧螺:紫碧螺
灵魂战衣(男):无极棍:灵魂项链:道士头盔:三眼手镯:三眼手镯:泰坦戒指:泰坦戒指
灵魂战衣(女):无极棍:灵魂项链:道士头盔:三眼手镯:三眼手镯:泰坦戒指:泰坦戒指
玩家触发脚本后,系统会随机读取文本中任意一套职业套装数据,通过EXTRACTSTRING字符串分割功能拆分出衣服、武器、项链、头盔、手镯、戒指等8个部位装备,自动发放到玩家背包并对应装备位自动穿戴,完美实现新手上线送套装、等级奖励领全套装备、活动随机送职业套装等玩法。
站长可自由拓展文本内容,新增自定义套装、专属神器、复古装备等数据,无需修改主脚本,即可实现装备奖励更新,极大提升版本的可定制性。
基于传奇字符串分割功能,除了套装穿戴系统,还可适配多种传奇版本开发场景,通用性极强。传奇随机道具奖励系统可通过文本批量录入各类道具、材料、元宝数据,拆分后随机发放不同奖励;传奇签到奖励系统可按日期录入不同奖励组合,通过分割功能读取当日签到福利。
同时还可应用于传奇副本掉落系统,自定义多组掉落道具组合,随机拆分触发掉落;传奇转职装备适配系统,根据职业拆分对应专属装备,实现转职自动更换套装;传奇福利礼包系统,区分不同等级、不同档位礼包道具,批量拆分发放。
Q1:脚本执行后不发放装备、无任何效果是什么原因?
A1:大概率是三种问题导致,一是装备列表.txt文件存放路径错误,必须放置在QuestDiary根目录;二是文本内容格式错误,存在多余空格、换行乱码或分割符不统一;三是未初始化s1-s8变量,变量数据残留导致读取失败,核对路径、文本格式、变量初始化代码即可解决。
Q2:拆分后部分装备无法自动穿戴,穿戴错位怎么办?
A2:是TakeOn穿戴部位参数不匹配导致,传奇常规穿戴位参数固定,0为衣服、1为武器、3为项链、4为头盔、5为左手镯、6为右手镯、7为左戒指、8为右戒指,核对文本装备顺序与穿戴参数一一对应即可修复错位问题。
Q3:能否拆分超过8组的游戏数据,适配更多道具?
A3:基础EXTRACTSTRING功能默认支持8组变量拆分,若需要更多数据,可新增多组拆分指令、拓展自定义变量,或拆分多个文本文件分段读取,即可实现多道具、多属性批量读取需求。
Q4:修改txt文本装备数据后,脚本不生效怎么解决?
A4:修改文本后需保存纯文本编码(ANSI编码),避免UTF-8编码导致脚本读取乱码,同时重启对应脚本任务或重新加载脚本,即可读取最新文本数据。
Q5:该脚本是否适配复古、微变、超变各类传奇版本?
A5:脚本基于通用legend语言编写,无版本专属限制,复古传奇、微变传奇、超变传奇、单职业传奇、三职业传奇均可直接适配,仅需根据版本装备名称微调txt文本内容即可。
相关标签: # 传奇脚本教程 # EXTRACTSTRING功能 # 传奇套装穿戴脚本 # legend语言案例 # 传奇自定义系统开发