实现一个带成功率和保底符功能的合成脚本,需要引入随机数判断和条件分支。以下以合成“极品金牛戒指”为例,详细说明脚本的编写方法。
基础合成脚本框架
你提供的基础脚本框架正确,用于检测和收取材料。在此基础上,我们需要嵌入成功率逻辑。
1.加入合成成功率
使用RANDOM命令来模拟概率。该命令后的数字代表总份数,成功情况占其中一份。例如,RANDOM5表示有1/5,即20%的成功率。
以下脚本实现了50%的成功率:
[@合成极品金牛戒指]
#IF
checkitem金牛道戒1
checkitem金牛战戒1
checkitem金牛魔戒1
checkitem极品金牛碎片2
#ACT
goto@开始合成
#ELSESAY
材料不齐全,无法合成。\\
<返回/@main>
[@开始合成]
#IF
RANDOM2
#ACT
take金牛道戒1
take金牛战戒1
take金牛魔戒1
take极品金牛碎片2
give极品金牛戒指1
SENDMSG1勇士【<$USERNAME>】成功合成了极品金牛戒指!
#ELSESAY
合成失败!材料已消失。\\
<返回/@main>
脚本流程:材料检测通过后,跳转到@开始合成。RANDOM2代表50%几率。若随机数命中(1/2几率),则执行#ACT部分,扣除材料并给予成品,公告成功。若未命中(即#ELSESAY部分),则仅提示失败,因在失败分支中未执行take命令,材料不会扣除。注意:根据需求,若失败需扣除材料,则应将take命令移到RANDOM判断之前。
2.加入精练符实现100%成功
为实现使用道具保底成功,需要在成功率判断前,先检测玩家是否使用了精练符。假设精练符的物品名为“精练符”。
[@合成极品金牛戒指]
#IF
checkitem金牛道戒1
checkitem金牛战戒1
checkitem金牛魔戒1
checkitem极品金牛碎片2
#ACT
goto@选择合成方式
#ELSESAY
材料不齐全,无法合成。\\
<返回/@main>
[@选择合成方式]
请选择合成方式:\\
<普通合成(50%成功率)/@普通合成><使用精练符合成(100%成功率)/@保底合成>\\
<返回/@main>
[@普通合成]
#IF
RANDOM2
#ACT
take金牛道戒1
take金牛战戒1
take金牛魔戒1
take极品金牛碎片2
give极品金牛戒指1
SENDMSG1勇士【<$USERNAME>】成功合成了极品金牛戒指!
#ELSESAY
很遗憾,合成失败!材料已消失。\
<返回/@main>
[@保底合成]
#IF
checkitem精练符1
#ACT
take金牛道戒1
take金牛战戒1
take金牛魔戒1
take极品金牛碎片2
take精练符1
give极品金牛戒指1
SENDMSG1勇士【<$USERNAME>】借助精练符之力,成功合成了极品金牛戒指!
#ELSESAY
精练符数量不足!\\
<返回/@选择合成方式>
此脚本为玩家提供了两个选项。选择“保底合成”时,会额外检测并扣除一个“精练符”,然后直接给予成品,绕过RANDOM概率判断。
极品金牛碎片合成脚本示例
对于不允许使用精练符的碎片合成(例如王者碎片、天龙碎片、金牛碎片各1个合成1个极品金牛碎片),并设置33%的成功率。
[@合成极品金牛碎片]
#IF
checkitem王者碎片1
checkitem天龙碎片1
checkitem金牛碎片1
#ACT
take王者碎片1
take天龙碎片1
take金牛碎片1
goto@判定碎片合成
#ELSESAY
王者碎片、天龙碎片、金牛碎片各需1个。\\
<返回/@main>
[@判定碎片合成]
#IF
RANDOM3
#ACT
give极品金牛碎片1
SENDMSG6恭喜你,成功合成了极品金牛碎片!
#ELSESAY
碎片合成失败,所有材料已消失。\
<返回/@main>
此脚本先将三种基础材料扣除,再进行成功率判定。RANDOM3代表约33.3%的成功率。无论成功与否,材料均已被扣除。
关键要点总结
使用RANDOM命令控制合成概率。通过前置条件检测“精练符”类道具,并为其创建独立的分支流程,实现保底成功。合成失败后是否扣除材料,取决于take命令放在RANDOM判断之前还是之后。根据设计需求,合理排列命令顺序。所有脚本需放置在NPC的对话脚本文件中,加载后生效。
基础合成脚本框架
你提供的基础脚本框架正确,用于检测和收取材料。在此基础上,我们需要嵌入成功率逻辑。
1.加入合成成功率
使用RANDOM命令来模拟概率。该命令后的数字代表总份数,成功情况占其中一份。例如,RANDOM5表示有1/5,即20%的成功率。
以下脚本实现了50%的成功率:
[@合成极品金牛戒指]
#IF
checkitem金牛道戒1
checkitem金牛战戒1
checkitem金牛魔戒1
checkitem极品金牛碎片2
#ACT
goto@开始合成
#ELSESAY
材料不齐全,无法合成。\\
<返回/@main>
[@开始合成]
#IF
RANDOM2
#ACT
take金牛道戒1
take金牛战戒1
take金牛魔戒1
take极品金牛碎片2
give极品金牛戒指1
SENDMSG1勇士【<$USERNAME>】成功合成了极品金牛戒指!
#ELSESAY
合成失败!材料已消失。\\
<返回/@main>
脚本流程:材料检测通过后,跳转到@开始合成。RANDOM2代表50%几率。若随机数命中(1/2几率),则执行#ACT部分,扣除材料并给予成品,公告成功。若未命中(即#ELSESAY部分),则仅提示失败,因在失败分支中未执行take命令,材料不会扣除。注意:根据需求,若失败需扣除材料,则应将take命令移到RANDOM判断之前。
2.加入精练符实现100%成功
为实现使用道具保底成功,需要在成功率判断前,先检测玩家是否使用了精练符。假设精练符的物品名为“精练符”。
[@合成极品金牛戒指]
#IF
checkitem金牛道戒1
checkitem金牛战戒1
checkitem金牛魔戒1
checkitem极品金牛碎片2
#ACT
goto@选择合成方式
#ELSESAY
材料不齐全,无法合成。\\
<返回/@main>
[@选择合成方式]
请选择合成方式:\\
<普通合成(50%成功率)/@普通合成><使用精练符合成(100%成功率)/@保底合成>\\
<返回/@main>
[@普通合成]
#IF
RANDOM2
#ACT
take金牛道戒1
take金牛战戒1
take金牛魔戒1
take极品金牛碎片2
give极品金牛戒指1
SENDMSG1勇士【<$USERNAME>】成功合成了极品金牛戒指!
#ELSESAY
很遗憾,合成失败!材料已消失。\
<返回/@main>
[@保底合成]
#IF
checkitem精练符1
#ACT
take金牛道戒1
take金牛战戒1
take金牛魔戒1
take极品金牛碎片2
take精练符1
give极品金牛戒指1
SENDMSG1勇士【<$USERNAME>】借助精练符之力,成功合成了极品金牛戒指!
#ELSESAY
精练符数量不足!\\
<返回/@选择合成方式>
此脚本为玩家提供了两个选项。选择“保底合成”时,会额外检测并扣除一个“精练符”,然后直接给予成品,绕过RANDOM概率判断。
极品金牛碎片合成脚本示例
对于不允许使用精练符的碎片合成(例如王者碎片、天龙碎片、金牛碎片各1个合成1个极品金牛碎片),并设置33%的成功率。
[@合成极品金牛碎片]
#IF
checkitem王者碎片1
checkitem天龙碎片1
checkitem金牛碎片1
#ACT
take王者碎片1
take天龙碎片1
take金牛碎片1
goto@判定碎片合成
#ELSESAY
王者碎片、天龙碎片、金牛碎片各需1个。\\
<返回/@main>
[@判定碎片合成]
#IF
RANDOM3
#ACT
give极品金牛碎片1
SENDMSG6恭喜你,成功合成了极品金牛碎片!
#ELSESAY
碎片合成失败,所有材料已消失。\
<返回/@main>
此脚本先将三种基础材料扣除,再进行成功率判定。RANDOM3代表约33.3%的成功率。无论成功与否,材料均已被扣除。
关键要点总结
使用RANDOM命令控制合成概率。通过前置条件检测“精练符”类道具,并为其创建独立的分支流程,实现保底成功。合成失败后是否扣除材料,取决于take命令放在RANDOM判断之前还是之后。根据设计需求,合理排列命令顺序。所有脚本需放置在NPC的对话脚本文件中,加载后生效。

