1234
返回列表 发新帖
查看: 2556|回复: 84
打印

半自动三国杀,索然无味

[复制链接]

1万

积分

1702

人气

353

粮饷

Lv.11

Rank: 11Rank: 11Rank: 11Rank: 11

跳转到指定楼层
发诏君主
发表于 2020-7-9 01:48:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
前面有段时间水帖比较少,因为一时兴起,沉迷于这个事情


之前社区有人分享过按键精灵脚本挂机给小号刷每日经验的帖子

起初并没啥兴趣

后来又见到几次类似的帖子,就去了解了一下按键精灵这软件

简单来说就是,通过软件录制或者编写脚本模拟一段鼠标和键盘的操作

本质上两者是一样的,只是录制的脚本难免冗余,杂乱,也无法完成一些复杂的操作

适用于没有编程基础的人,通过录制一段简单的键鼠操作,替代一些简单重复的手动操作

而编写脚本代码则能使键鼠操作更加精细、准确和复杂

这要是放在其他一些操作性游戏里,应该算得上跟“鼠标宏”类似的东西吧,虽然我也只是听过,并未去作任何的了解

而对于三国杀这种卡牌类的残疾人游戏、聪明人游戏来说

按键精灵脚本应该跟外挂扯不上关系

因为并不涉及任何游戏内部数据,也没利用任何游戏程序内部接口

所做的仅仅是完成鼠标和键盘的点击操作自动化

至于操作如何有序进行,所依赖的只不过是游戏互动界面上的像素点(找色,或者找图)以及编写代码的人的逻辑

它能替代的只是所有玩家能手动操作的部分

本来只是一点好奇,接触之后觉得有点乐趣,就断断续续写了一些代码,毕竟编程语言都是相通的,上手还算简单

看了下,总共大概写了2500行代码吧

采集了300来个桌面版客户端的标记点坐标数据以及部分标记点像素颜色数据

当然这其中有很多过程代码实际上并未用上

比如,命令库代码部分有1000行左右,其中有很大一部分是为了处理软件自带的找色方法的不够精确问题

自己去学习了一下几种颜色空间和颜色相似度算法,最后功能脚本中也只取用了其中效果相对最好的一种

另外,很多地方,虽然预留了接口,但觉得目前没有多大意义去具体实现,也就只是放在那里没管

上面的脚本大多不涉及什么复杂的逻辑,甚至说谈不上逻辑,仅仅是简单枯燥的键鼠操作

自动出牌这个脚本,倒是需要需要一些逻辑来维持运行

目前根据输入的参数不同支持4种方式运行

盖主、挂机、防守(托管)、进攻(包括简单的身份标记以及部分简单的技能)

说到底,脚本里所有的出牌逻辑的判断依据只不过是游戏界面上可见的像素点

这与游戏内部出牌程序的实现方法根本不同,也无法比拟

所以实现复杂的逻辑的难度是比较大的

举个例子,我采用了一个比较笨的方法来简单标记身份

任何人对自己打出伤害类牌,就标记他为敌方(只标记前几个,对于反贼身份抗金来说,还是挺有效的)

就这么一个简单的操作,实现起来却需要一系列更为复杂的操作

对于人手动打牌,一眼就能定位

对于游戏内部程序,是谁的回合,打出的是什么牌也都是标记好了的,一步定位

而对于我这个脚本,首先需要判断是需要响应什么类型的牌(固定点找色)

然后还需要判断是谁的回合(多点依次找色)

将可见的像素点变化和键鼠操作转化为出牌逻辑

这三种方式的复杂程度显而易见

总的来说这套脚本代码除了盖主模式,其他并无多大实际作用,纯个人娱乐

之前写来是8人局三开,主忠反挂机,剩5个AI,3反打2忠内,反胜获得经验

这是一个并不算好的刷经验方法,但能凑合。要论实际效率,自然不如盖主刷反简单高效。

后来给挂机的反加入了自动出牌逻辑,算做0.5个AI,勉强可再挂机一反,2.5反打2忠内,也基本反胜

但由于加入了复杂的判断逻辑,鼠标的点击操作也频繁起来,使得本就容易崩的客户端程序能正常运行的时间更短了

另外就是挂机时自动回复消息这个脚本,更加只是为了娱乐

之前用它调戏过某社区小伙伴

他一度怀疑我被盗号

其实我一直有看着他和我写的弱智小助手“对话”,假装不在,偷着乐

其他脚本倒是用得着的

对于有好些小号的我来说,招募活动期间自动签到和祈福白漂倒是省事不少

其他时候拿来做做师徒小号的任务和刷刷经验

脚本会操作键盘和鼠标,所以只能在电脑闲着或者不需要操作的时候(比如看剧)用一用

近期不打算再写其他用途的脚本,不过也算是给枯燥无味的三国杀找到了新的乐趣

以后没准会写个特定武将的出牌脚本,精细化逻辑,放出去和小杀一起玩,或者跑到新手场调戏萌新









回复

使用道具 举报

1万

积分

1702

人气

353

粮饷

Lv.11

Rank: 11Rank: 11Rank: 11Rank: 11

来自 2#
 楼主| 发表于 2020-7-9 18:44:36 | 只看该作者






特此声明一下






我并没有分享此代码的打算,至少目前没有,主要原因还是不希望给自己找麻烦。

一来,懂得人自然懂,不懂的人总会觉得这些脚本是影响游戏平衡的外挂,我并不想对此作过多的解释,也不想为此被纠缠。分享代码或多或少会带来这方面的问题;

二来,我写的这些脚本一些是为了实际便捷,一些单纯个人消遣,以后或许还会写更多其他的。考虑到代码的复用性,对部分代码进行了封装,主要就是命令库部分了。要分享某个脚本,就得附带这些命令库文件。另外,还有些地方为了自己便捷,也做的不是很好直接去分享给他人使用。为此去把所需部分单拎出来,删减、修改,必然也是一番操作,虽谈不上不繁琐亦非我所愿。如果什么都不做,囫囵个分享出去,更不是我愿意看到的。如果有写代码经验的人,应该能够明白。分享代码,自然希望把最好的一面呈现给别人,既不希望班门弄斧,也不希望贻误他人。而我没有从开始就带着分享的考虑去写代码,也不打算后续在此投入时间和精力去整理和维护。本来就只是为了便捷和娱乐才至于此。

三来,个人认为按键精灵的脚本还是很脆弱的,毕竟是围绕键鼠和设备屏中的像素点坐标和颜色数据来运行的,很多因素都会导致脚本无法顺利运行。举个例子,我这些脚本是依托于三国杀桌面版客户端,采集的标记点数据,就坐标数据而言,自然是同样使用桌面版客户端的其他人也适用;但颜色数据就跟设备息息相关了,而这些恰恰是极为关键的逻辑判断依据,如果某一处出问题,脚本程序可能直接瘫痪。我并不能保证其他人拿到我的代码就能够一切顺利。至于是我额外再写一个详细的使用教程,还是他们遇到问题再来与我探讨,亦或是他们自行解决,对我来说都是负担,不是身体上的,就是精神上的。如果是给到没有任何编程基础的人,这类麻烦会更加的明显。

最后,我想说,我和社区那些乐于分享的技术大佬不同,我只是个喜欢自娱自乐,图清静自在的社区萌新。那些希望我分享代码的社区小伙伴,如果真的对此感兴趣,不妨自己亲自去了解一下,我所展示的这些真的就只是非常简单、浅薄的东西;如果只是希望作为一个便捷小工具用一用,按键精灵软件提供的录制功能已经可以很方便的满足需求了。如果是与我有着同样兴趣的小伙伴,我倒是乐于和你们探讨一二,一如我喜欢和社区小伙伴交流任何我感兴趣的话题一样。




  • 欧足总 :它要就是三国杀那确实不影响平衡。问题是它是凉企的三国杀。公布刷法只会增加刷的难度。自从社区开始讨论脚本,签到的多多和100元宝会员没了,哈哈。真是要谢谢地老天荒这位玩家。
    2020-7-10 13:46 
  • cst :回复大内奸:见仁见智吧,问心无愧就行
    2020-7-9 23:11 
  • 大内奸 :也对,可能会有不必要的麻烦,一来说社区做好还是不要发这类灰度资源。二来可能会影响到淘宝某些工作室的利益
    2020-7-9 21:34 
  • 我也说一句

  • 支持 反对

    使用道具 举报

    2万

    积分

    3510

    人气

    1291

    粮饷

    Lv.12

    Rank: 12Rank: 12Rank: 12

    舞态生风巧笑嫣然韬略志坚珠纱遮面剑眉星目心悦君兮坚持不懈持之以恒日久弥坚荐言献策犯言直谏制霸天梯结伴而行翩翩儒生上网的曹丕小权行舟步步带水

    逐鹿枭雄
    发表于 2020-7-9 01:56:40 | 只看该作者
    大佬tql
    • cst :大佬过奖了
      2020-7-9 18:57 
  • 我也说一句

  • 支持 反对

    使用道具 举报

    2608

    积分

    1425

    人气

    851

    粮饷

    Lv.6

    Rank: 6Rank: 6

    4#
    发表于 2020-7-9 01:57:51 | 只看该作者
    大佬分享吗?
    • cst :目前没有此打算,原因见置顶层
      2020-7-9 18:57 
  • 我也说一句

  • 支持 反对

    使用道具 举报

    3万

    积分

    8165

    人气

    1160

    粮饷

    Lv.13

    Rank: 13Rank: 13Rank: 13Rank: 13

    5#
    发表于 2020-7-9 02:01:18 | 只看该作者
    大佬厉害
    • cst :大佬过奖了
      2020-7-9 18:58 
  • 我也说一句

  • 支持 反对

    使用道具 举报

    4万

    积分

    1万

    人气

    1万

    粮饷

    Lv.13

    Rank: 13Rank: 13Rank: 13Rank: 13

    舞态生风巧笑嫣然韬略志坚珠纱遮面剑眉星目心悦君兮恭贺新禧招财进宝萌萌貂蝉

    6#
    发表于 2020-7-9 02:14:41 | 只看该作者
    本帖最后由 侵略如火—— 于 2020-7-9 02:17 编辑

    厉害厉害,我从实名认证新手教程自动签到到刷盖主,算了算不计算空行一共也才500行码,相同函数也没封装进命令库。。

    之前试用过一个很强的脚本,真的能够实现很完善的自动出牌功能,可能就得考虑破解加密协议了?对此一窍不通,不知大佬能否指点一二。

    最近对写码兴趣寥寥,因为转为h5后很多标记点数据会发生改变,感觉除了逻辑相同外,和推倒重来没什么区别,不知道大佬有没有想过相关解决方案。

    之前有其他大佬推荐ahk,可能会比按键精灵相对节约资源,我自己因此都只做固定点取色,不敢做区域找色,感觉会太耗内存。

    没做过身份判断,只是猜想,有没有可能通过游戏内右键保存牌局记录,然后对记录分析直接获取身份,可能反而会比楼主的方法更效率,但是文本处理这部分按键精灵应该做不来,我之前甚至想用python尝试一下,而且python也有对应的键鼠操作库函数,不过还是因为h5作罢。

    如果真转为h5,能打开控制台的话很多问题就迎刃而解了吧,直接分析页面资源要比按键精灵快很多,但是从新服来看控制台封锁至今不知道怎么绕过,对我这种技术渣可能也只能依靠按键精灵了。


    PS.看剧的时候怎么同时运行按键精灵+桌面版啊?这些也能放在后台不显示吗?我都是直接、两台电脑。。
    • 侵略如火—— :回复cst: 哦哦明白,我之前没这么做主要觉同时的话鼠标乱点会很烦就没这么搞,但确实是个好方法,谢谢!!
      2020-7-9 20:10 
    • 侵略如火—— :回复cst: 又看了一遍明白了,根据响应的牌判断身份确实比文本处理简单不少,而且可以在按键精灵内部完成,谢谢指点!
      2020-7-9 20:09 
    • 侵略如火—— :回复cst: 嗯嗯那个脚本已经封装成了exe,应该就需要破解后台代码,感觉确实越界了。那你的封装确实也挺完善了,我嫌麻烦一直没做命令库=_=就是觉得到时重新测量数据工作量也不小
      2020-7-9 20:07 
    • cst :看剧的时候,只要两者都不全屏就互不影响,只需要将桌面版客户端那块区域(某些功能甚至不需要整块区域)空出来就好了啊
      2020-7-9 19:14 
    • cst :对我来说,分析游戏记录来判断身份可能比我目前采取的做法更加复杂,一来是逻辑方面的问题,二来是代码实现的问题
      2020-7-9 19:11 
  • 我也说一句

  • 支持 反对

    使用道具 举报

    1720

    积分

    696

    人气

    83

    粮饷

    Lv.6

    Rank: 6Rank: 6

    六韬之略

    7#
    发表于 2020-7-9 02:23:15 | 只看该作者
    牛皮
    • cst :大佬过奖了
      2020-7-9 19:14 
  • 我也说一句

  • 坐看世间风起云涌品读人生跌宕起伏
    支持 反对

    使用道具 举报

    9404

    积分

    3490

    人气

    1124

    粮饷

    Lv.11

    Rank: 11Rank: 11Rank: 11Rank: 11

    8#
    发表于 2020-7-9 02:24:11 | 只看该作者
    大佬真强啊
    • cst :大佬过奖了
      2020-7-9 19:15 
  • 我也说一句

  • 支持 反对

    使用道具 举报

    3万

    积分

    3620

    人气

    2万

    粮饷

    「版主」

    小胡桃

    Rank: 16Rank: 16Rank: 16Rank: 16

    舞态生风巧笑嫣然韬略志坚珠纱遮面剑眉星目心悦君兮六韬之略七步成章八斗高才凤引九雏空城绝唱大都督夏日孙策夏日大乔先谢郭嘉单身陆逊为人民服务制霸天梯一代枭雄结伴而行无尽的巅峰翩翩儒生上网的曹丕花笑初妍小权行舟

    9#
    发表于 2020-7-9 02:27:23 | 只看该作者
    大佬太强了
    • cst :大佬过奖了
      2020-7-9 19:15 
  • 我也说一句


  • 信任与爱就是我对你永远的态度。
    支持 反对

    使用道具 举报

    7240

    积分

    1715

    人气

    85

    粮饷

    Lv.8

    Rank: 8Rank: 8

    10#
    发表于 2020-7-9 02:27:48 | 只看该作者
    好长

    居中好评
    • cst :谢谢大佬
      2020-7-9 19:15 
  • 我也说一句

  • 支持 反对

    使用道具 举报

    2万

    积分

    1113

    人气

    839

    粮饷

    Lv.12

    Rank: 12Rank: 12Rank: 12

    舞态生风巧笑嫣然珠纱遮面心悦君兮制霸天梯

    11#
    发表于 2020-7-9 08:01:37 | 只看该作者
    大佬强啊
    • cst :大佬过奖了
      2020-7-9 19:16 
  • 我也说一句

  • 支持 反对

    使用道具 举报

    1234
    返回列表 发新帖
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则