GameMale
登陆 / 注册 搜索

USERCENTER

SEARCHSITE

搜索

查看: 1242|回复: 53
收起左侧

[功能优化] 【油猴脚本】追随神器 一键三连评分按钮 (测试版)

    [复制链接] |关注本帖

SCP-s-1889-第二页『随时随地开启!』无尽的怀表『随时随地开启!』被释放的灵魂我已倾听,我已感受,我已思考十字叶章Futūrum(未来)可怖的眼球男巫之歌

     楼主| 星之子 发表于 2024-9-14 11:23:28 | 显示全部楼层 |阅读模式 |取消关注该作者的回复
    本帖最后由 星之子 于 2024-9-14 16:50 编辑
    动机
    写这个脚本,动机依然是解决我自己的痛点(笑鼠)。
    我觉得泥潭追随不好攒的很大原因,就是评分这东西实在太费事儿了,以至于大家都不太想点(doge)。无论是用那个文本框输入、还是用下拉箭头点选,都是要用鼠标点好多下或键盘按好多下(2)。
    所以这里就稍微花了点时间写了一个略显复杂的脚本。脚本会在原来的一排按钮上方新增一排,可以预先设置好想要给出的评分和理由(这部分非常简单,下方会详述);之后只要点一下,就可以快速soon出评分(暗示);如果今日剩余已经不足按钮要求,则默认剩多少给出多少。
    希望这东西泥潭人手一个,这样追随就更容易给出去了。
    目前还在测试阶段,欢迎并感谢反馈BUG~

    代码

    @Name @Match 如果不@他一下,下面的代码部分会被自动标url,好胃疼。

    1. // ==UserScript==
    2. // @name        泥潭一键评分
    3. // @namespace    http://tampermonkey.net/
    4. // @version      0.5
    5. // @description  在评分下方添加一键评分功能,可以自行设置按钮名称、对应分值和理由。
    6. // @author       Étoiles
    7. // @match        https://www.gamemale.com/forum.php?mod=viewthread&tid=*
    8. // @match        https://www.gamemale.com/forum.php?*
    9. // @match        https://www.gamemale.com/thread*
    10. // @grant        none
    11. // ==/UserScript==

    12. (function () {
    13.     'use strict';

    14.     // 在页面加载时添加按钮
    15.     window.addEventListener('load', function () {
    16.         var pBtnDiv = document.getElementById('p_btn');
    17.         if (pBtnDiv) {
    18.             // 添加新容器
    19.             var newContainer = document.createElement('div');
    20.             newContainer.id = 'new_button_container';
    21.             newContainer.style.marginTop = '30px';
    22.             newContainer.style.textAlign = 'center'; // 添加这一行使按钮居中显示
    23.             newContainer.style.marginBottom = '20px'; // 添加这一行在容器下方留出空间

    24.             // 新容器添加到 #p_btn 上方
    25.             pBtnDiv.parentNode.insertBefore(newContainer, pBtnDiv);

    26.             // 添加按钮
    27.             addButton(newContainer, '超赞', [5, 1, 1], '评分理由A');
    28.             addButton(newContainer, '很棒', [3, 1, 1], '评分理由B');
    29.             addButton(newContainer, '喜欢', [1, 1, 1], '评分理由C');
    30.             // addButton(newContainer, '按钮名称', [血液, 追随, 堕落], '评分原因');
    31.         }
    32.     });

    33.     // 添加新按钮
    34.     function addButton(container, label, scores, reason) {
    35.         var newButton = document.createElement('button');
    36.         newButton.innerHTML = label;
    37.         newButton.style.marginLeft = '10px';
    38.         newButton.className = 'custom-button';
    39.         newButton.onclick = function () {
    40.             ratePost(scores, reason);
    41.         };
    42.         container.appendChild(newButton);
    43.     }

    44.     // 评分
    45.     function ratePost(scores, reasonText) {
    46.         // 打开评分窗口
    47.         var rateButton = document.getElementById('ak_rate');
    48.         if (rateButton) {
    49.             rateButton.click();
    50.         }

    51.         // 等待窗口加载
    52.         var interval = setInterval(function () {
    53.             var score3 = document.getElementById('score3');
    54.             var score4 = document.getElementById('score4');
    55.             var score8 = document.getElementById('score8');
    56.             var reason = document.getElementById('reason');
    57.             if (score3 && score4 && score8 && reason) {
    58.                 clearInterval(interval);

    59.                 // 填入文本框
    60.                 score3.value = Math.min(scores[0], parseInt(score3.nextElementSibling.nextElementSibling.innerText));
    61.                 score4.value = Math.min(scores[1], parseInt(score4.nextElementSibling.nextElementSibling.innerText));
    62.                 score8.value = Math.min(scores[2], parseInt(score8.nextElementSibling.nextElementSibling.innerText));
    63.                 reason.value = reasonText;

    64.                 // 点按提交
    65.                 var submitButton = document.querySelector('button[name="ratesubmit"]');
    66.                 if (submitButton) {
    67.                     submitButton.click();
    68.                 }
    69.             }
    70.         }, 100);
    71.     }

    72.     // 为了长得好看还特意整了点花里胡哨的按钮样式
    73.     var style = document.createElement('style');
    74.     style.innerHTML = `
    75.         .custom-button {
    76.             background-color: #f0f0f0;
    77.             margin: 0px 15px !important;
    78.             border: 0;
    79.             color: #242424;
    80.             border-radius: 0.5em;
    81.             font-size: 20px;
    82.             padding: 0.375em 1em;
    83.             font-weight: 600;
    84.             text-shadow: 0 0.0625em 0 #fff;
    85.             box-shadow: inset 0 0.0625em 0 0 #f4f4f4, 0 0.0625em 0 0 #efefef,
    86.                 0 0.125em 0 0 #ececec, 0 0.25em 0 0 #e0e0e0, 0 0.3125em 0 0 #dedede,
    87.                 0 0.375em 0 0 #dcdcdc, 0 0.425em 0 0 #cacaca, 0 0.425em 0.5em 0 #cecece;
    88.             transition: 0.15s ease;
    89.             cursor: pointer;
    90.         }
    91.         .custom-button:active {
    92.             translate: 0 0.225em;
    93.             box-shadow: inset 0 0.03em 0 0 #f4f4f4, 0 0.03em 0 0 #efefef,
    94.                 0 0.0625em 0 0 #ececec, 0 0.125em 0 0 #e0e0e0, 0 0.125em 0 0 #dedede,
    95.                 0 0.2em 0 0 #dcdcdc, 0 0.225em 0 0 #cacaca, 0 0.225em 0.375em 0 #cecece;
    96.         }
    97.     `;
    98.     document.head.appendChild(style);
    99. })();
    复制代码

    其中预先设置好按钮的代码是这一部分:
    1.             addButton(newContainer, '超赞', [5, 1, 1], '评分理由A');
    2.             addButton(newContainer, '很棒', [3, 1, 1], '评分理由B');
    3.             addButton(newContainer, '喜欢', [1, 1, 1], '评分理由C');
    4.             // addButton(newContainer, '按钮名称', [血液, 追随, 堕落], '评分原因');
    复制代码
    5-1-1、3-1-1、1-1-1是我个人比较常用的,这里都可以自定义。
    请在使用前预先设置,尤其




    来自群组: 星象占卜

    本帖子中包含更多资源

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

    x

    评分

    参与人数 25血液 +51 追随 +25 堕落 +15 收起 理由
    starqcat + 1 很给力!
    前方无怪 + 5 + 1 + 1 评分理由A
    KUMA封岚 + 1 + 1
    469MAPabu + 1
    枫_Age + 1 + 1
    you9632587 + 5 + 1
    li漠北 + 2 + 1 被脚本控制一键三连了
    书の妖怪 + 1 很给力!
    把它炸成沫沫 + 5 + 1 + 1 赞一个!
    PURO_ + 1 666

    查看全部评分

    回复

    使用道具 举报

    我的冶金打火机『逆境中的幸运女神』羽毛笔官复原职虚空之海的鲸炽天使之拥劫掠核芯Futūrum(未来)丹妮莉丝·坦格利安狩猎用小刀

      XLK 发表于 2024-9-14 11:31:03 | 显示全部楼层 |取消关注该作者的回复
      回复

      使用道具 举报

      猩红魔鹫裸体克里斯黄金树的恩惠极·龙の意不朽之恋夏日柯基我的天使纯真护剑『梦旅存根』

        回复

        使用道具 举报

        虚空之海的鲸BIG BOSS千里潋滟双贤辉石头罩不洁圣子古老金币日荒戒指森林鹿黄金树的恩惠

          回复

          使用道具 举报

          不曾寄出的信件『随时随地开启!』漂洋小船『随时随地开启!』冒险用指南针破损的旧书丛林的鸟飞走了雪王的心脏人鱼之泪幽灵竹筒

            回复

            使用道具 举报

            魔法不朽·传奇不熄希尔瓦娜斯·风行者刀锋女王 - 归宿叶卡捷琳娜大帝虚空之海的鲸

              等级没有十级评分是没有5血液选项的 不过这个自己改一下就好了 另外我自己还加了一个专门为净化流朋友准备的选项

              评分

              参与人数 1血液 +3 追随 +1 收起 理由
              星之子 + 3 + 1 感谢糯米糍老师报BUG (脚本33行是不是[1, 1.

              查看全部评分

              回复

              使用道具 举报

              男巫之歌業火死鬥山村贞子月影狼

                回复

                使用道具 举报

                Drover.冒险专用绳索格拉迪欧拉斯金牌矿工索尔·奥丁森.『逆境中的幸运女神』骑兽之子岛田源氏杰西·麦克雷

                  回复

                  使用道具 举报

                  亚索月影狼晓月终焉旅行骰子!卡利亚权杖

                    不想给的人还是不会给吧,不过对管理应该会挺实用的,毕竟管理评分的时候必须要填写理由,有这个可以省事很多。
                    回复

                    使用道具 举报

                    火柴 - Gamemale萨菲罗斯炽天使之拥亚索诺克提斯·路西斯·伽拉姆官复原职璀璨之焰業火死鬥虚空之海的鲸

                      回复

                      使用道具 举报

                      百相千面-晦永远的克叔業火死鬥实现梦想官复原职虚空之海的鲸Zootopia幸运女神的微笑『逆境中的幸运女神』御医神兔

                        其实我也想说,愿意给追随的就算麻烦也会给,一直不给的人也不会下载这个脚本,不过确实可以简化操作,很不错
                        回复

                        使用道具 举报

                        实现梦想性感男神GM人到中年卡洛斯·奥利维拉史莱姆牧场霍格沃兹魔法学校Forever Titanic官复原职

                          回复

                          使用道具 举报

                          男用贞操带最终幻想XIV森林羊男近地夜航最终幻想XVI

                            回复

                            使用道具 举报

                            飞天小糖果镜中小鸟香蕉特饮40x43 隐形➀香喷喷的烤鸡月影狼

                              回复

                              使用道具 举报

                              男巫之歌『私有海域』『钜鲸』『星河碎片』『召唤好运的角笛』『交钥匙了!』『矩阵谜钥Ⓖ』十周年扭蛋 - 红『落樱缤纷』红心玉

                                回复

                                使用道具 举报

                                阿怪『矩阵谜钥Ⓖ』『梦旅存根』『交钥匙了!』夏日柯基幸福的小阿尔GM吸血伯爵永远的克叔【夏日限定】夏日的泰凯斯

                                  回复

                                  使用道具 举报

                                  我的天使GM吸血伯爵吃饱金币的Doge阿拉喵?神灯和你一起飞行的皮卡丘小小舞台永浴爱河

                                    回复

                                    使用道具 举报

                                    诺克提斯·路西斯·伽拉姆石肤术神秘商店贵宾卡捡到了肥皂炼金之心收到情书没有梦想的咸鱼雷霆晶球『住在GM村』敖蜃星

                                      回复

                                      使用道具 举报

                                      丛林的鸟飞走了冒险专用绳索石鬼面嗜血斩首斧奥利维尼斯辉石头罩念念往日士官盔街头霸王

                                        回复

                                        使用道具 举报

                                        没有梦想的咸鱼SCP-s-1889-第二页内森·德雷克信仰之心我已倾听,我已感受,我已思考『伊黎丝的赞词』黄金之旅金牌矿工吃饱金币的Doge享受美食的小伯

                                          装上后,立马就在这个帖子里用了下,还挺好用的,不过貌似忘记改理由了
                                          回复

                                          使用道具 举报

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

                                          本版积分规则

                                          文字版|手机版|小黑屋|GameMale

                                          GMT+8, 2024-11-25 00:10 , Processed in 0.499793 second(s), 143 queries , Redis On.

                                          Copyright © 2013-2024 GameMale

                                          All Rights Reserved.

                                          快速回复 返回列表