GameMale
登陆 / 注册 搜索

USERCENTER

SEARCHSITE

搜索

查看: 1771|回复: 64
收起左侧

[功能优化] 【油猴脚本】关于我自己的一些魔改

    [复制链接] |关注本帖

SCP-s-1889-第二页缘起星空虚空之海的鲸裸体克里斯圣甲虫秘典『随时随地开启!』被释放的灵魂『随时随地开启!』无尽的怀表男巫之歌

     楼主| 星之子 发表于 2024-9-25 19:35:18 | 显示全部楼层 |阅读模式 |取消关注该作者的回复
    本帖最后由 星之子 于 2024-9-25 20:06 编辑
    我这个人向来是有点矫情的,一个东西用得稍微有点不舒服,都会想方设法的把它改得舒服。
    泥潭有许多大佬开发了许多强力好用的脚本,到我手之后多多少少会有一些画蛇添足的魔改,这里就连图带文的盘点一下我自己的一点儿小心思,也顺带推荐一下这些好用的脚本。

    贾斯特维补脑闹钟

    原帖地址:https://www.gamemale.com/thread-132451-1-1.html
    这里我魔改了:限时勋章的颜色,因为原来的颜色饱和度有点太高,对眼睛不大友好,于是采用了日本色研配色环的light+配色。
    涉及到的代码如下:
    1.     function changeBgColor( timeLeft, badgeName ){
    2.         var currentProgress = timeLeft/86400;
    3.         if( currentProgress < 1 ){
    4.             selectAndChange( badgeName, "#ff9b9a", "#ff9b9a");
    5.         }else if ( currentProgress < 2 ){
    6.             selectAndChange( badgeName, "#ffce84", "#ffce84");
    7.         }else if( currentProgress < 3 ){
    8.             selectAndChange( badgeName, "#ffee79", "#ffee79");
    9.         }else if( currentProgress < 14 ){
    10.             selectAndChange( badgeName, "#cff588", "#cff588");
    11.         }else{
    12.             selectAndChange( badgeName, "#9a99cd", "#9a99cd");
    13.         }
    14.         return 0;
    15.     }
    复制代码

    修改后的效果如下:


    勋章放大镜

    原帖地址:https://www.gamemale.com/thread-129944-1-1.html
    https://www.gamemale.com/thread-144254-1-1.html
    这里我魔改了:
    • 给旅程换了个图标、换了个颜色使之更符合直觉(原来是蓝色导致我总是和知识搞混)。
    • 微调了发帖和回帖颜色,眼睛看起来更舒服。
    • 将所有的属性权重设置为1让它只计算期望,并去掉了计算“合计收益”的部分代码。
    • 添加了键盘快捷键“`”(ESC下面 Tab上面) 用于切换是否显示,而不必点击右下角的开关。
    涉及到的代码如下:
    因为这里代码里涉及到了泥潭不支持的emoji,所以只能放个.txt在这儿:
    (为保证原帖收益,这里只保留了相关函数,去掉了最重要的映射表,请将此.txt与原帖结合使用)

    修改后的效果如下:


    防过度回帖~显示

    原帖地址:https://www.gamemale.com/thread-131737-1-1.html
    这里我魔改了:将左下角原本一行的长信息变为两行,这样就不会突出左侧边框。捎带手修改了下字体。
    涉及到的代码如下:
    1. function updateStatsDisplay() {
    2.         let latestReplyText = '';
    3.         if (oldestReplyTimestamp) {
    4.             const timeDifference = Math.round((new Date().getTime() - oldestReplyTimestamp.getTime()) / (1000 * 60));
    5.             const hours = Math.floor(timeDifference / 60);
    6.             const minutes = timeDifference % 60;
    7.             latestReplyText = `最远距今:${hours}时${minutes}分`;
    8.         }
    9.         statsContainer.innerHTML = `<span style="font-family: Noto Sans SC, Microsoft Yahei, Arial, sans-serif;">24小时回复:${twentyFourHourRepliesCount}<br>${latestReplyText}`;
    10.     }
    复制代码
    这里原来使用的是 \n 换行符。但在 JavaScript 中,使用 \n 换行符在 HTML 元素的 textContent 中不起作用,因为 textContent 会将所有内容作为纯文本处理,不会解析换行符。所以改为使用 innerHTML 并用 <br> 标签来代替 \n。

    修改后的效果如下:


    U狼の查房脚本

    原帖地址:https://www.gamemale.com/blog-714849-108554.html
    这里我魔改了:
    • 删除了菜单里的按钮改用纯快捷键Ctrl,看到花里胡哨的空间看不清字则一键还原。
    • 将两段重复代码整合成一个function:updateNav()。
    • 去掉了提示使得使用更丝滑,可以看浏览器标签页图标判断是否已经Ctrl过了。
    涉及到的代码如下:
    1. // ==/UserScript==

    2. (function() {
    3.     'use strict';
    4.     let spaceuid = document.getElementById('domainurl')?.search.substr(1);
    5.     if (!spaceuid) {
    6.         if (location.hash.startsWith('#pid') && location.search.startsWith('?mod=viewthread')) {
    7.             if (!document.getElementById(location.hash.substring(1))) {
    8.                 const url = new URL(window.location.href);
    9.                 let page = parseInt(url.searchParams.get('page'));
    10.                 if (page == document.querySelector('#pgt strong').textContent) {
    11.                     url.searchParams.set('page', page + 1);
    12.                     location.href = url;
    13.                 }
    14.             }
    15.         }
    16.         return;
    17.     }
    18.     let spacecss = document.getElementById('diy_style').innerHTML;
    19.     if (isBlocked()) {
    20.         document.getElementById('diy_style').innerHTML = '';
    21.         document.querySelector('link').href = 'template/mwt2/extend/img/lslogo.png';
    22.         updateNav()
    23.     }

    24.     function getBlockList() { return JSON.parse(localStorage.getItem('uSpaceBlocked') || '[]'); }
    25.     function setBlockList(list) { localStorage.setItem('uSpaceBlocked', JSON.stringify([...list])); }
    26.     function removecss() { document.getElementById('diy_style').innerHTML = ''; }
    27.     function addcss() { document.getElementById('diy_style').innerHTML = spacecss; }
    28.     function isBlocked() { return getBlockList().includes(spaceuid); }
    29.     function updateNav() {
    30.     document.getElementById('nv').innerHTML = `<ul>
    31.     <li><a style='color:inherit !important' href="/home.php?mod=space&uid=${spaceuid}&do=index">首页</a></li>
    32.     <li><a style='color:inherit !important' href="/home.php?mod=space&uid=${spaceuid}&do=home&view=me&from=space">动态</a></li>
    33.     <li><a style='color:inherit !important' href="/home.php?mod=space&uid=${spaceuid}&do=doing&view=me&from=space">记录</a></li>
    34.     <li><a style='color:inherit !important' href="/home.php?mod=space&uid=${spaceuid}&do=blog&view=me&from=space">日志</a></li>
    35.     <li><a style='color:inherit !important' href="/home.php?mod=space&uid=${spaceuid}&do=album&view=me&from=space">相册</a></li>
    36.     <li><a style='color:inherit !important' href="/home.php?mod=space&uid=${spaceuid}&do=thread&view=me&from=space">主题</a></li>
    37.     <li><a style='color:inherit !important' href="/home.php?mod=space&uid=${spaceuid}&do=wall">留言</a></li>
    38.     <li><a style='color:inherit !important' href="/home.php?mod=space&uid=${spaceuid}&do=profile">资料</a></li>
    39.     </ul>`;
    40.     document.getElementById('nv').style.visibility = 'initial';
    41.     document.getElementById('nv').style.display = 'initial';
    42.     }

    43.     function addToBlockList() {
    44.         let t = getBlockList();
    45.         t.push(spaceuid);
    46.         setBlockList(t);
    47.         removecss();
    48.         document.querySelector('link').href = 'template/mwt2/extend/img/lslogo.png';
    49.         updateNav()
    50.     }

    51.     function deleteFromBlockList() {
    52.         let t = new Set(getBlockList());
    53.         t.delete(spaceuid);
    54.         setBlockList(t);
    55.         addcss();
    56.         document.querySelector('link').href = 'template/mwt2/extend/img/favicon.ico';
    57.     }

    58.     let ctrlMark = false;
    59.     document.addEventListener('keydown', (e) => { ctrlMark = e.key === 'Control' });
    60.     document.addEventListener('keyup', (e) => {
    61.         if (e.key === 'Control' && ctrlMark) {
    62.             if (isBlocked()) deleteFromBlockList(); else addToBlockList();
    63.         }
    64.     });
    65. })();
    复制代码

    修改后的效果如下:


    GM论坛勋章百宝箱

    原帖地址:https://www.gamemale.com/thread-144608-1-1.html
    这里我魔改了:主要是按钮的样式,包括悬停和按下效果,让页面更花里胡哨一点儿。除了好看以外的实际作用约等于零。
    涉及到的代码如下:
    1.     // 创建一个新的div元素用于管理徽章
    2.     const badgeManagerDiv = document.createElement('div');
    3.     badgeManagerDiv.className = 'badge-manager';
    4.     badgeManagerDiv.innerHTML = '<div class="badge-manager-button"><div>';

    5.     const badgeOrderDiv = document.createElement('div');
    6.     badgeOrderDiv.className = 'badge-order';
    7.     // badgeOrderDiv.innerHTML = '正在计算您拥有的徽章类型和价值,请稍等。。。'

    8.     // 获取目标div并在其前面插入新创建的div
    9.     const targetDiv = document.querySelector('.my_fenlei');
    10.     targetDiv.parentNode.insertBefore(badgeManagerDiv, targetDiv);
    11.     badgeManagerDiv.appendChild(badgeOrderDiv)
    12.     // targetDiv.parentNode.insertBefore(badgeOrderDiv, badgeManagerDiv);

    13.     // 在这里添加您的自定义样式
    14.     const customStyles = `
    15.         .badge-manager {
    16.             background-color: transparent;
    17.             padding: 0px;
    18.             margin-top: 20px;
    19.             margin-bottom: 24px;
    20.             border: none;
    21.             color: #333;
    22.             text-align: center;
    23.         }

    24.         .custom-button {
    25.             background-color: transparent;
    26.             border: 0.125em solid #1A1A1A;
    27.             border-radius: 0.6em;
    28.             color: #3B3B3B;
    29.             font-size: 16px;
    30.             font-weight: 600;
    31.             margin: 0px 20px;
    32.             padding: 0.4em 1.2em;
    33.             text-align: center;
    34.             text-decoration: none;
    35.             transition: all 300ms cubic-bezier(.23, 1, 0.32, 1);
    36.         }

    37.         .custom-button:hover {
    38.             color: #fff;
    39.             background-color: #1A1A1A;
    40.             box-shadow: rgba(0, 0, 0, 0.25) 0 8px 15px;
    41.             transform: translateY(-2px);
    42.         }

    43.         .custom-button:active {
    44.             box-shadow: none;
    45.             transform: translateY(0);
    46.         }
    47.     `;
    复制代码

    修改后的效果如下:



    来自群组: 星象占卜

    本帖子中包含更多资源

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

    x

    评分

    参与人数 17血液 +49 追随 +17 堕落 +10 收起 理由
    Hadley0T + 5 + 1 + 1
    前方无怪 + 5 + 1 + 1 (♡⌂♡)
    you9632587 + 5 + 1
    饥渴难耐的G + 3 + 1 + 1
    ga2006024244 + 1 + 1 赞一个!
    李XX + 3 + 1
    2297988 + 3 + 1 + 1 很给力!
    zzy159 + 3 + 1 赞一个!
    不是卖萌的基佬 + 1 淡定
    亚洛斯 + 1 赞一个!

    查看全部评分

    回复

    使用道具 举报

    无瑕的回忆朴素的誓言BIG BOSS虚空之海的鲸雄躯的昇格爬行植物Ⓛ探险三杰士爬行植物Ⓡ

      回复

      使用道具 举报

      『正在入住GM村』朴素的誓言擎天柱(Peterbilt389)泰比里厄斯驯化黑龙幼崽大黄蜂(ChevroletCamaro)上古卷轴V:天际荒野大镖客:救赎 II

        回复

        使用道具 举报

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

          回复

          使用道具 举报

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

            本帖最后由 1287549 于 2024-9-25 19:54 编辑

            感觉第二个魔改的功能我最喜欢,太强了大佬
            回复

            使用道具 举报

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

              回复

              使用道具 举报

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

                回复

                使用道具 举报

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

                  那个修改颜色看起来很方便,可以更直接的看到哪个勋章快到期了,但是想问一下限时活动勋章管用么?
                  回复

                  使用道具 举报

                  雷夜嘯聲实现梦想官复原职内森·德雷克『伊黎丝的赞词』Forever Titanic不朽之恋未来的黎明【夏日限定】夏日的泰凯斯史莱姆牧场

                    scfy 发表于 2024-9-25 19:58:08 | 显示全部楼层 |取消关注该作者的回复
                    回复

                    使用道具 举报

                    无瑕的回忆幸运女神的微笑『逆境中的幸运女神』最终幻想XVI朴素的誓言『迷翳结晶:收集颗粒』『落樱缤纷』

                      回复

                      使用道具 举报

                      猩红魔鹫裸体克里斯黄金树的恩惠极·龙の意不朽之恋和你一起飞行的皮卡丘我的天使纯真护剑『梦旅存根』

                        回复

                        使用道具 举报

                        王者之盾Joker山猫图腾猎鹰图腾眼镜蛇图腾守望者指挥官徽章GM論壇進階勛章驯化黑龙幼崽

                          回复

                          使用道具 举报

                          石肤术凯登‧阿兰科裸体克里斯圣英灵凯尔炙热的格拉迪欧拉斯灵魂之椅德拉克魂匣生金蛋的鹅史莱姆牧场乘风破浪的武士刀

                            回复

                            使用道具 举报

                            召唤古代战士茉香啤酒捡到了肥皂咆哮诅咒炼金之心石肤术没有梦想的咸鱼20x43 隐形➀吃饱金币的Doge冒险用指南针

                              回复

                              使用道具 举报

                              BIG BOSS肥皂铁牛泰比里厄斯吃饱金币的Doge亚瑟‧摩根自由克里斯·埃文斯艾吉奥杰森‧斯坦森

                                回复

                                使用道具 举报

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

                                  回复

                                  使用道具 举报

                                  最终幻想XIV『逆境中的幸运女神』苍穹禁城琉璃玉坠黄金树的恩惠炽天使之拥森林鹿夏日柯基苏醒的格罗姆

                                    你的勋章百宝箱魔改已经out,最新的1.61版本我又加了一个一键续所有咒术勋章的按钮,现在有五个按钮了
                                    发出反派的笑声,哈哈哈哈哈哈哈哈哈哈哈哈
                                    回复

                                    使用道具 举报

                                    朴素的誓言无瑕的回忆『逆境中的幸运女神』幸运女神的微笑GHOST瓮中能言蛙近地夜航

                                      回复

                                      使用道具 举报

                                      赛博朋克2077希尔瓦娜斯·风行者初入动物城无瑕的回忆丹妮莉丝·坦格利安里昂‧S‧甘乃迪擎天柱(Peterbilt389)月光骑士

                                        回复

                                        使用道具 举报

                                        驱逐吉尔·沃瑞克近地夜航风物长宜Forever Titanic裸体克里斯梅克军徽朴素的誓言无瑕的回忆被释放的灵魂

                                          回复

                                          使用道具 举报

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

                                          本版积分规则

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

                                          GMT+8, 2024-12-22 10:56 , Processed in 0.208835 second(s), 146 queries , Redis On.

                                          Copyright © 2013-2024 GameMale

                                          All Rights Reserved.

                                          快速回复 返回列表