2015-10-30 14:30 来源:永恒狂刀官网

以这个合击出随机验证码为示范,输入5个大数字。范本如下:
function 设置命令回调()
设置命令(1, "传送到挂机地图", 0)
设置命令(3, "包满在线回收", 0)
设置命令(5, "NPC框随机验证",0) --命令回调处添加NPC框随机验证码
end
function NPC框随机验证() --合击随机验证码主要调用
local aa
local passcode
local s1
passcode=""
local mosuzi={}
mosuzi[0]="BAAABABBBAABBBAABBBAABBBAABBBAABBBABAAAB"
mosuzi[1]="BBABBBAABBBBABBBBABBBBABBBBABBBBABBBAAAB"
mosuzi[2]="BAAABABBBAABBBABBBABBBABBBABBBABBBBAAAAA"
mosuzi[3]="BAAABABBBABBBBABBAABBBBBABBBBAABBBABAAAB"
mosuzi[4]="BBBABBBAABBABABBABABABBABBAAAABBBABBBBAA"
mosuzi[5]="AAAAAABBBBABBBBAAAABBBBBABBBBAABBBABAAAB"
mosuzi[6]="BAAABABBABABBBBAAAABABBBAABBBAABBBABAAAB"
mosuzi[7]="AAAAAABBABBBBABBBABBBBABBBBABBBBABBBBABB"
mosuzi[8]="BAAABABBBAABBBABAAABABBBAABBBAABBBABAAAB"
mosuzi[9]="BAAABABBBAABBBAABBBABAAAABBBBABABBABAAAB"
aa=NPC对话框内容()
k1=string.find(aa,"验证码",1,true)
if k1~=nil then
local pp
local p1
local p2
local t1
local t2
p1=string.find(aa,"<",1,true)
p2=string.find(aa,">",1,true)
if p1~=nil then
t1=string.sub(aa,p1,p2)
aa=string.gsub(aa,t1,"AA")
t2=string.sub(aa,12,13)
aa=string.gsub(aa,t2,"BB")
aa=string.gsub(aa,"AA","A")
aa=string.gsub(aa,"BB","B")
--输出信息(aa)
local kk
local i
local abstring={}
for i=1,8 do
kk=匹配内容(aa,[[([A-B]{29})]])
if kk~=nil then
abstring[i]=kk
aa=string.gsub(aa,kk,"",1)
--输出信息(abstring[i])
end
end
--输出信息("--kk--")
if kk=="error.Null" then
--输出信息("需要反")
for i=2,20 do
pp=string.sub(aa,i+1,i+1)
if pp~="B" then
aa=string.gsub(aa,pp,"A")
end
end
aa=string.gsub(aa,"AA","A")
for i=1,8 do
kk=匹配内容(aa,[[([A-B]{29})]])
if kk~=nil then
abstring[i]=kk
aa=string.gsub(aa,kk,"",1)
--输出信息(abstring[i])
end
end
--输出信息(aa)
end
local j
local k
local pass
pass=""
passcode=""
for j=1,25 do
for i=1,8 do
pass=table.concat{pass,string.sub(abstring[i],j,j+4)}
end
--输出信息(pass)
for k=0,9 do
if pass==mosuzi[k] then
--输出信息(tostring(k))
passcode=table.concat{passcode,tostring(k)}
end
end
pass=""
end
end
if passcode=="" then
aa=NPC对话框内容()
输出信息("看来不是五位数了")
local pp
local p1
local p2
local t1
local t2
p1=string.find(aa,"<",1,true)
p2=string.find(aa,">",1,true)
if p1~=nil then
t1=string.sub(aa,p1,p2)
aa=string.gsub(aa,t1,"AA")
t2=string.sub(aa,12,13)
aa=string.gsub(aa,t2,"BB")
aa=string.gsub(aa,"AA","A")
aa=string.gsub(aa,"BB","B")
--输出信息(aa)
local kk
local i
local abstring={}
for i=1,8 do
kk=匹配内容(aa,[[([A-B]{23})]])
if kk~=nil then
abstring[i]=kk
aa=string.gsub(aa,kk,"",1)
输出信息(abstring[i])
end
end
--输出信息("--kk--")
if kk=="error.Null" then
输出信息("需要反")
for i=2,20 do
pp=string.sub(aa,i+1,i+1)
if pp~="B" then
aa=string.gsub(aa,pp,"A")
end
end
aa=string.gsub(aa,"AA","A")
--输出信息(aa)
for i=1,8 do
kk=匹配内容(aa,[[([A-B]{23})]])
if kk~=nil then
abstring[i]=kk
aa=string.gsub(aa,kk,"",1)
-- 输出信息(abstring[i])
end
end
--输出信息(aa)
end
local j
local k
local pass
pass=""
passcode=""
for j=1,19 do
for i=1,8 do
pass=table.concat{pass,string.sub(abstring[i],j,j+4)}
end
--输出信息(pass)
for k=0,9 do
if pass==mosuzi[k] then
-- 输出信息(tostring(k))
passcode=table.concat{passcode,tostring(k)}
end
end
pass=""
end
end
end
end
输出信息(passcode)
if passcode~=nil then
发言(passcode)
等待(1000)
关闭对话NPC()
end
end
function 传送到挂机地图()
获取远程仓库ID()
等待(4000)
local 返回值1
输出日志("进入地图传送")
返回值1 = 使用传送物品("盟重传送石")
if 返回值1 ~= 0 then
设置运行错误(1, 返回值1)
return 1
end
设置对话框状态(1)
移动到(326,335,0)
等待(2000)
保存当前角色坐标()
对话NPC("乾陵地宫")
等待(1500)
选择("进入高级*")
等待(1500)
返回值1 = 等待地图切换(10000, ".")
if 返回值1 ~= 0 then
设置运行错误(2, 返回值1)
return 3
end
return 0
end
function 包满在线回收()
local 返回值1
返回值1 = 对话NPC("[永久回收*]")
if 返回值1 ~= 0 then
return 1
end
等待(1500)
选择("[0]")
等待(700)
选择("[1]")
等待(700)
选择("[2]")
等待(700)
选择("[3]")
等待(700)
选择("[4]")
等待(700)
选择("[5]")
等待(700)
选择("[6]")
等待(700)
选择("[7]")
等待(700)
选择("[7]")
等待(1500)
选择("[0]")
等待(700)
选择("[1]")
等待(700)
选择("[2]")
等待(700)
选择("[3]")
等待(700)
等待(1500)
关闭对话NPC()
返回值1=读取英雄捡取物品到背包()
等待(3000)
local 返回值1
返回值1 = 对话NPC("[永久回收*]")
if 返回值1 ~= 0 then
return 1
end
等待(1500)
选择("[0]")
等待(700)
选择("[1]")
等待(700)
选择("[2]")
等待(700)
选择("[3]")
等待(700)
选择("[4]")
等待(700)
选择("[5]")
等待(700)
选择("[6]")
等待(700)
选择("[7]")
等待(700)
选择("[7]")
等待(1500)
选择("[0]")
等待(700)
选择("[1]")
等待(700)
选择("[2]")
等待(700)
选择("[3]")
等待(700)
等待(1500)
关闭对话NPC()
end
function 主体函数()
local 返回值1
设置命令回调()
设置挂机地图("龙源*")
进入挂机状态(100)
return 0
end