Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>iOS Mod Menu with Pastebin</title>
- <style>
- body {
- margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
- background: #f0f2f5;
- display: flex;
- justify-content: center;
- align-items: center;
- height: 100vh;
- overflow: hidden;
- }
- .container {
- position: relative;
- width: 100%;
- max-width: 400px;
- padding: 20px;
- }
- .menu-toggle {
- position: fixed;
- top: 20px;
- left: 20px;
- padding: 10px 20px;
- background: #007aff;
- color: white;
- border: none;
- border-radius: 10px;
- font-size: 16px;
- cursor: pointer;
- transition: background 0.3s;
- }
- .menu-toggle:hover {
- background: #005bb5;
- }
- .mod-menu {
- position: fixed;
- top: 0;
- left: -100%;
- width: 80%;
- max-width: 300px;
- height: 100%;
- background: rgba(255, 255, 255, 0.95);
- backdrop-filter: blur(10px);
- box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2);
- transition: left 0.3s ease-in-out;
- display: flex;
- flex-direction: column;
- }
- .mod-menu.active {
- left: 0;
- }
- .menu-header {
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding: 15px;
- border-bottom: 1px solid #e0e0e0;
- }
- .menu-header h2 {
- margin: 0;
- font-size: 20px;
- color: #000;
- }
- .close-btn {
- background: none;
- border: none;
- font-size: 20px;
- cursor: pointer;
- color: #007aff;
- }
- .menu-content {
- flex: 1;
- overflow-y: auto;
- padding: 15px;
- }
- .mod-section {
- margin-bottom: 20px;
- }
- .mod-section h3 {
- margin: 0 0 10px;
- font-size: 16px;
- color: #333;
- }
- .mod-item {
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding: 10px 0;
- font-size: 14px;
- }
- .switch {
- position: relative;
- display: inline-block;
- width: 50px;
- height: 24px;
- }
- .switch input {
- opacity: 0;
- width: 0;
- height: 0;
- }
- .slider {
- position: absolute;
- cursor: pointer;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background: #ccc;
- transition: 0.4s;
- border-radius: 24px;
- }
- .slider:before {
- position: absolute;
- content: "";
- height: 20px;
- width: 20px;
- left: 2px;
- bottom: 2px;
- background: white;
- transition: 0.4s;
- border-radius: 50%;
- }
- input:checked + .slider {
- background: #007aff;
- }
- input:checked + .slider:before {
- transform: translateX(26px);
- }
- input[type="range"] {
- width: 100px;
- accent-color: #007aff;
- }
- .action-btn {
- padding: 5px 10px;
- background: #007aff;
- color: white;
- border: none;
- border-radius: 5px;
- cursor: pointer;
- }
- .action-btn:hover {
- background: #005bb5;
- }
- .status {
- font-size: 12px;
- color: #555;
- margin-top: 10px;
- }
- </style>
- </head>
- <body>
- <div class="container">
- <!-- Menu Toggle Button -->
- <button class="menu-toggle" onclick="toggleMenu()">☰ Mod Menu</button>
- <!-- Mod Menu -->
- <div class="mod-menu" id="modMenu">
- <div class="menu-header">
- <h2>Mod Menu</h2>
- <button class="close-btn" onclick="toggleMenu()">✕</button>
- </div>
- <div class="menu-content">
- <div class="mod-section">
- <h3>Game Settings</h3>
- <div class="mod-item">
- <span>Unlimited Health</span>
- <label class="switch">
- <input type="checkbox" id="healthToggle" onchange="updateModSettings()">
- <span class="slider"></span>
- </label>
- </div>
- <div class="mod-item">
- <span>Speed Boost</span>
- <input type="range" id="speedSlider" min="1" max="100" value="50" onchange="updateModSettings()">
- </div>
- <div class="mod-item">
- <span>Unlock All Levels</span>
- <button class="action-btn" onclick="unlockLevels()">Unlock</button>
- </div>
- </div>
- <div class="mod-section">
- <h3>Visuals</h3>
- <div class="mod-item">
- <span>Night Mode</span>
- <label class="switch">
- <input type="checkbox" id="nightModeToggle" onchange="updateModSettings()">
- <span class="slider"></span>
- </label>
- </div>
- </div>
- <div class="mod-section">
- <h3>Pastebin Sync</h3>
- <div class="mod-item">
- <span>Save to Pastebin</span>
- <button class="action-btn" onclick="saveToPastebin()">Save</button>
- </div>
- <div class="mod-item">
- <span>Status</span>
- <span class="status" id="pastebinStatus">Not synced</span>
- </div>
- </div>
- </div>
- </div>
- </div>
- <script>
- // Pastebin API configuration
- const PASTEBIN_API_KEY = 'HkGr1WNokDoFOLEB1k-xyVCr57cPhJc';
- const PASTEBIN_PASTE_ID = 'YOUR_PASTE_ID'; // Replace with paste ID after first save
- const PASTEBIN_USER_KEY = ''; // Optional: Set after login for private pastes
- // Mod settings state
- let modSettings = {
- unlimitedHealth: false,
- speedBoost: 50,
- nightMode: false
- };
- // Toggle menu
- function toggleMenu() {
- const menu = document.getElementById('modMenu');
- menu.classList.toggle('active');
- }
- // Update mod settings locally
- function updateModSettings() {
- modSettings.unlimitedHealth = document.getElementById('healthToggle').checked;
- modSettings.speedBoost = document.getElementById('speedSlider').value;
- modSettings.nightMode = document.getElementById('nightModeToggle').checked;
- console.log('Updated settings:', modSettings);
- // Optionally apply settings to game here
- }
- // Save settings to Pastebin
- async function saveToPastebin() {
- const statusElement = document.getElementById('pastebinStatus');
- statusElement.textContent = 'Saving...';
- try {
- const response = await fetch('https://pastebin.com/api/api_post.php', {
- method: 'POST',
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
- body: new URLSearchParams({
- api_dev_key: PASTEBIN_API_KEY,
- api_option: 'paste',
- api_paste_code: JSON.stringify(modSettings),
- api_paste_private: '1', // 0=public, 1=unlisted, 2=private
- api_paste_name: 'Mod Settings',
- api_paste_expire_date: '1M', // 1 month expiration
- api_user_key: PASTEBIN_USER_KEY // Optional for private pastes
- })
- });
- const result = await response.text();
- if (result.includes('pastebin.com/')) {
- statusElement.textContent = 'Saved to Pastebin!';
- const pasteId = result.split('/').pop();
- console.log('Paste ID:', pasteId);
- // Update PASTEBIN_PASTE_ID in your code with this ID
- } else {
- statusElement.textContent = 'Error: ' + result;
- }
- } catch (error) {
- statusElement.textContent = 'Error: ' + error.message;
- }
- }
- // Fetch settings from Pastebin
- async function fetchFromPastebin() {
- if (!PASTEBIN_PASTE_ID || PASTEBIN_PASTE_ID === 'YOUR_PASTE_ID') {
- document.getElementById('pastebinStatus').textContent = 'No paste ID set';
- return;
- }
- try {
- const response = await fetch(`https://pastebin.com/raw/${PASTEBIN_PASTE_ID}`);
- if (response.ok) {
- const data = await response.json();
- modSettings = data;
- document.getElementById('healthToggle').checked = modSettings.unlimitedHealth;
- document.getElementById('speedSlider').value = modSettings.speedBoost;
- document.getElementById('nightModeToggle').checked = modSettings.nightMode;
- document.getElementById('pastebinStatus').textContent = 'Synced with Pastebin';
- console.log('Fetched settings:', modSettings);
- } else {
- document.getElementById('pastebinStatus').textContent = 'Error fetching paste';
- }
- } catch (error) {
- document.getElementById('pastebinStatus').textContent = 'Error: ' + error.message;
- }
- }
- // Unlock levels (placeholder)
- function unlockLevels() {
- console.log('Levels unlocked');
- // Add logic to unlock levels
- }
- // Periodically fetch updates (every 10 seconds)
- setInterval(fetchFromPastebin, 10000);
- // Initial fetch on page load
- window.onload = fetchFromPastebin;
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement