您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Da CHicken Trainer
// ==UserScript== // @name Trainer chicken // @namespace 44105a1740ef7cd0f25276868a623226 // @author ~Patrick*3 // @description Da CHicken Trainer // @homepage http://userscripts.org/scripts/show/156315 // @include http://*.pokemon-vortex.com/map.php?map=* // @include http://*.pokemon-vortex.com/wildbattle.php* // @include http://*.pokemon-vortex.com/battle_select.php?type=member* // @include http://*.pokemon-vortex.com/battle.php* // @exclude http://*.pokemon-vortex.com/adv.php* // @require http://code.jquery.com/jquery-1.8.3.js // @run-at document-end // @grant GM_getValue // @grant GM_setValue // @version !3! // @licence Private Domain! // ==/UserScript== /* */ (function() { //buttons some times show up in the ads located in an iframe //dont run in a frame if(unsafeWindow.self!=unsafeWindow.top) return(false); var dlh=document.location.href.toString(); if(dlh.indexOf('battle.php?sidequest=')!=-1) return(false); var NewMapAfterBattles=50; var tbattles=GM_getValue('tbattles',0) var StartTime=pageLoad=Date.now(); var battleId=133733; var PokemonList=[]; var win; //how long to wait for the loading image before checking again for it //you can make it 100 but you will beat up the server and once they notice the server take a beating i guarantee this will stop working! //they already have a warning for battling to much to fast, the 'dont be greedy' warning. TAKE NOTICE! var playerBattleTimeout=0; var pm=GM_getValue('pm_list',0); var timeOuts={ battleButton:0, moveAround:0, session:0, battleLoop:0 } if(dlh.indexOf('battle_select.php?type=member')!=-1){ setTimeout(bMember,0); return(false); } if(dlh.indexOf('/battle.php?bid=')!=-1){ GM_setValue('new_session',true) if(pm>5) pm=0; GM_setValue('pm_list',pm+1); setTimeout(function(){ battlePlayer(); },0); return(false); } function bMember(){ setTimeout(function(){ document.location.href='http://'+getServerName()+'.pokemon-vortex.com/battle.php?bid='+battleId; },1000) } function battlePlayer(){ clearTimeout(timeOuts.battleLoop); var iloading=isLoading(); if(iloading==true){ timeOuts.battleLoop=setTimeout(battlePlayer,playerBattleTimeout);//rndFrom(2000,3000)); return(false); } if($('div#ajax > form > h3:eq(0)').html()=='Select your next Pok'+String.fromCharCode(233)+'mon to battle:'){ //the first screen bPlayer();//since it's an ajax call, set the loop to start again var pm=GM_getValue('pm_list',0); if(pm>5) pm=0; pm=0;// set to which of your 6 pokemon to use (0-5) //GM_setValue('pm_list',pm+1); //if you uncomment, it will use one new pokemon for each battle. $('td#y_p > table > tbody > tr > td > input')[pm].checked=true; $('div#ajax > form').submit(); return(false); } try{ if($('div#ajax > form:eq(1) > h2').html().toString().toLowerCase().indexOf('select an attack')!=-1){ //second screen and if your pokemon did not win with the first attack bPlayer(); $('#attack2').attr('checked', true); //$('#attack'+rndFrom(1,4)).attr('checked', true); $('div#ajax > form:eq(1)').submit(); return(false); } }catch(e){} if($('div#ajax > form > h2').html().toString().toLowerCase().indexOf('you won the battle')!=-1){ //you won, battle is over setTimeout(function(){ GM_log('PageLoadElapsedTime = '+(Date.now()-pageLoad) +' @ '+ctime(Date.now())) GM_setValue('new_session',true) document.location.reload(); //document.location.href='http://sigma.pokemon-vortex.com/battle_select.php?type=member' },5000) return(false); } if($('div#ajax > form > h2').html().toString().toLowerCase().indexOf('you lost the battle')!=-1){ //you lost, battle is over return(false); } bPlayer(); } function bPlayer(){ //new_session is watched by the parent window. if this page hangs, //the parent window will never see it and attempt to reload the child window. GM_setValue('new_session',true) timeOuts.battleLoop=setTimeout(battlePlayer,playerBattleTimeout); } if(window.name!='pbattle') { //because it has a name, they can check if a name exist, and if so, they could just log you out. //switch to just battle on the map. //win=window.open('http://'+getServerName()+'.pokemon-vortex.com/map.php?map='+rndFrom(1,25),'pbattle'); win=window.open('http://'+getServerName()+'.pokemon-vortex.com/battle.php?bid='+battleId,'pbattle'); $('div#scrollContent').html('<b>Leave this window open, <br>it administrates the session timeout and window loading errors of the new window</b>'.toUpperCase()); windowsessionTimeout(); return(false); } function windowsessionTimeout(){ clearTimeout(timeOuts.session); if(GM_getValue('new_session',false)==true){ GM_setValue('new_session',false) StartTime=Date.now(); } GM_log('Session ElapsedTime='+(Date.now()-StartTime)) var windlh=win.document.location.href.toString(); if(parseFloat(StartTime+50000)<Date.now()) { GM_setValue('new_session',false); StartTime=Date.now(); if(windlh.indexOf('/battle.php?bid=')!=-1){ win.location.href='http://'+getServerName()+'.pokemon-vortex.com/battle.php?bid='+battleID; }else{ win.location.href='http://'+getServerName()+'.pokemon-vortex.com/map.php?map='+rndFrom(1,25); } } timeOuts.session=setTimeout(windowsessionTimeout,0); } GM_setValue('new_session',true) if(tbattles>NewMapAfterBattles){ GM_setValue('tbattles',0) newMap(); return(false); } $(window).unload(function() { clearTimeout(timeOuts.session); clearTimeout(timeOuts.battleButton) clearTimeout(timeOuts.moveAround); clearTimeout(timeOuts.battleLoop); }); var direction={ moves:0, randDir:0, //0=up 1=upright 2=right 3=downright 4=down 5=downleft 6=left 7=leftup up:function(){ if(!$("img[src*='arrowupno.gif']").length > 0){ $("img[src*='arrowup.gif']").click(); return(true); } direction.setDir(); return(false); }, upright:function(){ if(!$("img[src*='arrowrightupno.gif']").length > 0){ $("img[src*='arrowrightup.gif']").click(); return(true); } direction.setDir(); return(false); }, right:function(){ if(!$("img[src*='arrowrightno.gif']").length > 0){ $("img[src*='arrowright.gif']").click(); return(true); } direction.setDir(); return(false); }, downright:function(){ if(!$("img[src*='arrowrightdownno.gif']").length > 0){ $("img[src*='arrowrightdown.gif']").click(); return(true); } direction.setDir(); return(false); }, down:function(){ if(!$("img[src*='arrowdownno.gif']").length > 0){ $("img[src*='arrowdown.gif']").click(); return(true); } direction.setDir(); return(false); }, downleft:function(){ if(!$("img[src*='arrowleftdownno.gif']").length > 0){ $("img[src*='arrowleftdown.gif']").click(); return(true); } direction.setDir(); return(false); }, left:function(){ if(!$("img[src*='arrowleftno.gif']").length > 0){ $("img[src*='arrowleft.gif']").click(); return(true); } direction.setDir(); return(false); }, leftup:function(){ if(!$("img[src*='arrowleftupno.gif']").length > 0){ $("img[src*='arrowleftup.gif']").click(); return(true); } direction.setDir(); return(false); }, setDir:function(){ chooseDirection(); moveMe(); } } direction.setDir(); createButtons(); isWildBattle(true); function chooseDirection(){ var t=0; var up=!$("img[src*='arrowupno.gif']").length; var upright=!$("img[src*='arrowrightupno.gif']").length; var right=!$("img[src*='arrowrightno.gif']").length; var downright=!$("img[src*='arrowrightdownno.gif']").length; var down=!$("img[src*='arrowdownno.gif']").length; var downleft=!$("img[src*='arrowleftdownno.gif']").length; var left=!$("img[src*='arrowleftno.gif']").length; var leftup=!$("img[src*='arrowleftupno.gif']").length; var ad= new Array(); if(up) {ad[t]=0;t++;} if(upright) {ad[t]=1;t++;} if(right) {ad[t]=2;t++;} if(downright) {ad[t]=3;t++;} if(down) {ad[t]=4;t++;} if(downleft) {ad[t]=5;t++;} if(left) {ad[t]=6;t++;} if(leftup) {ad[t]=7;t++;} direction.randDir=ad[rndFrom(0,ad.length-1)];//choose from available directions only GM_log('Directions:'+JSON.stringify(ad)+'- Dir set:'+direction.randDir); } function doBattleLoop(){ clearTimeout(timeOuts.battleLoop); var iloading=isLoading(); if(iloading==true){ timeOuts.battleLoop=setTimeout(doBattleLoop,10000);//rndFrom(2000,3000)); return(false); } if($('div#ajax > form#battleForm > div.errorMsg').length){ if($('div#ajax > form > div.errorMsg').html()!=undefined){ if($('div#ajax > form > div.errorMsg').html().toString().indexOf('It seems as though you have already completed this battle')!=-1){ newMap(); return(false); } } } if($('div#ajax > div.errorMsg').length){ if($('div#ajax > div.errorMsg').html()!=undefined){ if($('div#ajax > div.errorMsg').html().toString().indexOf('It seems as though you have already completed this battle')!=-1){ newMap(); return(false); } } } if($('div#ajax > form#battleForm > h2').html()=='Your Pok'+String.fromCharCode(233)+'mon Team:'.toString()){ setTimeout(function(){ $("form#battleForm").submit(); isWildBattle(); },150) return(false); } if($('div#ajax > form#battleForm > h2').html()=='Choose an attack'){ $('#attack'+rndFrom(1,4)).attr('checked', true); //$('#attack4').attr('checked', true); isWildBattle(); $("form#battleForm").submit(); return(false); } if($('div#ajax > form#battleForm > h2').html()=='Attack results'){ isWildBattle(); $("form#battleForm").submit(); return(false); } if($('div#ajax > p:eq(1) > a:eq(0)').html()=='Return to the Map'){ clearTimeout(timeOuts.session); setTimeout(function(){ GM_setValue('new_session',true) $('div#ajax > p:eq(1) > a:eq(0)').get(0).click(); },6000) return(false); } //when the 'You have already completed a battle within the last 10 seconds. This is in effect to prevent cheating of any kind.' error shows up if($('div#ajax > p:eq(0) > a:eq(0)').html()=='Return to the Map'){ clearTimeout(timeOuts.session); setTimeout(function(){ GM_setValue('new_session',true) $('div#ajax > p:eq(0) > a:eq(0)').get(0).click(); },6000) return(false); } } function isLoading(){ var ml=$('div#mapLoading').length; //map var bl=$('div#loading').length; //battle if(bl!=0) { bl=$('div#loading').css('visibility'); if(bl=='hidden'){ return(false); }else{ return(true); } } if(ml!=0) { ml=$('div#mapLoading').css('visibility'); if(ml=='hidden'){ return(false); }else{ return(true); } } return(true); } function isWildBattle(){ //checks for wildbattle.php var enabled=GM_getValue('battle_enabled',false); if(enabled){ if(dlh.indexOf('wildbattle')!=-1){ GM_setValue('new_session',true) timeOuts.battleLoop=setTimeout(doBattleLoop,50); } } } function moveMe(){ clearTimeout(timeOuts.moveAround); var en=GM_getValue('move_enabled',true) if(en==false) { clearTimeout(timeOuts.session); return(false); } var t=250; var iloading=isLoading; if(iloading==true){ timeOuts.moveAround=setTimeout(moveMe,t); return(false); } direction.moves++; var lm=direction.randDir; doMove(); if(lm!=direction.randDir) doMove(); if(direction.moves>100) { //it has not found any pokemon to battle clearTimeout(timeOuts.session); clearTimeout(timeOuts.battleButton); newMap(); return(false); } timeOuts.battleButton=setTimeout(findBattleBTN,t); } function findBattleBTN(){ if(dlh.indexOf('wildbattle')!=-1) return(false); var t=250; clearTimeout(timeOuts.battleButton); clearTimeout(timeOuts.moveAround); var iloading=isLoading(); if(iloading==true){ timeOuts.battleButton=setTimeout(findBattleBTN,t); return(false); } if($('div#pkmnappearomega > form > p > input:eq(1)').length){ //clearTimeout(timeOuts.session); var h=$('div#pkmnappearomega > form').html().toLowerCase(); if((h.indexOf('unown')==-1)){ savePokemon(); var h=$('div#alert').html(); if(h.length>2) { newMap(); return(false); } setTimeout(function(){ GM_setValue('new_session',true) $('div#pkmnappearomega > form')[0].submit(); },500); //timeOuts.moveAround=setTimeout(moveMe,175); return(false); }else{ timeOuts.moveAround=setTimeout(moveMe,t); } }else{ timeOuts.moveAround=setTimeout(moveMe,t); } } function savePokemon(){ //dont save just return; return; var tbattles=GM_getValue('tbattles',0); tbattles++; GM_setValue('tbattles',tbattles); var image=$('div#pkmnappearomega > form > center > img').attr('src'); var pokemon; var st=''; if($('div#pkmnappearomega > form > center > p > img').length){ //when you own it, grab whats in the strong tag st=' > strong' } pokemon=$('div#pkmnappearomega > form > center > p ' +st).html().replace(' appeared','').toString().trim(); var map=dlh.split('='); map=map[1]; var p=new Object(); p.i=image.replace('http://static.pokemon-vortex.com/images/pokemon/','') p.n=pokemon.trim(); p.m=map; p.c=0; var ls=GM_getValue('plist','[]') try{ PokemonList=JSON.parse(ls); }catch(e){} if(!pexist(pokemon.trim())) { PokemonList.push(p); GM_setValue('plist',JSON.stringify(PokemonList)); } GM_log(ctime(Date.now()) + ' = ' +PokemonList.length); } function doMove(){ if(direction.randDir==0) direction.up(); if(direction.randDir==1) direction.upright(); if(direction.randDir==2) direction.right(); if(direction.randDir==3) direction.downright(); if(direction.randDir==4) direction.down(); if(direction.randDir==5) direction.downleft(); if(direction.randDir==6) direction.left(); if(direction.randDir==7) direction.leftup(); } function createButtons(){ var enabled=GM_getValue('move_enabled',false); var btn=document.createElement('input'); btn.value='Auto-move Enabled'; btn.id='DAFDS'; btn.type='button'; btn.style.cssText='position:fixed;top:5px;left:5px;'; if(!enabled) btn.value='Auto-move Disabled'; btn.addEventListener('click', function (e) { var isenabled=GM_getValue('move_enabled',false); if(!isenabled){ doEnableMove(); }else{ doDisableMove(); } },false); document.body.appendChild(btn); if(enabled)doEnableMove(); enabled=GM_getValue('battle_enabled',false) btn=document.createElement('input'); btn.value='Auto-battle Enabled' btn.id='DDDDERE' btn.type='button'; btn.style.cssText='position:fixed;top:35px;left:5px;'; if(!enabled) btn.value='Auto-battle Disabled'; btn.addEventListener('click', function (e) { var isenabled=GM_getValue('battle_enabled',false); if(!isenabled){ doEnableBattle(); }else{ doDisableBattle(); } },false); document.body.appendChild(btn); } function sessionTimeout(){ clearTimeout(timeOuts.battleButton); clearTimeout(timeOuts.moveAround); clearTimeout(timeOuts.session); if(dlh.indexOf('wildbattle.php')!=-1) return(false); timeOuts.session=setTimeout(sessionTimeout,0); if(dlh.indexOf('wildbattle.php')==-1) timeOuts.battleButton=setTimeout(findBattleBTN,75); } function doDisableBattle(){ GM_setValue('battle_enabled',false); $('#DDDDERE').attr('value','Auto-battle Disabled') clearTimeout(timeOuts.battleLoop); } function doEnableBattle(){ GM_setValue('battle_enabled',true); $('#DDDDERE').attr('value','Auto-battle Enabled') if(dlh.indexOf('wildbattle')!=-1){ timeOuts.battleLoop=setTimeout(doBattleLoop,rndFrom(1000,1250)) } } function doDisableMove(){ GM_setValue('move_enabled',false); clearTimeout(timeOuts.battleButton); clearTimeout(timeOuts.moveAround); clearTimeout(timeOuts.session); $('#DAFDS').attr('value','Auto-move Disabled') } function doEnableMove(){ StartTime=Date.now() //sessionTimeout(); GM_setValue('move_enabled',true); $('#DAFDS').attr('value','Auto-move Enabled') if(dlh.indexOf('wildbattle.php')==-1) timeOuts.battleButton=setTimeout(findBattleBTN,75); } function rndFrom(from,to){ return Math.floor(Math.random()*(to-from+1)+from); } function newMap(){ var map=dlh.split('='); map=map[1]; var nmap=rndFrom(1,25) while (nmap==map) { nmap=rndFrom(1,25) } setTimeout(function(){ document.location.href='http://'+getServerName()+'.pokemon-vortex.com/map.php?map='+nmap; },2000); } function ctime(d) { if (d==0) return ('Not Set'); var time=new Date(d); var hr=time.getHours(); var min=time.getMinutes(); var sec=time.getSeconds(); var mon=time.getMonth()+1; var day=time.getDate(); var msec=time.getMilliseconds(); var ampm=' PM '; if (hr < 12) { ampm=' AM '; } if (hr > 12) { hr -=12; } if (hr==0) { hr=12; } if (hr < 10) { hr=' '+hr; } if (min < 10) { min='0'+min; } if (sec < 10) { sec='0'+sec; } var ct=mon+'/'+day+' '+hr+':'+min+':'+sec+ampm; if (ct.indexOf('NaN')!=-1) ct=d; return (ct) } function getServerName(){ var urlParms=document.location.href.toString().split('.'); var server=urlParms[0].replace('http://',''); return(server); } function pexist(n){ if(PokemonList==null) return(false); for(var i=0;i<PokemonList.length;i++){ if(PokemonList[i].n==n){ GM_log("Pokemon - " +n+ " Exists!") return(true); } } GM_log("Pokemon - " +n+ " Does Not Exists!") return(false); } function iwindowOpen(){ return; var win=window.open('http://'+getServerName()+'.pokemon-vortex.com/map.php?map='+rndFrom(1,25)); $('div#scrollContent').html('<b>Leave this window open, <br>it administrates the session timeout and window loading errors of the new window</b>'.toUpperCase()); windowsessionTimeout(); return(false); } })();