(@@inputstring @@CreateMercenary)

[@main]
#say
佣兵交易向导：\
1、制作为佣兵的人物角色不小于5级。\
2、每次制作，背包需要放一张空白的【佣兵契约纸】。\
3、制作为契约的角色将损失当前等级经验值，但技能、物品、英雄等数据将会保留。\
4、已经签约的【佣兵契约纸】可以用于创建新角色。\
5、制作佣兵契约的角色，需要取消金币交易行的所有订单！\ \
<制作佣兵契约/@MakeMercenary>   <使用契约创建角色/@@CreateMercenary>\
<制作佣兵契约(需两步验证)/@MakeMercenaryWithTotpAuth>\
<制作佣兵契约(需密保验证)/@MakeMercenarymibao>\

; ------------------- 制作契约，需密保验证 -------------------

[@MakeMercenarymibao]
请输入以下正确信息进行验证\
输入连续错误3次将30分钟内禁止在次输入\
问题1：【<$STR(S1)>】--------------------<点击输入/@验证1>\
答案1：【<$STR(S2)>】--------------------<点击输入/@验证2>\
问题2：【<$STR(S3)>】--------------------<点击输入/@验证3>\
答案2：【<$STR(S4)>】--------------------<点击输入/@验证4>\



[@验证1]
#if
!CompVal <$QUIZ> = <$STR(S1)>
#act
QueryValue 1 0 20 ~MMBB1 请输入你的【密保问题1】：
#elseact
MESSAGEBOX 错误提示：当前输入的密保是正确的无需在次输入
BREAK


[~MMBB1]
#if
compval $INTS0 < 3300
compval $INTS0 > 1500
#act
MOV D1 <$UNIXTIME>
INC D1 <$INTS0>
ints 0 = <$STR(D1)>

#if
compval $INTS0 > 3300
compval $INTS0 > $UNIXTIME
#act
calcval $INTS0 - $UNIXTIME
sendmsg 7 将在<$CALCRESULT>秒后，才可以再次输入
calcval $INTS0 ~ 0
sendmsg 7 将在<$CALCRESULT>过期，才可以再次输入
MOV S1 
BREAK

#if
compval $INTS0 > 3300
compval $INTS0 < $UNIXTIME
#act
ints 0 = 0

#IF
CompVal <$QUIZ> = <$STR(S1)>
#ACT
DelayGoto 1 @MakeMercenarymibao
BREAK
#elseact
MESSAGEBOX 错误提示：你输入的【密保问题1】错误.连续错误3次将30分钟内禁止在次输入
MOV S1 
ints 0 + 600
BREAK

[@验证2]
#if
EQUAL S1 
#act
MESSAGEBOX 错误提示：请先输入【密保问题1】
BREAK

#if
!CompVal <$ANSWER> = <$STR(S2)>
#act
QueryValue 2 0 20 ~MMBB2 请输入你的【密保答案1】：
#elseact
MESSAGEBOX 错误提示：当前输入的密保是正确的无需在次输入
BREAK


[~MMBB2]
#if
compval $INTS0 < 3300
compval $INTS0 > 1500
#act
MOV D1 <$UNIXTIME>
INC D1 <$INTS0>
ints 0 = <$STR(D1)>

#if
compval $INTS0 > 3300
compval $INTS0 > $UNIXTIME
#act
calcval $INTS0 - $UNIXTIME
sendmsg 7 将在<$CALCRESULT>秒后，才可以再次输入
calcval $INTS0 ~ 0
sendmsg 7 将在<$CALCRESULT>过期，才可以再次输入
MOV S2 
BREAK

#if
compval $INTS0 > 3300
compval $INTS0 < $UNIXTIME
#act
ints 0 = 0

#IF
CompVal <$ANSWER> = <$STR(S2)>
#ACT
DelayGoto 1 @MakeMercenarymibao
BREAK
#elseact
MESSAGEBOX 错误提示：你输入的【密保答案1】错误.连续错误3次将30分钟内禁止在次输入
MOV S2 
ints 0 + 600
BREAK


[@验证3]
#if
EQUAL S2 
#act
MESSAGEBOX 错误提示：请先输入【密保答案1】
BREAK

#if
!CompVal <$QUIZ2> = <$STR(S3)>
#act
QueryValue 3 0 20 ~MMBB3 请输入你的【密保问题2】：
#elseact
MESSAGEBOX 错误提示：当前输入的密保是正确的无需在次输入
BREAK


[~MMBB3]
#if
compval $INTS0 < 3300
compval $INTS0 > 1500
#act
MOV D1 <$UNIXTIME>
INC D1 <$INTS0>
ints 0 = <$STR(D1)>

#if
compval $INTS0 > 3300
compval $INTS0 > $UNIXTIME
#act
calcval $INTS0 - $UNIXTIME
sendmsg 7 将在<$CALCRESULT>秒后，才可以再次输入
calcval $INTS0 ~ 0
sendmsg 7 将在<$CALCRESULT>过期，才可以再次输入
MOV S3 
BREAK

#if
compval $INTS0 > 3300
compval $INTS0 < $UNIXTIME
#act
ints 0 = 0

#IF
CompVal <$QUIZ2> = <$STR(S3)>
#ACT
DelayGoto 1 @MakeMercenarymibao
BREAK
#elseact
MESSAGEBOX 错误提示：你输入的【密保问题2】错误.连续错误3次将30分钟内禁止在次输入
MOV S3 
ints 0 + 600
BREAK


[@验证4]
#if
EQUAL S3 
#act
MESSAGEBOX 错误提示：请先输入【密保问题2】
BREAK
#elseact
QueryValue 4 0 20 ~MMBB4 请输入你的【密保答案2】：
BREAK


[~MMBB4]
#if
compval $INTS0 < 3300
compval $INTS0 > 1500
#act
MOV D1 <$UNIXTIME>
INC D1 <$INTS0>
ints 0 = <$STR(D1)>

#if
compval $INTS0 > 3300
compval $INTS0 > $UNIXTIME
#act
calcval $INTS0 - $UNIXTIME
sendmsg 7 将在<$CALCRESULT>秒后，才可以再次输入
calcval $INTS0 ~ 0
sendmsg 7 将在<$CALCRESULT>过期，才可以再次输入
MOV S4 
BREAK

#if
compval $INTS0 > 3300
compval $INTS0 < $UNIXTIME
#act
ints 0 = 0

#IF
CompVal <$QUIZ> = <$STR(S1)>
CompVal <$ANSWER> = <$STR(S2)>
CompVal <$QUIZ2> = <$STR(S3)>
CompVal <$ANSWER2> = <$STR(S4)>
#ACT
DelayGoto 1 @MakeMercenarymibao
;参数1表示不小于此等级的角色可以被压卡，
;参数2表示制作为佣兵将损失15%的经验值
;参数3为1时表示过滤掉隐藏角色
QUERYMERCENARIES 5 1 0
#elseact
MESSAGEBOX 错误提示：你输入的【密保答案2】错误.连续错误3次将30分钟内禁止在次输入
MOV S4 
ints 0 + 600
BREAK









; ------------------- 制作契约，需两步验证 -------------------
[@MakeMercenaryWithTotpAuth]
#if
true
#act
; 请求两步验证的Key($TOTPKEY)，成功后将回调@OnGetTotpKey标签
GetTotpKey

[@OnGetTotpKey]
#if
CompVal <$TOTPKEY>  = ""
#say
你的账号未绑定两步验证，暂不能制作佣兵契约！\ \
<绑定两步验证/@@totp>   <返回/@main>\ \
<关闭/@exit>
#elseact
QueryValue 5 1 6 ~VerifyKeyCode 请输入绑定当前账号的两步验证码：

[~VerifyKeyCode]
#if
; 验证两步验证码是否正确
VerifyKeyCode <$TOTPKEY> <$STR(M5)>
#act
QUERYMERCENARIES 5 1 0
#elsesay
输入的两步验证码不正确，不能制作佣兵契约！\ \
<关闭/@exit>

; ------------------- 制作契约，无需验证 -------------------
[@MakeMercenary]
#if
true
#act
;参数1表示不小于此等级的角色可以被压卡，
;参数2表示制作为佣兵将损失15%的经验值
;参数3为1时表示过滤掉隐藏角色
QUERYMERCENARIES 5 1 0


; ------------------- 契约创建角色 -------------------
[@@CreateMercenary]
请放上已签约的佣兵契约纸。\ \
<返回/@main>   <关闭/@exit>


; ------------------- 压卡成功后执行的字段 -------------------
[@MakeMercenarySuccess]
#if
true
#act
sendmsg 7 压卡成功：正在制作契约的玩家：<$PARAMSTR(0)>，被制作为契约的原角色名：<$PARAMSTR(1)>，佣兵契约上的角色名：<$PARAMSTR(2)>
;StringsReplace 需要重命名的角色文本.txt <$PARAMSTR(1)> <$PARAMSTR(2)> 0 HardDisk

;使用契约纸成功创建角色后执行的字段
[@NewCharByContractSuccess]
#if
true
#act
sendmsg 7 创角成功：正在使用契约创角的玩家：<$PARAMSTR(0)>，佣兵契约上的角色名：<$PARAMSTR(1)>，创建的新角色名：<$PARAMSTR(2)>
;StringsReplace 需要重命名的角色文本.txt <$PARAMSTR(1)> <$PARAMSTR(2)> 0 HardDisk