您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds various functions to the NI website. A companion script to NordInvasion+.
// ==UserScript== // @name NordInvasion+ Companion // @namespace http://nordinvasion.com // @author Kip // @version 1.2.2 // @date 9.15.2013 // @description Adds various functions to the NI website. A companion script to NordInvasion+. // @include http://nordinvasion.com/* // @include http://www.nordinvasion.com/* // @require http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js // @run-at document-start // ==/UserScript== // Code that has to run before all other scripts on the page. window.addEventListener('beforescriptexecute', function(e) { // Find the correct script tag for the Crafting page if (e.target.src.search(/crafting\.js/) !== -1) { status++; e.stopPropagation(); e.preventDefault(); nip_craftingJs(); } // Find the correct script tag for the Auction Hall if (e.target.src.search(/auction\.js/) !== -1) { status++; e.stopPropagation(); e.preventDefault(); nip_auctionJs(); } // Find the correct script tag for the Trading Center if (e.target.innerHTML.search(/title: 'Pick Items'/) !== -1) { status++; e.stopPropagation(); e.preventDefault(); nip_tradingJs(); } if (status === 1) window.removeEventListener(e.type, arguments.callee, true); }, true); // Replacement code for "crafting.js" function nip_craftingJs() { $(function(){ $('#progressbar').progressbar({ value: 0, complete: function(){ //alert('Crafting Complete!'); data = {}; data.act = 3; data.b = $('#bpid').val(); data.c = $('#profid').val(); $.post('/ajax.php',data,function(d){ $('#userFlash').html(''); if (d.created !== undefined && d.created === 1) { //do success stuff here $('span.ctxt').html('Complete!'); //housekeeping if (d.i !== undefined) { $.each(d.i, function(index, value){ if ($('#' + index).length>0) { var newInv = parseInt($('#' + index).html()) - value; if (newInv < parseInt($('#req_' + index).html())) { $('#' + index).css('font-weight', 'normal'); $('#craftable').hide('slow'); } $('#' + index).html(newInv); } }); } } else { //500 error $('#userFlash').html('Oops an error occured!'); userFlash(); $('span.ctxt').html('Crafting Failed :('); } if (d.level !== undefined && d.level > 0) { //level up $('#userFlash').html('Congratulations! You are now level ' + d.level); userFlash(); } }, 'json'); clearTimeout(craftTimer); craftedSoFar++; setTimeout(craftingCounter(),1000); } }); $('#begin_craft').button(); $('#craftable').append("Quantity: <input id=\"craft_quantity\" class=\"ui-widget ui-widget-content ui-corner-all\" type=\"text\" value=\"1\" style=\"height: 30px; width: 50px; text-align: center;\"></input>"); $('#begin_craft').click(function(){ if ($('#progressbar').progressbar('value') === 0 || $('#progressbar').progressbar('value') === 100) { craftingOrder = Number($('#craft_quantity').val()); craftedSoFar = 0; $(this).button('disable'); craftingCounter(); } }); }); function craftingCounter() { // Check whether enough items have been crafted already if (craftedSoFar < craftingOrder) { // Do what you need to do to craft $('#userFlash').hide(); $('#progressbar').progressbar('value', 0); $('#progressbar div').html("<span style='line-height:30px;' class='ctxt'>Crafting...</span>"); $('#progressbar div').css('text-align', 'center'); incProgress(); } else { // Do what you need to do to finish crafting craftingOrder = 0; $('#begin_craft').button('enable'); } } function incProgress() { if ($('#progressbar').progressbar('value') < 100) { var upTime = 250; var inc = parseInt((upTime/craftTime)*100)+1; $('#progressbar').progressbar('value', $('#progressbar').progressbar('value') + inc); //alert('incme'); craftTimer = setTimeout(incProgress, upTime); } } function userFlash() { $('#userFlash').show('slow'); setTimeout('hideFlash', 5000); } function hideFlash() { $('#userFlash').hide('slow'); } } // Replacement code for "auction.js" function nip_auctionJs() { $(function(){ $('#sell_btn').button({ icons: { primary: "ui-icon-cart" } }); $('#sell_btn').click(function(){ //popup sell box setLoading(); loadToSell(0); $('#dialog').dialog('open'); $('#dialog-filter').focus(); }); $('#dialog').dialog({ autoOpen: false, height: 400, width: 600, modal: true, resizable: false, title: 'Pick Item to List' }); // Inline JavaScript that hides and shows the default values var hideInputTitleCode = "if($(this).val() === $(this).attr('title')) $(this).val('').css('color','');"; var showInputTitleCode = "if($(this).val() === '') $(this).val($(this).attr('title')).css('color','silver');"; $('#dialog').after('<input id="dialog-filter" type="text" title="Filter" name="filter" style="width: 100%" onfocus="' + hideInputTitleCode + '" onblur="' + showInputTitleCode + '"></input>'); $('#dialog-filter').keyup(function() { var filter = $('#dialog-filter').val(); $('#list-item-container > div').each(function() { var item_name = $('.item_string', this).text(); if ((filter === "") || (item_name.toLowerCase().search(filter.toLowerCase()) !== -1)) $(this).show(); else $(this).hide(); }); }); $('a.sell_item_link').live('click', function(event){ event.preventDefault(); var item_id = $(this).parent('div').attr('id').replace('i_', ''); var name = $(this).parent('div').children('span.item_string').html(); var qty = $(this).parent('div').children('.item_quantity').val(); var cost = qty*parseInt($(this).next('input').val()*0.7); $('#list-item-container').hide(400); $('#dialog').html("<div id='ah-sell-single-item'>"+ "<div style='font-size:24px; margin:10px 0;'><strong>"+qty+"</strong> x " + name + "</div>"+ "<div style='font-size: 12px; margin:5px 0;' class='list_info'>Sell Price: <input type='text' name='sell_price' class='sell_price' value='"+cost+"' style='width: 60px;' /> <img src='images/coins.png' class='gold_ico'/><br/><br/>" + "<div class='cost_to_list'>This will cost: 10 <img src='images/coins.png' class='gold_ico'/> + <span class='gold_perc'>"+parseInt(cost*0.05)+"</span> <img src='images/coins.png' class='gold_ico'/> to list</div>" + "<a href='' class='list_item_btn_back'>Back</a> <a href='' style='float:right;' class='list_item_btn'>List Item</a><input type='hidden' class='list_item_id' value='"+item_id+"' /><input type='hidden' class='list_qty' value='"+qty+"' />"+ "</div>" + "</div>"); $('#dialog').dialog('option', 'height', 'auto'); $('a.list_item_btn').button(); $('a.list_item_btn_back').button(); }); $('a.ah-purchase-btn').button(); $('a.ah-retrieve-btn').button(); $('a.ah-purchase-btn').live('click', function(){ }); $('input.sell_price').live('blur', function(){ var cost = $(this).val(); $(this).parent().children('.cost_to_list').children('.gold_perc').html(parseInt(cost*0.05)); }); $('a.list_item_btn').live('click', function(event){ event.preventDefault(); if (confirm('Are you sure you want to list this?')) { //post list item ajax var p = $(this).parent(); var item_id = parseInt(p.children('.list_item_id').val()); var qty = parseInt(p.children('.list_qty').val()); var price = parseInt(p.children('.sell_price').val()); setLoading(); data = {}; data.act = 129; data.item_id = item_id; data.qty = qty; data.price = price; $.post('/ajax.php', data, function(d){ if (d.error !== undefined) { $('#dialog').html("<div class='ui-corner-all ui-state-error' style='padding:5px;'><span style='float: left; margin-right: .3em;' class='ui-icon ui-icon-alert'></span>"+d.error+"</div>"); } if (d.success !== undefined && d.success === 1) { $('#dialog').css('text-align', 'center'); $('#dialog').html('<h2>Items Now Listed...</h2>'); } $('#dialog').append('<br/><div style="margin:10px 0;"><a href="" class="close_btn">Close</a></div>'); $('.close_btn').button(); }, 'json'); } }); $('a.close_btn').live('click', function(event){ event.preventDefault(); $('#dialog').html(''); $('#dialog').dialog('close'); window.location = '/auction_hall.php'; }); $('a.list_item_btn_back').live('click', function(event){ event.preventDefault(); $('#dialog').dialog('option', 'height', 400); loadToSell(0); }); }); function setLoading() { $('#dialog').html("<img src='/images/ajax-loader.gif' alt='Loading...' style='margin: auto;'/>"); } function loaded() { } function loadToSell(filter) { $('#dialog').dialog('option', 'height', 400); $('#dialog').dialog('option', 'position', 'center'); data = {}; data.filter = parseInt(filter); data.act = 128; $.get('/ajax.php', data, function(data) { if (data.items !== undefined) { $('#dialog').html('<div id="list-item-container"></div>'); $('#dialog').css('text-align', 'left'); $.each(data.items, function(index,value){ $('#list-item-container').append('<div class="ah-item-sell ui-corner-all" id="i_'+value.item_id+'"><input type="text" name="item_quantity" class="item_quantity" value="' + value.inventory_quantity + '" /> x <span class="item_string">' + value.rarity_string + '</span><a href="" class="sell_item_link" style="float:right">Sell</a><input type="hidden" class="item_cost" value="'+value.cost+'"</div>'); }); $('.sell_item_link').button(); //$('.ui-dialog').effect('size', {to: {width: 600, height: 400}}, 500); $('#dialog').dialog('option', 'position', 'center'); } }, 'json'); } } function nip_tradingJs() { $(function(){ $('#player_name').autocomplete({ source: "/ajax.php?act=64", minLength: 2, select: function( event, ui ) { //"Selected: " + ui.item.value + " aka " + ui.item.id : $('#invite_btn').button('option', 'disabled', false); } }); $('#invite_btn').button({disabled:true}); $('#accept_one').button(); $('#accept_two').button(); $('#addgold').button(); $('.trade-add').button({icons: {primary: 'ui-icon-circle-plus'}}); $('.btn_remove').button({icons: {primary: 'ui-icon-trash'}}); $('.trade-add').click(function(e){ e.preventDefault(); setLoading(); loadToSell(0); $('#dialog').dialog('open'); $('#dialog-filter').focus(); }); $('#dialog').dialog({ autoOpen: false, height: 400, width: 600, modal: true, resizable: false, title: 'Pick Items to Trade' }); // Inline JavaScript that hides and shows the default values var hideInputTitleCode = "if($(this).val() === $(this).attr('title')) $(this).val('').css('color','');"; var showInputTitleCode = "if($(this).val() === '') $(this).val($(this).attr('title')).css('color','silver');"; $('#dialog').after('<input id="dialog-filter" type="text" title="Filter" name="filter" style="width:528px;height:26px;margin:4px 0 0 0" onfocus="' + hideInputTitleCode + '" onblur="' + showInputTitleCode + '"></input><a href="" class="trade_item_link" style="float:right">Trade</a>'); $('.trade_item_link').button(); $('#dialog-filter').keyup(function() { var filter = $('#dialog-filter').val(); $('#list-item-container > div').each(function() { var item_name = $('.item_string', this).text(); if ((filter === "") || (item_name.toLowerCase().search(filter.toLowerCase()) !== -1)) $(this).show(); else $(this).hide(); }); }); $('a.trade_item_link').live('click', function(event){ event.preventDefault(); if (confirm("Are you sure you want to trade the selected items?")) { var totalItems = $(".ah-item-sell .add_item:checked").length; var addedItems = 0; $(".ah-item-sell .add_item:checked").each(function(){ var item_id = $(this).parent('div').parent('div').attr('id').replace('i_', ''); var name = $(this).parent('div').parent('div').children('span.item_string').html(); var qty = $(this).parent('div').parent('div').children('.item_quantity').val(); data = {}; data.act = 65; data.trade_id = $('#tid').val(); data.item_id = item_id; data.qty = qty; $.post('/ajax.php', data, function(data){ if ((data.success !== undefined) && (parseInt(data.success) === 1)) { addedItems++; if (addedItems === totalItems) window.location = '/trading.php?t=' + $('#tid').val(); } else { if (data.error !== undefined) { $('#dialog').html("" + data.error); } else { $('#dialog').html("There was a problem adding that item to the trade"); } } }, 'json'); }); } }); }); function loadToSell(filter) { $('#dialog').dialog('option', 'height', 400); $('#dialog').dialog('option', 'position', 'center'); data = {}; data.filter = parseInt(filter); data.act = 128; $.get('/ajax.php', data, function(data) { if (data.items !== undefined) { $('#dialog').html('<div id="list-item-container"></div>'); $('#dialog').css('text-align', 'left'); $.each(data.items, function(index,value) { $('#list-item-container').append('<div class="ah-item-sell ui-corner-all" id="i_'+value.item_id+'"><input type="text" name="item_quantity" class="item_quantity" value="' + value.inventory_quantity + '" /> x <span class="item_string" style="display:inline-flex;width:165px;">' + value.rarity_string + '</span><div style="color:grey;float:right;text-align:center;">Add<br /><input class="add_item" type="checkbox"></input></div><input type="hidden" class="item_cost" value="'+value.cost+'"</div>'); }); //$('.trade_item_link').button(); //$('.ui-dialog').effect('size', {to: {width: 600, height: 400}}, 500); $('#dialog').dialog('option', 'position', 'center'); } }, 'json'); } function setLoading() { $('#dialog').html("<img src='/images/ajax-loader.gif' alt='Loading...' style='margin: auto;'/>"); } }