您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Helps you set prices of tickets.
// ==UserScript== // @name GLB Ticket Price Assistant - pabst edit - SM Tweak https // @namespace http://mmofootball.tk/ // @description Helps you set prices of tickets. // @include http://glb.warriorgeneral.com/game/stadium.pl?team_id=* // @include https://glb.warriorgeneral.com/game/stadium.pl?team_id=* // @include http://glb.warriorgeneral.com/game/team_finances.pl?team_id=* // @include https://glb.warriorgeneral.com/game/team_finances.pl?team_id=* // @copyright 2013, AirMcMVP // @version 2014.05.05 // ==/UserScript== // pabst fixed stuff 4/25/2014 window.setTimeout(main, 10); function main() { if (window.location.href.indexOf('stadium.pl') != -1) { //add a button to quick fill everything var location = document.getElementById('content_pricing').getElementsByTagName('tbody')[0]; var tr = document.createElement('tr'); tr.setAttribute('id', 'assistantRow'); location.insertBefore(tr, location.firstChild); html = '<td class="seating_chart_label" style="width: 170px;">Auto-Price Setter </td>' + '<td class="seating_chart_value" style="width: 246px; text-align: left;">' + '<input id="ticketPercentage" value="100">% <span id="buttonHolder" />' + '</td>'; tr.innerHTML = html; var button = document.createElement('input'); button.setAttribute('id', 'setTickets'); button.setAttribute('type', 'button'); button.setAttribute('value', 'Run'); button.addEventListener('click', setTicketPrices, false); document.getElementById('buttonHolder').appendChild(button); //create a span to hold the percentages for (var i = 0; i < 10; i++) { location = document.getElementsByClassName('expected')[i]; var span = document.createElement('span'); span.setAttribute('class', 'percentHolder'); span.setAttribute('style', 'color: green;'); span.addEventListener('click', function() { lockSpan(this); }, false); location.parentNode.insertBefore(span, location); location.setAttribute("style", "visibility: hidden; display:none;"); } document.getElementsByClassName('expected')[10].innerHTML = '*Percentage of price fans expect to pay shown in green.<br /><br />Click on a percentage to <span style="color: red;">lock</span> its price from being auto-updated.' //add eventlisteners for (i = 0; i < 10; i++) { location = document.getElementById('content_pricing').getElementsByTagName('tbody')[1].getElementsByClassName('seating_chart_value')[i]; location.firstChild.addEventListener('keyup', updatePercentages, false); } } else { //create our button and input to autoset the price location = document.getElementsByName('action')[0].parentNode; //create a div to store our button and input var div = document.createElement('div'); div.setAttribute('style', 'float: right;'); var input = document.createElement('input'); input.setAttribute('id', 'ticketPercentage'); input.setAttribute('value', '100'); div.appendChild(input); button = document.createElement('input'); button.setAttribute('id', 'setTickets'); button.setAttribute('type', 'button'); button.setAttribute('value', 'Adjust Prices'); button.addEventListener('click', setTicketPrices, false); div.appendChild(button) location.parentNode.insertBefore(div, location.nextSibling); //create a span to hold the percentages location = document.getElementsByClassName('seating'); for (i = 30; i < 40; i++) { var val = location[i].innerHTML; span = document.createElement('span'); span.setAttribute('class', 'percentHolder'); span.setAttribute('style', 'color: green;'); span.addEventListener('click', function() { lockSpan(this); }, false); location[i].innerHTML = ''; location[i].appendChild(span); span = document.createElement('span'); span.setAttribute("style", "visibility: hidden; display:none;"); span.innerHTML = val; location[i].appendChild(span) } //add eventlisteners location = document.getElementsByClassName('seating') for (i = 10; i < 20; i++) { location[i].firstChild.addEventListener('keyup', updatePercentages, false); } } updatePercentages(); } function setTicketPrices() { //get user percentage var percent = (document.getElementById('ticketPercentage').value) / 100; //get suggested prices var suggested = new Array(); for (var i = 0; i < 10; i++) { suggested[i] = parseFloat(document.getElementsByClassName('percentHolder')[i].nextSibling.innerHTML.replace('$', '')); } //set prices var loc = new Array(); if (window.location.href.indexOf('stadium.pl') != -1) { loc = document.getElementById('content_pricing').getElementsByTagName('tbody')[1].getElementsByClassName('seating_chart_value'); } else { temp = document.getElementsByClassName('seating'); for (i = 20; i < 30; i++) { loc.push(temp[i]); } } for (i = 0; i < 10; i++) { if (document.getElementsByClassName('percentHolder')[i].id != 'locked') { loc[i].firstChild.value = (suggested[i] * percent).toFixed(2); loc[i].firstChild.textContent = (suggested[i] * percent).toFixed(2); } } updatePercentages(); } function updatePercentages() { //get suggested prices var suggested = new Array(); for (var i = 0; i < 10; i++) { suggested[i] = parseFloat(document.getElementsByClassName('percentHolder')[i].nextSibling.innerHTML.replace('$', '')); } //get percentage var loc = new Array(); if (window.location.href.indexOf('stadium.pl') != -1) { loc = document.getElementById('content_pricing').getElementsByTagName('tbody')[1].getElementsByClassName('seating_chart_value'); } else { temp = document.getElementsByClassName('seating'); for (i = 20; i < 30; i++) { loc.push(temp[i]); } } var percent = new Array(); for (i = 0; i < 10; i++) { percent[i] = parseInt((loc[i].firstChild.textContent.replace('$', '') / suggested[i]) * 100); percent[i] = parseInt((loc[i].firstChild.value.replace('$', '') / suggested[i]) * 100); } //set percentages in spans for (i = 0; i < 10; i++) { document.getElementsByClassName('percentHolder')[i].innerHTML = percent[i] + '%'; } } function lockSpan(location) { if (location.id == 'locked') { location.setAttribute('id', ''); location.setAttribute('style', 'color: green;'); } else { location.setAttribute('id', 'locked'); location.setAttribute('style', 'color: red;'); } }
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址