传奇带随机概率合成脚本 合成几率与合成品TXT写法指南

来源: 作者: 点击:
结合你提供的倚天剑合成脚本,核心疑问集中在合成几率.txt(S1变量)、合成品.txt(S2变量)的编写及变量调用逻辑。GetRandomName指令作用是从指定TXT中随机读取一行内容赋值给变量,脚本整体框架无误,需完善两个TXT文件格式、概率控制及变量适配,以下是详细写法与优化建议。

一、合成几率.txt(S1变量)写法:控制合成成功/失败概率

该文件通过设置“成功”“失败”条目数量比例,实现随机概率控制,条目越多概率分配越精准,无需复杂指令,纯文本条目即可。

基础格式与示例:1. 新建文本文档,命名为“合成几率.txt”,放入服务端MirServer\Envir\QuestDiary\几率控制文件夹(无对应文件夹需手动创建,路径需与脚本中“..\QuestDiary\几率控制\合成几率.txt”完全一致);2. 文档内仅写“成功”“失败”条目,按目标概率调整数量,示例如下(70%成功率):

成功
成功
成功
成功
成功
成功
成功
失败
失败
失败

逻辑说明:共10条条目,7条“成功”对应70%成功率,3条“失败”对应30%失败率。需注意:条目无空格、无多余符号,每行仅一个关键词,编码格式设为ANSI,避免变量读取异常。若需调整概率,直接增减对应条目数量即可,如6条成功4条失败对应60%成功率。

二、合成品.txt(S2变量)写法:控制随机合成产出物品

该文件存储可合成的物品名称,GetRandomName指令会随机读取一行物品名赋值给S2变量,实现合成成功后随机产出效果,支持固定物品或多种物品随机。

基础格式与示例:1. 新建文本文档,命名为“合成品.txt”,与合成几率.txt放在同一文件夹;2. 文档内每行写一个物品名称,需与游戏内物品名称完全一致(含后缀、大小写,如“倚天剑”“倚天剑+1”),示例如下:

倚天剑
倚天剑
倚天剑+1
倚天剑
倚天剑

逻辑说明:共5条条目,4条“倚天剑”、1条“倚天剑+1”,合成成功后有80%概率获得倚天剑,20%概率获得倚天剑+1。若需单一物品产出,文档内仅写一行对应物品名称即可;若需多种物品等概率产出,各物品各写一行,数量保持一致。

三、变量调用与脚本优化:解决变量适配及逻辑漏洞

你现有脚本变量调用语法无误,但存在逻辑顺序问题,需调整指令顺序确保概率与物品变量先赋值,再进行条件判断,避免变量读取不及时导致合成异常,优化后脚本如下:

[@main]
欢迎来到四季之冬
<倚天剑/@倚天剑合成>

[@倚天剑合成]
#IF
#ACT
GetRandomName ..\QuestDiary\几率控制\合成几率.txt S1
GetRandomName ..\QuestDiary\几率控制\合成品.txt S2
#IF
checkgamegold > 4999
checkitem 黑铁剑 1
CompareText <$STR(S1)> 成功
#act
gamegold - 5000
take 黑铁剑 1
give <$STR(S2)> 1
sendmsg 0 恭喜:合成<$STR(S2)>成功!
#ELSEACT
sendmsg 6 合成失败或者条件不足!
goto @main

优化说明:将两个GetRandomName指令合并在同一#ACT块,确保进入合成界面后立即赋值S1、S2变量,避免条件判断时变量为空。原脚本分开赋值无语法错误,但合并后逻辑更连贯,减少变量读取延迟问题。

四、常见问题排查:变量读取失败及合成异常解决

1. 变量读取失败:检查TXT文件路径是否与脚本一致,文件夹名称、文件名无错别字,编码格式为ANSI;确保TXT内无隐形字符、全角空格,用Notepad++打开“视图-显示所有字符”剔除异常符号。

2. 合成无随机效果:确认TXT内条目数量≥2,单一条目无法触发随机;检查物品名称与游戏内一致,名称错误会导致合成成功后无物品产出。

3. 概率与预期不符:调整TXT内“成功/失败”“物品”条目数量比例,条目总数建议≥10,比例更精准;避免条目数量过少导致概率波动过大。

补充说明:编写TXT文件前备份脚本及文档,避免路径错误或名称写错导致合成功能失效。测试时多次触发合成,验证概率分配、物品产出及提示信息是否正常,若需固定概率(如固定50%成功率),按对应比例设置条目即可,无需额外添加指令。