2016-01-14 21:53 来源:永恒狂刀官网
--以这个服为例,回收时出验证码,地图打怪不定时随机出验证码,验证码是同一个。以下是完整的可用的脚本内容,请自行优化,记得用编辑器加密才能执行。
function 设置命令回调()
设置命令(1, "传送到挂机地图", 0)
设置命令(3, "包满回城回收", 0)
设置命令(5, "随机验证码",0)
end
function 随机验证码()
aa=NPC对话框内容()
k1=string.find(aa,"特设验证码",1,true)
if k1~=nil then
mosuzi={}
mosuzi[0]="AAAAAABBBAABBBAABBBAABBBAABBBAAAAAA"
mosuzi[1]="BBABBBBABBBBABBBBABBBBABBBBABBBBABB"
mosuzi[2]="AAAAABBBBABBBBAAAAAAABBBBABBBBAAAAA"
mosuzi[3]="AAAAABBBBABBBBAAAAAABBBBABBBBAAAAAA"
mosuzi[4]="ABBBAABBBAABBBAAAAAABBBBABBBBABBBBA"
mosuzi[5]="AAAAAABBBBABBBBAAAAABBBBABBBBAAAAAA"
mosuzi[6]="AAAAAABBBBABBBBAAAAAABBBAABBBAAAAAA"
mosuzi[7]="AAAAABBBBABBBBABBBBABBBBABBBBABBBBA"
mosuzi[8]="AAAAAABBBAABBBAAAAAAABBBAABBBAAAAAA"
mosuzi[9]="AAAAAABBBAABBBAAAAAABBBBABBBBAAAAAA"
local hanzi
for i=1,300 do
hanzi=匹配内容(aa,[[([\u4e00-\u9fa5]{1})]])
if hanzi~="error.Null" then
aa=string.gsub(aa,hanzi,"")
end
end
aa=string.gsub(aa," <0","")
-- 输出信息(aa)
local k4,k5,pp6,pp7
local cho={}
k4=string.find(aa,"<0",1,true)
if k4~=nil then
pp6=string.sub(aa,k4+1,k4+120)
--输出信息(pp6)
for i=0,9 do
pp7=匹配内容(pp6,[[(@[a-z]{1,5}\d{1,2})]])
if pp7~=nil then
--输出信息(pp7)
cho[i]=pp7
pp6=string.gsub(pp6,pp7,"",1)
end
end
end
for i=48,57 do
aa=string.gsub(aa,string.char(i),"")
end
for i=65,90 do
aa=string.gsub(aa,string.char(i),"")
end
for i=97,122 do
aa=string.gsub(aa,string.char(i),"")
end
aa=string.gsub(aa," ","B")
aa=string.gsub(aa," ","B")
aa=string.gsub(aa,"■","A")
aa=string.gsub(aa,"\\","E")
--输出信息(aa)
local k2,k3
local pass,pp
pass=""
pass=string.sub(aa,2,6)
for i=2,7 do
k2=string.find(aa,"E",1,true)
if k2~=nil then
pp=string.sub(aa,k2+2,k2+6)
pass=table.concat{pass,pp}
aa=string.gsub(aa,"E","",1)
end
end
-- 输出信息(pass)
-- 输出信息(aa)
for i=0,9 do
if pass==mosuzi[i] then
passcode=i
输出信息(tostring(passcode))
end
end
if passcode~=nil then
选择(cho[tonumber(passcode)])
end
end
end
function 传送到挂机地图()
local 返回值1
输出日志("进入地图传送")
返回值1 = 使用传送物品("盟重传送石")
if 返回值1 ~= 0 then
设置运行错误(1, 返回值1)
return 1
end
设置对话框状态(1)
移动到(333,333,-1)
等待(2000)
保存当前角色坐标()
对话NPC坐标(340,334)
等待(1500)
选择("@沙影之道")
等待(1500)
返回值1 = 等待地图切换(10000, ".")
if 返回值1 ~= 0 then
设置运行错误(2, 返回值1)
return 3
end
return 0
end
function 装备回收NPC()
local 返回值1
移动到(324,325,-1)
等待(3000)
对话NPC("集字游戏*")
等待(1000)
选择("[4]")--第一次时,此时出验证码
等待(1000)
aa=NPC对话框内容()
k1=string.find(aa,"特设验证码",1,true)
if k1~=nil then
mosuzi={}
mosuzi[0]="AAAAAABBBAABBBAABBBAABBBAABBBAAAAAA"
mosuzi[1]="BBABBBBABBBBABBBBABBBBABBBBABBBBABB"
mosuzi[2]="AAAAABBBBABBBBAAAAAAABBBBABBBBAAAAA"
mosuzi[3]="AAAAABBBBABBBBAAAAAABBBBABBBBAAAAAA"
mosuzi[4]="ABBBAABBBAABBBAAAAAABBBBABBBBABBBBA"
mosuzi[5]="AAAAAABBBBABBBBAAAAABBBBABBBBAAAAAA"
mosuzi[6]="AAAAAABBBBABBBBAAAAAABBBAABBBAAAAAA"
mosuzi[7]="AAAAABBBBABBBBABBBBABBBBABBBBABBBBA"
mosuzi[8]="AAAAAABBBAABBBAAAAAAABBBAABBBAAAAAA"
mosuzi[9]="AAAAAABBBAABBBAAAAAABBBBABBBBAAAAAA"
local hanzi
for i=1,300 do
hanzi=匹配内容(aa,[[([\u4e00-\u9fa5]{1})]])
if hanzi~="error.Null" then
aa=string.gsub(aa,hanzi,"")
end
end
aa=string.gsub(aa," <0","")
-- 输出信息(aa)
local k4,k5,pp6,pp7
local cho={}
k4=string.find(aa,"<0",1,true)
if k4~=nil then
pp6=string.sub(aa,k4+1,k4+120)
--输出信息(pp6)
for i=0,9 do
pp7=匹配内容(pp6,[[(@[a-z]{1,5}\d{1,2})]])
if pp7~=nil then
--输出信息(pp7)
cho[i]=pp7
pp6=string.gsub(pp6,pp7,"",1)
end
end
end
for i=48,57 do
aa=string.gsub(aa,string.char(i),"")
end
for i=65,90 do
aa=string.gsub(aa,string.char(i),"")
end
for i=97,122 do
aa=string.gsub(aa,string.char(i),"")
end
aa=string.gsub(aa," ","B")
aa=string.gsub(aa," ","B")
aa=string.gsub(aa,"■","A")
aa=string.gsub(aa,"\\","E")
--输出信息(aa)
local k2,k3
local pass,pp
pass=""
pass=string.sub(aa,2,6)
for i=2,7 do
k2=string.find(aa,"E",1,true)
if k2~=nil then
pp=string.sub(aa,k2+2,k2+6)
pass=table.concat{pass,pp}
aa=string.gsub(aa,"E","",1)
end
end
-- 输出信息(pass)
-- 输出信息(aa)
for i=0,9 do
if pass==mosuzi[i] then
passcode=i
输出信息(tostring(passcode))
end
end
if passcode~=nil then
选择(cho[tonumber(passcode)])
end
end
对话NPC("集字游戏*")
等待(1000)
选择("[4]")
等待(700)
选择("[4]")
等待(700)
选择("[4]")
等待(700)
选择("[4]")
等待(700)
选择("[4]")
等待(700)
关闭对话NPC()
等待(700)
对话NPC("装备回*")
等待(1500)
选择("[6]") --第一次时,此时出验证码
等待(1000)
等待(2000)
对话NPC("装备回收*")
等待(2000)
选择("[6]")
等待(700)
选择("[6]")
等待(700)
选择("[6]")
等待(700)
选择("[6]")
等待(700)
选择("[6]")
等待(700)
选择("[6]")
等待(700)
选择("[6]")
等待(700)
选择("[6]")
等待(700)
选择("[7]")
等待(700)
选择("[8]")
等待(700)
选择("[9]")
等待(700)
关闭对话NPC()
等待(4000)
返回值1=读取英雄捡取物品到背包()
等待(3000)
对话NPC("装备回*")
等待(1500)
选择("[6]") --此时出验证码
等待(1000)
等待(2000)
对话NPC("装备回收*")
等待(2000)
选择("[6]")
等待(700)
选择("[6]")
等待(700)
选择("[6]")
等待(700)
选择("[6]")
等待(700)
选择("[6]")
等待(700)
选择("[6]")
等待(700)
选择("[6]")
等待(700)
选择("[6]")
等待(700)
选择("[7]")
等待(700)
选择("[8]")
等待(700)
选择("[9]")
等待(700)
关闭对话NPC()
end
function 包满回城回收()
local 返回值1
返回值1 = 使用传送物品("盟重传送石")
等待(3000)
if 返回值1 ~= 0 then
输出日志("使用传送物品 失败1...")
return 1
end
装备回收NPC()
end
function 主体函数()
local 返回值1
设置命令回调()
设置挂机地图("沙巴克*")
返回值1 = 移动到(121,191,0)
if 返回值1 ~= 0 then
设置运行错误(1, 返回值1)
return 1
end
移动到(121,191,0)
等待地图切换(10000,".")
设置当前挂机地图()
进入挂机状态(50)
return 0
end