lazy tft

02/15/2023 20:51 jastolfo#1
:mofo: alright, boyz already stole my afk script, but I really dont care, so here is another cool one

you don't need to put effort on farming the battlepass, just run this script and relax, each game gives you at least 100 exp

you gonna need python and perl, and a few modules
this is just the cake recipe, do your own cake
tip: 'sair.png' is the button you click to leave the game

save this as closer.py:
PHP Code:
import pyautogui
def endgame
():
  
bobo pyautogui.locateOnScreen('sair.png',confidence=0.6,region=(460,240,500,600))
  if 
bobo != None:
    
pyautogui.moveTo(bobo.left+5bobo.top+5)
    
pyautogui.click()
    
pyautogui.mouseUp()
endgame() 
save this as whatever.pl:
(this is the one you need to run)
PHP Code:
use warnings;
use 
MIME::Base64;
use 
LWP::UserAgent;
use 
JSON::Parse 'parse_json';
use 
Time::HiRes qw(sleep);

my %eko;
my $earn;
my $need;
my ($auth,$port) = @{ auth() };
my @co = (state());
while (
1) {
    
my $state state();
  if (
$co[-1ne $state) {
    
push@co,$state;
    print 
"gf: $state\n";
  }
  if (
$state eq 'Lobby') {
    
zamanf('POST','lol-lobby/v2/lobby/matchmaking/search',undef)   
  } 
elsif ($state eq 'None') {
    
zamanf('POST','lol-lobby/v2/lobby','{"queueId": 1160}')
  } 
elsif ($state eq 'Matchmaking') {
    
# wait
  
elsif ($state eq 'InProgress') {
    
sleep 100;
        
system("python closer.py");
  } 
elsif ($state eq 'ReadyCheck') {
    
zamanf('POST','lol-matchmaking/v1/ready-check/accept',undef); 
    } 
elsif ($state eq 'WaitingForStats') {
        
sleep 13;
        
miles();
        
zamanf('POST','lol-lobby/v2/play-again',undef);
    } 
elsif ($state eq 'EndOfGame') {
    
miles();
        
zamanf('POST','lol-lobby/v2/play-again',undef);
    }
  
sleep 3;
}
sub state {return zamanf('GET','lol-gameflow/v1/gameflow-phase',undef);}
sub zamanf {
  
my $ua LWP::UserAgent->newssl_opts=>{verify_hostname=>0}, protocols_allowed=>['https']);
  
my $url "https://127.0.0.1:$port/$_[1]";
  
my $req HTTP::Request->new($_[0], $url);
  
$req->header'Accept' => 'application/json' );
  
$req->header'Content-Type' => 'application/json' );
  
$req->header'Authorization' => "Basic $auth);
  
$req->content($_[2]);
  
my $data $ua->request($req)->content;
  if (
$data) {
    return 
parse_json($data)
  }      
}
sub miles{
    %
eko = %{zamanf('GET','lol-tft/v2/tft/battlepass',undef)};
  
$earn int($eko{activeMilestone}{pointsEarnedForMilestone});
  
$need int($eko{activeMilestone}{pointsNeededForMilestone});
    print 
"earned: $earn\n";
  print 
"needed: $need\n";
}
sub auth {
  
my $proc = `WMIC path win32_process get Caption,Commandline | find "--remoting-auth-token="`;
  if (
$proc =~ /--remoting-auth-token=(\S+)".*?--app-port=(\d+)/) {
    return [ encode_base64(qq(\x72\x69\x6f\x74:$1)), $2 ]
  }

02/17/2023 02:44 jastolfo#2
for those wondering the queueids:

1090: normal
1100: ranked
1130: hyperroll (gives 50 exp)
1160: double
02/17/2023 05:09 hughjanus#3
#moved