您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
含自動攻擊、自瞄、加速、ESP、飛行、穿牆、無限跳躍、鎖頭、牆透等功能,M鍵切換選單
// ==UserScript== // @name MineFun.io 擴充模組選單(含牆透鎖頭) // @namespace http://tampermonkey.net/ // @version 1.2 // @description 含自動攻擊、自瞄、加速、ESP、飛行、穿牆、無限跳躍、鎖頭、牆透等功能,M鍵切換選單 // @author ChatGPT // @match *://minefun.io/* // @grant none // ==/UserScript== (function(){ 'use strict'; const settings = { autoAttack: false, aimbot: false, speed: 1.0, blockESP: false, esp: false, showHP: false, autoMining: false, fly: false, autoDigging: false, noclip: false, invisible: false, lootESP: false, infiniteJump: false, wallhack: false, // 牆透 lockHead: false // 鎖頭 }; // 建立UI const menu = document.createElement('div'); menu.style = ` position: fixed; top: 80px; left: 80px; background: rgba(0,0,0,0.85); padding: 15px; border-radius: 10px; font-family: monospace; font-size: 14px; color: white; z-index: 9999; max-width: 360px; overflow-y: auto; max-height: 520px; `; menu.innerHTML = ` <h3>🧠 MineFun.io 擴充模組</h3> <label><input type="checkbox" id="autoAttack"> 🔫 自動攻擊</label><br> <label><input type="checkbox" id="aimbot"> 🎯 自瞄</label><br> <label><input type="checkbox" id="lockHead"> 🔥 鎖頭</label><br> <label><input type="checkbox" id="blockESP"> 🟫 方塊ESP</label><br> <label><input type="checkbox" id="esp"> 👁️ 透視ESP</label><br> <label><input type="checkbox" id="wallhack"> 🧱 牆透</label><br> <label><input type="checkbox" id="showHP"> ❤️ 顯示血量</label><br> <label><input type="checkbox" id="autoMining"> ⛏️ 自動挖礦</label><br> <label><input type="checkbox" id="autoDigging"> 🔨 自動挖掘</label><br> <label><input type="checkbox" id="fly"> 🕊️ 飛行</label><br> <label><input type="checkbox" id="noclip"> 🚪 穿牆</label><br> <label><input type="checkbox" id="invisible"> 👻 隱形</label><br> <label><input type="checkbox" id="lootESP"> 🎒 物資ESP</label><br> <label><input type="checkbox" id="infiniteJump"> 🦘 無限跳躍</label><br> <label>⚡ 移動速度 <input type="range" id="speedSlider" min="1" max="5" step="0.1" value="1"><span id="speedVal">1.0</span></label><br><br> <label>📍 一鍵瞬移 X: <input type="number" id="tpX" value="0" style="width:60px;"> Y: <input type="number" id="tpY" value="0" style="width:60px;"> Z: <input type="number" id="tpZ" value="0" style="width:60px;"> <button id="teleportBtn">瞬移</button></label><br> <small>按 M 鍵 開關選單</small> `; document.body.appendChild(menu); // 綁定事件 ['autoAttack','aimbot','lockHead','blockESP','esp','wallhack','showHP','autoMining','autoDigging','fly','noclip','invisible','lootESP','infiniteJump'].forEach(id=>{ document.getElementById(id).addEventListener('change',e=>{ settings[id] = e.target.checked; }); }); const speedSlider = document.getElementById('speedSlider'); const speedVal = document.getElementById('speedVal'); speedSlider.addEventListener('input', () => { settings.speed = parseFloat(speedSlider.value); speedVal.textContent = settings.speed.toFixed(1); }); document.getElementById('teleportBtn').addEventListener('click', () => { const x = parseFloat(document.getElementById('tpX').value); const y = parseFloat(document.getElementById('tpY').value); const z = parseFloat(document.getElementById('tpZ').value); const player = window.game?.player; if(player && player.position && player.position.set){ player.position.set(x,y,z); alert(`✅ 已瞬移到 (${x}, ${y}, ${z})`); } else { alert('⚠️ 無法取得玩家位置'); } }); // M鍵切換選單 let visible = true; document.addEventListener('keydown', e => { if(e.key.toLowerCase() === 'm'){ visible = !visible; menu.style.display = visible ? 'block' : 'none'; } }); window.keyState = {}; window.addEventListener('keydown', e => window.keyState[e.key] = true); window.addEventListener('keyup', e => window.keyState[e.key] = false); // 判斷兩點距離 function distance3D(a,b){ return Math.sqrt( (a.x-b.x)**2+(a.y-b.y)**2+(a.z-b.z)**2 ); } setInterval(()=>{ const game = window.game; if(!game) return; const player = game.player; if(!player) return; // 加速 if(player.speed !== undefined) player.speed = settings.speed; // 自瞄 & 鎖頭 if(settings.aimbot || settings.lockHead){ const enemies = game.entities.filter(e=>e.team !== player.team && e.health > 0); if(enemies.length){ // 找最近敵人 const nearest = enemies.reduce((a,b) => { return distance3D(player.position, a.position) < distance3D(player.position, b.position) ? a : b; }); if(settings.lockHead){ // 鎖頭目標位置需加頭部偏移,假設headOffset為向上偏移向量 let headPos = nearest.position.clone(); if(nearest.headOffset) headPos.add(nearest.headOffset); else headPos.y += 1.5; // 預設頭部往上1.5單位 player.lookAt(headPos); } else { player.lookAt(nearest.position); } } } // 自動攻擊 if(settings.autoAttack){ if(player.attack && player.target && player.target.health > 0){ player.attack(player.target); } else { const enemies = game.entities.filter(e=>e.team !== player.team && e.health > 0); if(enemies.length){ const nearest = enemies.reduce((a,b) => { return distance3D(player.position, a.position) < distance3D(player.position, b.position) ? a : b; }); player.target = nearest; player.attack(nearest); } } } // 方塊ESP if(settings.blockESP){ game.blocks.forEach(block=>{ if(!block.__espOutline){ const outline = new THREE.EdgesGeometry(block.mesh.geometry); const line = new THREE.LineSegments(outline,new THREE.LineBasicMaterial({color:0x00ff00})); block.mesh.add(line); block.__espOutline = line; } }); } else { game.blocks.forEach(block=>{ if(block.__espOutline){ block.mesh.remove(block.__espOutline); block.__espOutline.geometry.dispose(); block.__espOutline.material.dispose(); block.__espOutline = null; } }); } // 透視ESP if(settings.esp){ game.entities.forEach(e=>{ if(e.team !== player.team && e.mesh){ e.mesh.material.transparent = true; e.mesh.material.opacity = 0.3; } }); } else { game.entities.forEach(e=>{ if(e.mesh){ e.mesh.material.opacity = 1.0; e.mesh.material.transparent = false; } }); } // 牆透(Wallhack) // 透過把敵人mesh的深度測試關閉,讓牆壁不擋住敵人視覺 if(settings.wallhack){ game.entities.forEach(e=>{ if(e.team !== player.team && e.mesh){ e.mesh.material.depthTest = false; e.mesh.renderOrder = 9999; } }); } else { game.entities.forEach(e=>{ if(e.mesh){ e.mesh.material.depthTest = true; e.mesh.renderOrder = 0; } }); } // 顯示血量 if(settings.showHP){ game.entities.forEach(enemy=>{ if(enemy.team !== player.team){ if(!enemy.__hpTag && enemy.nameTag){ const hpDiv = document.createElement('div'); hpDiv.textContent = `❤️ ${enemy.health}`; hpDiv.style = 'color:red; font-size:12px; pointer-events:none; position:absolute;'; enemy.nameTag.appendChild(hpDiv); enemy.__hpTag = hpDiv; } else if(enemy.__hpTag){ enemy.__hpTag.textContent = `❤️ ${enemy.health}`; } } }); } else { game.entities.forEach(enemy=>{ if(enemy.__hpTag){ enemy.__hpTag.remove(); enemy.__hpTag = null; } }); } // 自動挖礦 if(settings.autoMining && player.mine){ const nearbyBlocks = game.blocks.filter(block => player.position.distanceTo(block.position) < 5); if(nearbyBlocks.length) player.mine(nearbyBlocks[0]); } // 自動挖掘 if(settings.autoDigging && player.dig){ const nearbyBlocks = game.blocks.filter(block => player.position.distanceTo(block.position) < 5); if(nearbyBlocks.length) player.dig(nearbyBlocks[0]); } // 飛行 if(settings.fly){ if(player.physics){ player.physics.gravity = 0; if(window.keyState[' ']) player.position.y += 0.5; if(window.keyState['Shift']) player.position.y -= 0.5; } } else { if(player.physics) player.physics.gravity = 9.8; } // 穿牆 if(settings.noclip){ if(player.collider) player.collider.enabled = false; } else { if(player.collider) player.collider.enabled = true; } // 隱形 if(settings.invisible){ if(player.mesh) player.mesh.visible = false; } else { if(player.mesh) player.mesh.visible = true; } // 物資ESP if(settings.lootESP){ const loots = game.loots || []; loots.forEach(item=>{ if(item.mesh && !item.__espOutline){ const outline = new THREE.EdgesGeometry(item.mesh.geometry); const line = new THREE.LineSegments(outline,new THREE.LineBasicMaterial({color:0xffff00})); item.mesh.add(line); item.__espOutline = line; } }); } else { const loots = game.loots || []; loots.forEach(item=>{ if(item.__espOutline){ item.mesh.remove(item.__espOutline); item.__espOutline.geometry.dispose(); item.__espOutline.material.dispose(); item.__espOutline = null; } }); } // 無限跳躍 if(settings.infiniteJump && window.keyState[' ']){ if(player.velocity) player.velocity.y = 10; } }, 50); })();