崩坏3rd逆熵小说成就脚本,10秒全成就

瞎写 专栏收录该内容
12 篇文章 0 订阅

这里写图片描述

首先感谢@povsister大佬写的脚本,技术宅拯救世界,我只是在github上偶然看到了这个脚本,忍不住想安利给更多人。我是搬运工,大佬永远是大佬。

下面来介绍这个脚本的用法,实际非常简单….几句话就说完了。

首先第一步,进入网址:https://github.com/povsister/bh3_antiEntropy,点击界面右上角的“star”。

如果你没有github账号,就注册一个再点。

点好了没?

好了吗?

真的?
.
.
.
.
.
.
.
.
.
.
骗你的,这一步是不需要的,相信用过github的程序猿都懂2333。
这个脚本目前只有8个star(包括我),确实是有点少,希望各位路过的看官都能去点个star。

下面才是真实的第一步,首先从崩坏3游戏内进入逆熵视觉小说界面,然后断网(流量和wifi一个不留全关了),点击界面右上角的刷新。

这时候就会跳转出一个无法加载网页的界面,并且附带有一个链接,复制这个链接,从电脑浏览器里打开。

是的,必须是一台pc。

打开之后,进入逆浏览器的控制台界面,大部分浏览器都有开发者模式,请自行百度你的浏览器进入控制台的方式。

这里以chrome浏览器为例,在逆熵界面按下f12即可进入控制台,如果你的f12集成了功能键,请按fn+f12。

之后,复制大佬的脚本:

//8.21日:我把代码删了,请往下拉看更新,情况有变

把这些黏贴到控制台里,按回车,就会出现上面那张图上的场景。

最后等待控制台里文字停止滚动,就可以上游戏收水晶啦!
这里写图片描述

最后说一句,逆熵小说的文案极好,创作者没有强大的文理功底是没有办法写出如此具有文化内涵并且贴合科学家设定的对话的。除了成就烦了一点(注释可能有一点炫技的嫌疑,当然更可能就是给你制造麻烦吧2333),值得一读。

再次感谢大佬,别忘了去上星。

8.21更新:
有点意思….这篇的点击涨的这么快。估计是太多人用脚本了,今天帮别人刷的时候发现米忽悠启动了防脚本机制,短时间内请求过多会屏蔽ip并且更换鉴权hash(具体表现就是脚本运行之后页面提示未检测到游戏id,这就是因为鉴权hash更改了)。

那没办法…..我去修改一下脚本好了。

8.21晚更新:
卧槽,拿自己的链接做实验,结果连游戏内的视觉小说都进不去了,不知道明天会不会好,由于我现在没办法测试了(有没有刷完了成就的原意贡献一下链接配合测试?反正刷完了的玩儿坏了也没事QWQ)。这么危险,感觉药丸啊,赶紧把上面的代码删了,如果各位一定要用脚本刷,给出一个暂时安全的解决方案吧,我没链接了也测试不了,只能暴力来,下面三段代码分三段输入,每段输入前间隔一段时间(越久越好.jpg):

function my_post_achievement(str_ach, now_galgame, now_scene){
    var ajax_answer = null;
    var ajax_async = false;
    $.ajax({
        type:"POST",
        url:"./utils/achievement.php" + achievementQueryString,
        dataType:"json",
        data:{achievement:str_ach,
            chapter:now_galgame,
            scene:now_scene},
        async:ajax_async,
        success:function(result) {
            console.log("章节"+now_galgame+"场景"+now_scene+". 状态:"+result.msg+"\n code:"+result.achievement);
        },
        error:function(XMLHttpRequest, textStatus, errorThrown){
            console.log(XMLHttpRequest);
            console.log(textStatus);
            console.log(errorThrown);
        } 
        });
    return ajax_answer;
}

function loadXmlFile(xmlFile)
{   
    var xmlDom = null;
    if (window.ActiveXObject)
    {
        xmlDom = new ActiveXObject("Microsoft.XMLDOM");
        xmlDom.async="false";
        xmlDom.load(xmlFile);
    }
    else if(document.implementation && document.implementation.createDocument)
    {
        var xmlhttp = new window.XMLHttpRequest();
        xmlhttp.open("GET", xmlFile, false);
        xmlhttp.send(null);
        xmlDom = xmlhttp.responseXML;
    }
    else
    {
        xmlDom = null;

    }
    return xmlDom;
}

function galgame(name){
    let i,j;
    let now_galgame  = Number(name);
    let xmlDoc = loadXmlFile("./lang_CN/xml/ch"+name+".xml?sid="+Math.random());

    let sceneList0 = [];
    sceneList0 = xmlDoc.getElementsByTagName('scene');    
    let sceneList = new Array();    
    for(i = 0;sceneList0[i] != null;i++){
        j = sceneList0[i].getAttribute("id");
        sceneList[Number(j)] = sceneList0[i];
        sceneList0[i] = null;
    }       
    pa(sceneList, now_galgame)
}

function post_achievement_in_event(eventNode, now_galgame, now_scene){
    if(eventNode.getAttribute("post")){
        my_post_achievement(eventNode.getAttribute("post"), now_galgame, now_scene);
    }   
}

function systemAutoSave(now_galgame, now_scene){
    setCookie(now_galgame_tag, now_galgame);
    setCookie(now_scene_tag, now_scene);
}

function pa(sceneList, now_galgame) {
    for (sceneIndex = 0; sceneIndex < sceneList.length; sceneIndex++) {
        if (sceneList[sceneIndex]) {
            let thisScene = sceneList[sceneIndex];
            let now_scene = sceneIndex;
            for (i = 0; i < thisScene.childNodes.length; i++) {
                let thisEvent = thisScene.childNodes[i];
                systemAutoSave(now_galgame, now_scene);
                if (thisEvent.nodeName == "remark") {
                    post_achievement_in_event(thisEvent, now_galgame, now_scene);
                }
                let thisTag = thisEvent.tagName;
                if (thisTag == "end" || thisTag == "speak" || thisTag == "text") {
                    post_achievement_in_event(thisEvent, now_galgame, now_scene);
                }
            }
        }
    }
}

for (let i = 1; i <= 9; i++) {
    galgame(i);
}
function my_post_achievement(str_ach, now_galgame, now_scene){
    var ajax_answer = null;
    var ajax_async = false;
    $.ajax({
        type:"POST",
        url:"./utils/achievement.php" + achievementQueryString,
        dataType:"json",
        data:{achievement:str_ach,
            chapter:now_galgame,
            scene:now_scene},
        async:ajax_async,
        success:function(result) {
            console.log("章节"+now_galgame+"场景"+now_scene+". 状态:"+result.msg+"\n code:"+result.achievement);
        },
        error:function(XMLHttpRequest, textStatus, errorThrown){
            console.log(XMLHttpRequest);
            console.log(textStatus);
            console.log(errorThrown);
        } 
        });
    return ajax_answer;
}

function loadXmlFile(xmlFile)
{   
    var xmlDom = null;
    if (window.ActiveXObject)
    {
        xmlDom = new ActiveXObject("Microsoft.XMLDOM");
        xmlDom.async="false";
        xmlDom.load(xmlFile);
    }
    else if(document.implementation && document.implementation.createDocument)
    {
        var xmlhttp = new window.XMLHttpRequest();
        xmlhttp.open("GET", xmlFile, false);
        xmlhttp.send(null);
        xmlDom = xmlhttp.responseXML;
    }
    else
    {
        xmlDom = null;

    }
    return xmlDom;
}

function galgame(name){
    let i,j;
    let now_galgame  = Number(name);
    let xmlDoc = loadXmlFile("./lang_CN/xml/ch"+name+".xml?sid="+Math.random());

    let sceneList0 = [];
    sceneList0 = xmlDoc.getElementsByTagName('scene');    
    let sceneList = new Array();    
    for(i = 0;sceneList0[i] != null;i++){
        j = sceneList0[i].getAttribute("id");
        sceneList[Number(j)] = sceneList0[i];
        sceneList0[i] = null;
    }       
    pa(sceneList, now_galgame)
}

function post_achievement_in_event(eventNode, now_galgame, now_scene){
    if(eventNode.getAttribute("post")){
        my_post_achievement(eventNode.getAttribute("post"), now_galgame, now_scene);
    }   
}

function systemAutoSave(now_galgame, now_scene){
    setCookie(now_galgame_tag, now_galgame);
    setCookie(now_scene_tag, now_scene);
}

function pa(sceneList, now_galgame) {
    for (sceneIndex = 0; sceneIndex < sceneList.length; sceneIndex++) {
        if (sceneList[sceneIndex]) {
            let thisScene = sceneList[sceneIndex];
            let now_scene = sceneIndex;
            for (i = 0; i < thisScene.childNodes.length; i++) {
                let thisEvent = thisScene.childNodes[i];
                systemAutoSave(now_galgame, now_scene);
                if (thisEvent.nodeName == "remark") {
                    post_achievement_in_event(thisEvent, now_galgame, now_scene);
                }
                let thisTag = thisEvent.tagName;
                if (thisTag == "end" || thisTag == "speak" || thisTag == "text") {
                    post_achievement_in_event(thisEvent, now_galgame, now_scene);
                }
            }
        }
    }
}

for (let i = 10; i <= 15; i++) {
    galgame(i);
}
function my_post_achievement(str_ach, now_galgame, now_scene){
    var ajax_answer = null;
    var ajax_async = false;
    $.ajax({
        type:"POST",
        url:"./utils/achievement.php" + achievementQueryString,
        dataType:"json",
        data:{achievement:str_ach,
            chapter:now_galgame,
            scene:now_scene},
        async:ajax_async,
        success:function(result) {
            console.log("章节"+now_galgame+"场景"+now_scene+". 状态:"+result.msg+"\n code:"+result.achievement);
        },
        error:function(XMLHttpRequest, textStatus, errorThrown){
            console.log(XMLHttpRequest);
            console.log(textStatus);
            console.log(errorThrown);
        } 
        });
    return ajax_answer;
}

function loadXmlFile(xmlFile)
{   
    var xmlDom = null;
    if (window.ActiveXObject)
    {
        xmlDom = new ActiveXObject("Microsoft.XMLDOM");
        xmlDom.async="false";
        xmlDom.load(xmlFile);
    }
    else if(document.implementation && document.implementation.createDocument)
    {
        var xmlhttp = new window.XMLHttpRequest();
        xmlhttp.open("GET", xmlFile, false);
        xmlhttp.send(null);
        xmlDom = xmlhttp.responseXML;
    }
    else
    {
        xmlDom = null;

    }
    return xmlDom;
}

function galgame(name){
    let i,j;
    let now_galgame  = Number(name);
    let xmlDoc = loadXmlFile("./lang_CN/xml/ch"+name+".xml?sid="+Math.random());

    let sceneList0 = [];
    sceneList0 = xmlDoc.getElementsByTagName('scene');    
    let sceneList = new Array();    
    for(i = 0;sceneList0[i] != null;i++){
        j = sceneList0[i].getAttribute("id");
        sceneList[Number(j)] = sceneList0[i];
        sceneList0[i] = null;
    }       
    pa(sceneList, now_galgame)
}

function post_achievement_in_event(eventNode, now_galgame, now_scene){
    if(eventNode.getAttribute("post")){
        my_post_achievement(eventNode.getAttribute("post"), now_galgame, now_scene);
    }   
}

function systemAutoSave(now_galgame, now_scene){
    setCookie(now_galgame_tag, now_galgame);
    setCookie(now_scene_tag, now_scene);
}

function pa(sceneList, now_galgame) {
    for (sceneIndex = 0; sceneIndex < sceneList.length; sceneIndex++) {
        if (sceneList[sceneIndex]) {
            let thisScene = sceneList[sceneIndex];
            let now_scene = sceneIndex;
            for (i = 0; i < thisScene.childNodes.length; i++) {
                let thisEvent = thisScene.childNodes[i];
                systemAutoSave(now_galgame, now_scene);
                if (thisEvent.nodeName == "remark") {
                    post_achievement_in_event(thisEvent, now_galgame, now_scene);
                }
                let thisTag = thisEvent.tagName;
                if (thisTag == "end" || thisTag == "speak" || thisTag == "text") {
                    post_achievement_in_event(thisEvent, now_galgame, now_scene);
                }
            }
        }
    }
}

for (let i = 16; i <= 26; i++) {
    galgame(i);
}

一小时后又更新:

我的链接活了,看来米忽悠没有做绝。再次测试之后发现一次性发请求16章以下都是安全的….

8.22更新:
实测分段间隔一段时间输入记录成功,上面的代码有效,是安全的。

8.23更新:

脚本无关内容,夸一下米忽悠的文案。

这里写图片描述

徽章的描述,出自安妮·赖特的《夜访吸血鬼》。

这里写图片描述

餐厅的描述,出自拜伦的《热夜之梦》

高度怀疑这期活动和逆熵小说出自同一批人手上。

早上还见到贴吧婊起了这个文案…..这操作有点令人窒息

  • 7
    点赞
  • 6
    评论
  • 8
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

文件为doc版,可自行转成txt,在手机上看挺好的。 本资源来自网络,如有纰漏还请告知,如觉得还不错,请留言告知后来人,谢谢!!!!! 入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。 ◆ 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last; ◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln; ◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab; ◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup; ◆ 系统安相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who; ◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。 本文以Mandrake Linux 9.1(Kenrel 2.4.21)为例,介绍Linux下的安装和登录命令。 immortality按:请用ctrl+f在本页中查找某一部分的内容或某一命令的用法。 -------------------------------------------------------------------------------- Linux必学的60个命令(1)-安装与登陆命令 login 1.作用 login的作用是登录系统,它的使用权限是所有用户。 2.格式 login [name][-p ][-h 主机名称] 3.主要参数 -p:通知login保持现在的环境参数。 -h:用来向远程登录的之间传输用户名。 如果选择用命令行模式登录Linux的话,那么看到的第一个Linux命令就是login:。 一般界面是这样的: Manddrake Linux release 9.1(Bamboo) for i586 renrel 2.4.21-0.13mdk on i686 / tty1 localhost login:root password: 上面代码中,第一行是Linux发行版本号,第二行是内核版本号和登录的虚拟控制台,我们在第三行输入登录名,按“Enter&rdquo;键在Password后输入账户密码,即可登录系统。出于安考虑,输入账户密码时字符不会在屏幕上回显,光标也不移动。 登录后会看到下面这个界面(以超级用户为例): [root@localhost root]# last login:Tue ,Nov 18 10:00:55 on vc/1 上面显示的是登录星期、月、日、时间和使用的虚拟控制台。 4.应用技巧 Linux 是一个真正的多用户操作系统,可以同时接受多个用户登录,还允许一个用户进行多次登录。这是因为Linux和许多版本的Unix一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台(系统的控制台是与系统直接相连的监视器和键盘)进行多次登录。每个虚拟控制台可以看作是一个独立的工作站,工作台之间可以切换。虚拟控制台的切换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6 。 例如,用户登录后,按一下“Alt+ F2&rdquo;键,用户就可以看到上面出现的“login:&rdquo;提示符,说明用户看到了第二个虚拟控制台。然后只需按“Alt+ F1&rdquo;键,就可以回到第一个虚拟控制台。一个新安装的Linux系统允许用户使用“Alt+F1&rdquo;到“Alt+F6&rdquo;键来访问前六个虚拟控制台。虚拟控制台最有用的是,当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作,关闭这个程序。 shutdown 1.作用 shutdown命令的作用是关闭计算机,它的使用权限是超级用户。 2.格式 shutdown [-h][-i][-k][-m][-t] 3.重要参数 -t:在改变到其它运行级别之前,
©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值