|
[@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
|