来源 西伯利亚的忠犬-狗哥
[@MAIN]
#SAY
<一键合成/@一键合成>
[@一键合成]
MOV L$数组 [一级物品,二级物品,三级物品,四级物品,五级物品,六级物品,七级物品] ;定义可合成的数组列表
MOV N$循环标识 0
GetListVarCount L$数组 N$物品列表数量 ;获取数组数量
DEC N$物品列表数量 1 ;因为物品最后一级无法合成,所以循环次数要等于物品数量减一
LOOPGOTO @_@合成 <$STR(N$物品列表数量)>
[@_@合成]
#IF
CHECKITEM <$STR(L$数组[<$STR(N$循环标识)>])> 4
#ACT
;获取背包该物品数量
GetBAGItemCount <$STR(L$数组[<$STR(N$循环标识)>])> N$当前物品数量
;之所以要额外乘除,是为了去掉多余的数量,比如有26件物品,除以4等于6,再乘以4就等于24了
DIV N$当前物品数量 4
MUL N$当前物品数量 4
MOV N$给予下标 <$STR(N$循环标识)>
INC N$给予下标 1
TAKE <$STR(L$数组[<$STR(N$循环标识)>])> <$STR(N$当前物品数量)>
DIV N$当前物品数量 4
GIVE <$STR(L$数组[<$STR(N$给予下标)>])> <$STR(N$当前物品数量)>
#IF
#ACT
INC N$循环标识 1
THE END