TC官方合作论坛
标题: 大侠们来帮我看看问题出在哪了? [打印本页]
作者: lnb 时间: 2013-3-11 20:20
标题: 大侠们来帮我看看问题出在哪了?
编译 运行 生成都可以,一运行脚本提示 标红部分不是有效数组,数组要用循环赋值么?
空间 测试2
//默认空间
功能 执行脚本()
//判断黑店颜色
while(真)
黑店结果=array[30]
x,y,x1,y1,xqd,yqd
color.findpic(0,0,1920,1080,"rc:黑店-透明.bmp",#000000,1.0,0,x,y)
if(x>0 && y>0)
mouse.mousemove(x+2,y+2)
help.sleep(500)
mouse.leftclick(1)
//开始一店
color.findpic(0,0,1920,1080,"rc:收获.bmp",#073F86,1.0,0,x,y)
mouse.mousemove(x+2,y+2)
help.sleep(500)
mouse.leftclick(1)
help.sleep(500)
mouse.leftclick(1)
黑店结果=线程.开启("测试2.分钟5","")
for(i=0;i<30;i++)
if(黑店结果>0)
if(i>25)
mouse.mousemove(黑店结果,黑店结果[i+1])
help.sleep(500)
mouse.leftclick(1)
color.findpic(0,0,1920,1080,"rc:确定.bmp",#000000,0,0,xqd,yqd)
mouse.mousemove(xqd,yqd)
help.sleep(500)
mouse.leftclick(1)
else
mouse.mousemove(黑店结果,黑店结果[i+1])
help.sleep(500)
mouse.leftclick(1)
endif
else
i ++
endif
endfor
else
辅助.消息框("IF错误"&x&y)
endif
endwhile
功能结束
功能 分钟5()
x=array[4],y=array[4],x3=array[3],y3=array[3],x12=array[3],y12=array[3],xybxh=array[4],yybxh=array[4],返回坐标=array[30]
x红石头,y红石头,x橙石头,y橙石头,x蓝石头,y蓝石头,x紫石头,y紫石头,x元宝1,y元宝1,x元宝2,y元宝2,x30fz,y30fz,x5fz,y5fz,x120fz,y120fz
x功勋,y功勋,x攻击,y攻击,x速度,y速度,x防御,y防御,x血气,y血气,x经验,y经验
//获取5分钟坐标
color.findpic(0,0,1920,1080,"rc:5分钟-透明.bmp",#000000,0,0,x[0],y[0])
color.findpic(x[0],y[0],x[0]+50,y[0]+400,"rc:5分钟-透明.bmp",#000000,0,0,x[1],y[1])
color.findpic(x[1],y[1],x[1]+50,y[1]+400,"rc:5分钟-透明.bmp",#000000,0,0,x[2],y[2])
color.findpic(x[2],y[2],x[2]+50,y[2]+400,"rc:5分钟-透明.bmp",#000000,0,0,x[3],y[3])
//获取30分钟坐标
color.findpic(0,0,1920,1080,"rc:30分钟-透明.bmp",#000000,0,0,x3[0],y3[0])
color.findpic(x3[0],y3[0],x3[0]+50,y3[0]+400,"rc:30分钟-透明.bmp",#000000,0,0,x3[1],y3[1])
color.findpic(x3[1],y3[1],x3[1]+50,y3[1]+400,"rc:30分钟-透明.bmp",#000000,0,0,x3[2],y3[2])
//获取120分钟坐标
color.findpic(0,0,1920,1080,"rc:120分钟-透明.bmp",#000000,0,0,x12[0],y12[0])
color.findpic(x12[0],y12[0],x12[0]+50,y12[0]+400,"rc:120分钟-透明.bmp",#000000,0,0,x12[1],y12[1])
color.findpic(x12[1],y12[1],x12[1]+50,y12[1]+400,"rc:120分钟-透明.bmp",#000000,0,0,x12[2],y12[2])
//获取元宝1坐标
color.findpic(0,0,1920,1080,"rc:元宝1.bmp",#000000,0,0,x元宝1,y元宝1)
//获取元宝2坐标
color.findpic(0,0,1920,1080,"rc:元宝2.bmp",#000000,0,0,x元宝2,y元宝2)
//获取消耗元宝坐标
color.findpic(0,0,1920,1080,"rc:消耗元宝-透明.bmp",#000000,0,0,xybxh[0],yybxh[0])
color.findpic(xybxh[0],yybxh[0],xybxh[0]+50,yybxh[0]+400,"rc:消耗元宝-透明.bmp",#000000,0,0,xybxh[1],yybxh[1])
color.findpic(xybxh[1],yybxh[1],xybxh[1]+50,yybxh[1]+400,"rc:消耗元宝-透明.bmp",#000000,0,0,xybxh[2],yybxh[2])
color.findpic(xybxh[2],yybxh[2],xybxh[2]+50,yybxh[2]+400,"rc:消耗元宝-透明.bmp",#000000,0,0,xybxh[3],yybxh[3])
//获取石头坐标
color.findpic(0,0,1920,1080,"rc:红石头.bmp",#000000,0,0,x红石头,y红石头)
color.findpic(0,0,1920,1080,"rc:橙石头.bmp",#000000,0,0,x橙石头,y橙石头)
color.findpic(0,0,1920,1080,"rc:紫石头.bmp",#000000,0,0,x紫石头,y紫石头)
color.findpic(0,0,1920,1080,"rc:蓝石头.bmp",#000000,0,0,x蓝石头,y蓝石头)
//获取药坐标
//判断非元宝5分钟
for(i=0;i>5;i++)
if(y-yybxh>0)
if(y-yybxh>0)
if(y-yybxh>0)
if(y-yybxh>0)
x5fz=x
y5fz=y
else
x=-1
y=-1
endif
else
x=-1
y=-1
endif
else
x=-1
y=-1
endif
else
x=-1
y=-1
endif
endfor
//判断非元宝30分钟
for(i=0;i>5;i++)
if(y3-yybxh>0)
if(y3-yybxh>0)
if(y3-yybxh>0)
if(y-yybxh>0)
x30fz=x3
y30fz=y3
else
x3=-1
y3=-1
endif
else
x3=-1
y3=-1
endif
else
x3=-1
y3=-1
endif
else
x3=-1
y3=-1
endif
endfor
//判断非元宝120分钟
for(i=0;i>5;i++)
if(y12-yybxh>0)
if(y12-yybxh>0)
if(y12-yybxh>0)
if(y-yybxh>0)
x120fz=x12
y120fz=y12
else
x12=-1
y12=-1
endif
else
x12=-1
y12=-1
endif
else
x12=-1
y12=-1
endif
else
x12=-1
y12=-1
endif
endfor
返回坐标[0]=x红石头
返回坐标[1]=y红石头
返回坐标[2]=x橙石头
返回坐标[3]=y橙石头
返回坐标[4]=x蓝石头
返回坐标[5]=y蓝石头
返回坐标[6]=x紫石头
返回坐标[7]=y紫石头
返回坐标[8]=x功勋
返回坐标[9]=y功勋
返回坐标[10]=x攻击
返回坐标[11]=y攻击
返回坐标[12]=x速度
返回坐标[13]=y速度
返回坐标[14]=x防御
返回坐标[15]=y防御
返回坐标[16]=x血气
返回坐标[17]=y血气
返回坐标[18]=x经验
返回坐标[19]=y经验
返回坐标[20]=y5fz
返回坐标[21]=x5fz
返回坐标[22]=x30fz
返回坐标[23]=y30fz
返回坐标[24]=x120fz
返回坐标[25]=y120fz
返回坐标[26]=x元宝1
返回坐标[27]=y元宝1
返回坐标[28]=x元宝2
返回坐标[29]=y元宝2
//返回坐标[30]=
返回 返回坐标
功能结束
//功能 分钟30()
//x,y,x1,y1
//color.findpic(0,0,1920,1080,"rc:30分钟.bmp",#000000,1.0,0,x,y)
//if(x>0 && y>0)
//color.findpic(x-125,y,x-125,y+50,"rc:元宝2.bmp",#000000,1.0,0,x1,y1)
//if(x1>0 && y1>0)
////线程.开启("测试2.120分钟","")
//else
//endif
//mouse.mousemove(x,y)
//help.sleep(500)
//else
//endif
//功能结束
//开始按钮_点击操作
功能 开始_点击()
线程.开启("测试2.执行脚本","")
功能结束
//退出按钮_点击操作
功能 退出_点击()
辅助.退出()
功能结束
空间结束
//空间结束语句
作者: laowantong 时间: 2013-3-11 20:30
来个大神帮帮他吧,都看晕了
作者: lnb 时间: 2013-3-11 20:33
在TC里板式没怎么乱啊,怎么复制进来就全乱了啊
作者: 幼园留级老油条 时间: 2013-3-11 21:04
太长了 看的累
作者: 906559111 时间: 2013-3-11 23:46
晕了!!!
作者: zhkq 时间: 2013-3-12 00:21
你这个脚本有很大问题
首先变量定义阶段,你把黑店结果定义为一个大小为30的一维数组
黑店结果=array[30]
然后你在后面又给他赋值为整型,因为线程.开启返回的是线程号所以系统会提示你的复制出现问题
黑店结果=线程.开启("测试2.分钟5","")
如你是想开启很多个检查黑店的程序,你应该在某个循环里面开很多个线程举例就是
遍历(i=0;i<30;i++)
。。。
黑店结果=线程.开启("测试2.分钟5","") //当然你的循环体里面一般不会只有这句,只是一个示例,具体要看你逻辑
。。。。
遍历结束
后面还看到了一些隐含的错误,
mouse.mousemove(黑店结果,黑店结果[i+1]),你前面用黑店结果作为记录线程号的变量,后面又认为他是某种坐标串,这在逻辑上有错误,根本就是无法实现的,我看到你的返回值和黑店结果都是大小30的数组,不知道你是不是想把返回值反馈给黑店结果?那处理起来就非常麻烦了,具体要看你的需求到底如何。
有帮助的话请采纳。
作者: lnb 时间: 2013-3-12 09:05
回复 6楼zhkq的帖子
感谢zhkq兄啊大半夜的还帮我看脚本
,TC刚接触不到一周。很多东西都不会,用数组是变量实在太多了想省点事。但帮助教程里没看到应该怎么从一个数组赋值给另一个数组,因为不想在死循环体里写那么多的判断语句,所以又单开了一个线程在死循环里调用。你说的鼠标移动坐标的问题我也发现了,昨天晚上吧下面的判断移到前面的循环里,发现数组没法跟变量一样随意调跟赋值。数组里全是NULL值,有点不理解,官网教程上不是说数组跟变量是一样的么?
作者: lnb 时间: 2013-3-12 09:14
另外你的猜测是对的,我就是想吧返回结果赋值给黑店坐标的数组。估计很难实现是吗?
作者: zhkq 时间: 2013-3-12 23:57
不是很难实现,用全局变量就可以实现你在子函数里面赋值,其它地方使用,但是这个用法跟你现在的多线程用法是有冲突的,逻辑上不通。你需要好好把程序运行的思路梳理一下。觉得有帮助就采纳一下。
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) |
Powered by Discuz! X3.1 |