GameMale
登陆 / 注册 搜索

USERCENTER

SEARCHSITE

搜索

查看: 1375|回复: 69
收起左侧

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

    [复制链接] |关注本帖

真理世界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

    评分

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

    查看全部评分

    回复

    使用道具 举报

    雄躯的昇格虚空之海的鲸收到情书BIG BOSS爬行植物Ⓛ粉猪猪储蓄罐㊖爬行植物Ⓡ

      回复

      使用道具 举报

      白猪猪储蓄罐㊖风雪之家牧羊人冰海钓竿腐化龙幼崽小菜鸟琉璃玉坠

        回复

        使用道具 举报

        金猪猪储蓄罐㊖小小舞台漂洋小船『随时随地开启!』冒险用指南针破损的旧书丛林的鸟飞走了雪王的心脏人鱼之泪幽灵竹筒

          回复

          使用道具 举报

          虚空之海的鲸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狩猎用小刀炽天使之拥SCP-s-1889-第七页GHOST森林鹿夏日柯基

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

                                    使用道具 举报

                                    白猪猪储蓄罐㊖GHOST『南瓜拿铁』『逆境中的幸运女神』幸运女神的微笑近地夜航御医神兔

                                      回复

                                      使用道具 举报

                                      赛博朋克2077荒野大镖客:救赎 II初入动物城不屈之枪·阿特瑞斯丹妮莉丝·坦格利安里昂‧S‧甘乃迪擎天柱(Peterbilt389).月光骑士

                                        回复

                                        使用道具 举报

                                        驱逐吉尔·沃瑞克霍格沃兹魔法学校Life of Water风物长宜Forever Titanic裸体克里斯梅克军徽被释放的灵魂小小舞台

                                          回复

                                          使用道具 举报

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

                                          本版积分规则

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

                                          GMT+8, 2024-11-15 12:55 , Processed in 0.153844 second(s), 143 queries , Redis On.

                                          Copyright © 2013-2024 GameMale

                                          All Rights Reserved.

                                          快速回复 返回列表