之前的脚本中,使用了公共变量,可能会导致其他地方调用时产生错误。可以使用局部变量来避免这种冲突。同时,可以将多个GetRandomText命令合并为一条命令,减少代码冗余。
代码如下:
#If
CHECKUSEITEM 1
#Act
mov N99 0
goto @开始执行
#ElseAct
MESSAGEBOX [失败提示]:你身上的武器没有存在,元素之石消失了.
#Macro
GetRandomTexts 10 .\\QuestDiary\\数据文件\\锻造数值.txt 60 65
#EndMacro
#Macro
SetNewItemValues 6 1
#EndMacro
#Macro
MessageBoxAndSendMsg 1 7 [精炼成功]:你的武器<$WEAPON>,成功的增加了:\\ \\体质+<$STR(A65)>%\\攻击伤害+<$STR(A60)>%\\物理伤害减少+<$STR(A61)>%\\魔法伤害减少+<$STR(A62)>%\\忽视目标防御+<$STR(A63)>%\\攻击伤害反弹+<$STR(A64)>%
#EndMacro
#Macro
MessageBoxAndSendMsg 0 7 [精炼成功]:你的武器<$WEAPON>属性精炼成功,元素之石消耗完了。
#EndMacro
#Macro
AddValues 1 1 6 + <$STR(A60)> <$STR(A61)> <$STR(A62)> <$STR(A63)> <$STR(A64)> <$STR(A65)>
#EndMacro
#Macro
CheckAndAddValues 1 6
#EndMacro
[@开始执行]
#If
small N99 6
#Act
movr N98 1 100
CheckAndAddValues
AddValues
inc N99 1
goto @开始执行
#ElseAct
MessageBoxAndSendMsg 1
#EndIf
Copy
使用局部变量可以避免公共变量冲突,同时使用Macro可以简化代码。同时,将多个GetRandomText命令合并为一条命令,可以减少代码冗余。
使用该示例代码可以实现精简合并脚本,避免公共变量冲突,提高代码可读性和可维护性。