TC官方合作论坛

 找回密码
 立即注册
查看: 637|回复: 4

[已解决] 谁能告诉我这个讲的到底是对是错,到底怎么传这个参数

[复制链接]
发表于 2013-9-18 09:41:00 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我就草了,前几天看梦飞飞的视频,看到他讲大漠获取窗口句柄,简单也能会一点,后来又看了tc官方一个导师的讲课视频,课程名字叫单脚本控制多开,他讲的也能明白一点,我现在就是纠结怎么传参。我真心不会传这个参数啊,后来求tcvip群里的兄弟帮忙,有的兄弟说这是误导的,不能这样传参,我问他到底怎么传,他也不回复我,另一个就让我看官方的示例,可是看了半天,也能看明白点,但是他掉用高的功能全是这样样的  线程.开启("TC结合天使插件多对象多开示例.主线程","")
句柄值=线程.开启("TC结合天使插件多对象多开示例.子线程",线程参数)

我需要的是这样式的调用
功能 开始测试()
    多开原理.寻路()

功能结束
就这样简单,后面的括号里到底应该穿什么参数。
我把我的编码发上来,大家帮我参考一下,1,看看这个脚本到底是不是导师误导新手,2,到底怎么传这个参数




空间 多开原理
窗口句柄=数组[],线程句柄=数组[],dm=数组[0],句柄数组=数组[],intX,intY
功能 枚举句柄()
    多开原理.初始化()
    系统.设置路径(辅助.获取资源路径("rc:"))
    辅助.等待(2000)
    c1
    返回值=系统.枚举("刀剑2",0)//枚举窗口句柄
    //辅助.消息框(返回值)
    如果(返回值=="")
        返回 假
    如果结束
    字符串.分割(返回值,"|",窗口句柄)//分割枚举到的窗口句柄,保存在窗口句柄数组里
    数组空间.大小(窗口句柄,c1)//获得窗口句柄数组的大小,枚举到几个窗口句柄就数组元素就有几个
    遍历(i=0;i<c1;i++)//遍历的次数等于数组元素的数量等于游戏窗口的数量
        dm=数组空间.重定义(dm,true,i+1)//重新定义插件对象数组的大小+1
        线程句柄=数组空间.重定义(线程句柄,true,i+1)//重新定义线程句柄数组的大小+1
        dm=com("dm.dmsoft")//创建一个插件对象,保存为dm数组,数组下标对应线程句柄下标,对应窗口句柄下标
        线程句柄=线程.开启("多开原理.主线程",i)//把下标传入线程,可以看成编号
    遍历结束
功能结束
功能 主线程(编号)
    返回值=dm[编号].BindWindow(窗口句柄[编号],"gdi2","dx","dx",0)
    辅助.等待(1500)
    如果(返回值==0)
        辅助.消息框("绑定失败")
        返回 假
    如果结束
    dm[编号].KeyPressChar("enter")
    辅助.等待(1000)
    dm[编号].SendString(窗口句柄[编号],编辑框.获得文本("编辑框0"))
    辅助.等待(500)
    dm[编号].KeyPressChar("enter")
功能结束

功能 开始_点击()
    线程.开启("多开原理.枚举句柄","")
功能结束
功能 寻路(编号)
    寻路= dm[编号].FindPic(976,686,1235,1000,"寻路.bmp","000000",0.9,0,intX,intY)
    如果(intX >= 0&&intY >= 0)
        辅助.等待(100)
        dm[编号].MoveTo(intX+10,intY+10)
        辅助.等待(1000)
        dm[编号].LeftClick()
    否则
        辅助.消息框("找不到")
    如果结束
功能结束
功能 开始测试()
    多开原理.寻路()
功能结束

功能 退出_点击()
    c1
    数组空间.大小(dm,c1)
    遍历(i=0;i<c1;i++)
        线程.关闭(线程句柄)
        辅助.等待(500)
       dm.UnBindWindow()
        辅助.等待(1500)
    遍历结束
    辅助.退出()
功能结束
功能 初始化()
    辅助.注册插件("rc:\\dm.dll ",真)
功能结束
空间结束



好吧,群里的兄弟估计真的是太忙了,我也不好意思说什么了,
我在TC里充了两年的会员,原本以为不管有多笨,只要认真学就可以学的会,可是到现在都已经一年了,各种视频看了无数遍,平板电脑都让我看坏了,连一个简单传参我都学不会,是不是世界上的白痴莫高与我。
回复

使用道具 举报

发表于 2013-9-18 10:23:37 | 显示全部楼层
你这个是线程传参,线程传递参数要注意的是:
1、如果你的线程方法没有参数,你就必须在线程开启的方法里,把线程参数的值设置为"",2个引号的空字符串。
2、如果你的线程方法有参数,那么你就可以在线程开启的方法里传入具体的参数值,也可以传空字符串。
你上面的传参是正确的!

只是你创建插件对象的时候,你不是把插件对象保存到dm的数组里吗? 为什么就写成保存到dm变量了呢???
dm=com("dm.dmsoft")
改为
  1. dm[i]=com("dm.dmsoft")
复制代码

下面调用的dm都改为dm[编号],这样的数组操作方式。
如果还有问题,在VIP群或者导师班群里找我!
回复 支持 反对

使用道具 举报

发表于 2013-9-18 10:49:10 | 显示全部楼层
回复 1楼852491的帖子

你是想知道如何多线程传参?还是调用传参?
回复 支持 反对

使用道具 举报

发表于 2013-9-18 11:05:45 | 显示全部楼层
直接把编号传进去就可以
然后里面都用dm.[编号]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-21 20:05:51 | 显示全部楼层
回复 3楼TC。梁子的帖子

调用传参
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-24 09:54 , Processed in 0.037889 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表