读写配置项是个很实用的功能,因为它不占用保留变量,并且格式多样化,原理是把变量写入文本当中,
这里用到3个命令:
读配置项 ReadConfigFileItem 索引 变量名 变量
写配置项 WriteConfigFileItem 索引 变量名 参数
删除配置项 DelConfigFileItem 索引 变量名
打个比方:“礼包领取限制每台电脑只能领取两个账号”。
机器码一般来说,如果没有硬件更换是不会变的,所以用它来判断是否同一台电脑。
换成编程思维,问题转化成,如何判断机器码的领奖次数?
;首先检测领奖次数,读取文本中,机器码的领奖次数赋值到变量,然后判断
#if
#act
ReadConfigFileItem ..\QuestDiary\领奖记录.txt <$MACHINEID> 领取次数 <$STR(N$领取次数)>
;判断领奖次数,如果为0可以领奖,可以领取,把 {机器码 领取次数 1} 写入配置项。
#if
EQUAL <$STR(N$领取次数)> 0
#ACT
WriteConfigFileItem ..\QuestDiary\领奖记录.txt <$MACHINEID> 领取次数 1
sendmsg 7 初次领奖!写入领奖成功,目前领奖次数为:1
break
;判断领奖次数,如果为1还可以领取一次.代码含义为删除原有的配置项重新写入,为了改变领奖次数
#if
EQUAL <$STR(N$领取次数)> 1
#ACT
DelConfigFileItem ..\QuestDiary\领奖记录.txt <$MACHINEID> 领取次数
WriteConfigFileItem ..\QuestDiary\领奖记录.txt <$MACHINEID> 领取次数 2
sendmsg 7 第二次领奖!写入领奖成功,目前领奖次数为:2
break#if
EQUAL <$STR(N$领取次数)> 2
#ACTsendmsg 7 这台电脑已经领取过2次,每台电脑只可以领取两个账号!
break#elseact
sendmsg 7 参数错误!
领奖记录里的内容是这样的:
[F896AE54F3D3922189D31FFAB8BB751C]
领取次数=2
[H896AE54F3D392342189D31FFAB8B51F]
领取次数=2
[9896AE2345445D3922189D31FFAB751H]
领取次数=1
[7896AE54F3D3922189D31FFAB8BB751J]
领取次数=2
[6696AE54F3D392342189D31FFAB8B51L]
领取次数=2
[F296AE2345445D3922189D31FFAB7513]
领取次数=1