我真的很想自动化unicoin挖掘,这样它就可以在我做重要事情(例如回答stackoverflow问题)时在后台继续进行。我注意到有一个canvas#uc-rockcanvas
元素可以单击岩石。单击似乎添加了该类md
,然后释放单击将删除md
。
有什么方法可以使用JavaScript与画布的特定元素进行交互,以便您可以触发对它们的单击?
我真的很想自动化unicoin挖掘,这样它就可以在我做重要事情(例如回答stackoverflow问题)时在后台继续进行。我注意到有一个canvas#uc-rockcanvas
元素可以单击岩石。单击似乎添加了该类md
,然后释放单击将删除md
。
有什么方法可以使用JavaScript与画布的特定元素进行交互,以便您可以触发对它们的单击?
addUnicoins(999)
,看看会发生什么...
Answers:
这是我在META SE上获得的代码:
(function uniMine() {
$.getJSON('/unicoin/rock', function(data) {
setTimeout(function() {
$.post('/unicoin/mine?rock=' + data.rock,
{fkey: StackExchange.options.user.fkey});
}, 10000);
});
setTimeout(uniMine, 11000);
})();
只需在控制台中输入它并保持窗口打开,您就会慢慢获得单币。
不确定原始作者,我认为是门把手
您绝对有错误的偏好。您最好在JavaScript代码回答问题时点击一下岩石。
(function uniMine()
{
$.getJSON('/unicoin/potato', function(data)
{
setTimeout(function()
{
$.post('/unicoin/mine?potato=' + data.potato, {fkey: StackExchange.options.user.fkey});
}, 10000);
});
setTimeout(uniMine, 11000);
})();
我发现,如果在代码中用Potato替换单词“ Rock”,效果更好,它将使Unicoins的收入几乎翻倍。
将此代码粘贴到您的JavaScript控制台中。
这个问题终生解决了!
coinMeMaybe(9999);
如果这不起作用,请尝试以下操作:
var addUnicoins=function(e){var t="l";var n=" ";var r="a";var i="i";var s="o";var o="f";var u="p";var a="s";var f="r";e=true;if(e==true){alert(r+u+f+i+t+n+o+s+s+t+a)}};
然后一定要调用该函数addUnicoins(999);
。您可以使用任意号码。
这与画布单击无关,但是确实可以解决您的自动化问题:
http://pastebin.com/6uR2cwpQ
该脚本将在大约30%的时间内成功执行。不过,您必须仔细研究您的请求才能找到fkey。
setInterval( function(){
console.log( "firing" );
$.ajax({
url: "http://stackoverflow.com/unicoin/rock",
dataType: 'json',
data: {
_: new Date().getTime()
},
success: function( o ){
console.info( "Got rock " + o.rock );
if( Math.random() < 0.4 ){
console.info( "Ignoring this one" );
return;
}
setTimeout( function(){
console.log( "Attempting rock send" );
$.ajax({
url: "http://stackoverflow.com/unicoin/mine",
dataType: 'json',
type: 'post',
data: {
rock: o.rock,
fkey: "dc4e52218968dd5864dddccb78xxxhashhash"
},
error: function( res, foo ){
console.error( foo );
},
success: function( e ){
if( e.value === 0 ){
console.warn( "No luck" );
} else {
console.log( e.result + ", you earned " + e.value + ' coins' );
}
}
});
}, 3000 + (Math.random() * 1700) );
}
})
}, 6000 );
console.log( "starting up!" );
您希望单击事件是用户启动的(显然是为了安全起见)。您需要在操作系统级别模拟点击。在Windows(也是安全性)上,我喜欢AutoIt来完成此任务。
您需要对光标进行编程以使其随机移动,不断对其下方的颜色进行采样,直到找到一块石头为止。然后,提交许多连续的点击变得微不足道:
// from http://www.autoitscript.com/autoit3/docs/functions/MouseClick.htm
// MouseClick ( "button" [, x, y [, clicks = 1 [, speed = 10]]] )
MouseClick ("left", x, y, 50, 10)