[Release] League of Legends Instant Lock Champion Tool

09/03/2020 16:16 zamanf#1
League of Legends Instant Lock Champion Tool


What does this script?

It will automate the process of picking blind pick mode, search for a match, accept, instantly lock the champion of your choice and call your position.



Run this script to start a game, the rest will be done automatically. You can take a shit in peace.

Perl Version

PHP Code:


# contact: zamanf @ elitepvpers
# run this script to search for a game and instantly pick your champion

use warnings;
use 
MIME::Base64;
use 
LWP::UserAgent;
use 
Data::Dumper;
use 
JSON::Parse 'parse_json';
use 
Time::HiRes qw(sleep);

my %setting = (
    
CHAMPION    => ucfirst('Teemo'),
    
POSITION    => 'SUP BITCHEZ',
    
AUTOSEARCH  => 1,
    
AUTOACCEPT  => 1,
    
AUTOCALL    => 1,
    
AUTOCHAMP   => 1,
);

my %list = (
        
'Aatrox'         => 266,
        
'Ahri'           => 103,
        
'Akali'          => 84,
        
'Alistar'        => 12,
        
'Amumu'          => 32,
        
'Anivia'         => 34,
        
'Annie'          => 1,
        
'Aphelios'       => 523,
        
'Ashe'           => 22,
        
'AurelionSol'    => 136,
        
'Azir'           => 268,
        
'Bard'           => 432,
        
'Blitzcrank'     => 53,
        
'Brand'          => 63,
        
'Braum'          => 201,
        
'Caitlyn'        => 51,
        
'Camille'        => 164,
        
'Cassiopeia'     => 69,
        
'Chogath'        => 31,
        
'Corki'          => 42,
        
'Darius'         => 122,
        
'Diana'          => 131,
        
'DrMundo'        => 36,
        
'Draven'         => 119,
        
'Ekko'           => 245,
        
'Elise'          => 60,
        
'Evelynn'        => 28,
        
'Ezreal'         => 81,
        
'Fiddlesticks'   => 9,
        
'Fiora'          => 114,
        
'Fizz'           => 105,
        
'Galio'          => 3,
        
'Gangplank'      => 41,
        
'Garen'          => 86,
        
'Gnar'           => 150,
        
'Gragas'         => 79,
        
'Graves'         => 104,
        
'Hecarim'        => 120,
        
'Heimerdinger'   => 74,
        
'Illaoi'         => 420,
        
'Irelia'         => 39,
        
'Ivern'          => 427,
        
'Janna'          => 40,
        
'JarvanIV'       => 59,
        
'Jax'            => 24,
        
'Jayce'          => 126,
        
'Jhin'           => 202,
        
'Jinx'           => 222,
        
'Kaisa'          => 145,
        
'Kalista'        => 429,
        
'Karma'          => 43,
        
'Karthus'        => 30,
        
'Kassadin'       => 38,
        
'Katarina'       => 55,
        
'Kayle'          => 10,
        
'Kayn'           => 141,
        
'Kennen'         => 85,
        
'Khazix'         => 121,
        
'Kindred'        => 203,
        
'Kled'           => 240,
        
'KogMaw'         => 96,
        
'Leblanc'        => 7,
        
'LeeSin'         => 64,
        
'Leona'          => 89,
        
'Lillia'         => 876,
        
'Lissandra'      => 127,
        
'Lucian'         => 236,
        
'Lulu'           => 117,
        
'Lux'            => 99,
        
'Malphite'       => 54,
        
'Malzahar'       => 90,
        
'Maokai'         => 57,
        
'MasterYi'       => 11,
        
'MissFortune'    => 21,
        
'MonkeyKing'     => 62,
        
'Mordekaiser'    => 82,
        
'Morgana'        => 25,
        
'Nami'           => 267,
        
'Nasus'          => 75,
        
'Nautilus'       => 111,
        
'Neeko'          => 518,
        
'Nidalee'        => 76,
        
'Nocturne'       => 56,
        
'Nunu'           => 20,
        
'Olaf'           => 2,
        
'Orianna'        => 61,
        
'Ornn'           => 516,
        
'Pantheon'       => 80,
        
'Poppy'          => 78,
        
'Pyke'           => 555,
        
'Qiyana'         => 246,
        
'Quinn'          => 133,
        
'Rakan'          => 497,
        
'Rammus'         => 33,
        
'RekSai'         => 421,
        
'Renekton'       => 58,
        
'Rengar'         => 107,
        
'Riven'          => 92,
        
'Rumble'         => 68,
        
'Ryze'           => 13,
        
'Sejuani'        => 113,
        
'Senna'          => 235,
        
'Sett'           => 875,
        
'Shaco'          => 35,
        
'Shen'           => 98,
        
'Shyvana'        => 102,
        
'Singed'         => 27,
        
'Sion'           => 14,
        
'Sivir'          => 15,
        
'Skarner'        => 72,
        
'Sona'           => 37,
        
'Soraka'         => 16,
        
'Swain'          => 50,
        
'Sylas'          => 517,
        
'Syndra'         => 134,
        
'TahmKench'      => 223,
        
'Taliyah'        => 163,
        
'Talon'          => 91,
        
'Taric'          => 44,
        
'Teemo'          => 17,
        
'Thresh'         => 412,
        
'Tristana'       => 18,
        
'Trundle'        => 48,
        
'Tryndamere'     => 23,
        
'TwistedFate'    => 4,
        
'Twitch'         => 29,
        
'Udyr'           => 77,
        
'Urgot'          => 6,
        
'Varus'          => 110,
        
'Vayne'          => 67,
        
'Veigar'         => 45,
        
'Velkoz'         => 161,
        
'Vi'             => 254,
        
'Viktor'         => 112,
        
'Vladimir'       => 8,
        
'Volibear'       => 106,
        
'Warwick'        => 19,
        
'Xayah'          => 498,
        
'Xerath'         => 101,
        
'XinZhao'        => 5,
        
'Yasuo'          => 157,
        
'Yone'           => 777,
        
'Yorick'         => 83,
        
'Yuumi'          => 350,
        
'Zac'            => 154,
        
'Zed'            => 238,
        
'Ziggs'          => 115,
        
'Zilean'         => 26,
        
'Zoe'            => 142,
        
'Zyra'           => 143,
);

if (
$list{$setting{CHAMPION}}) {
    print 
"Champion to instalock: $setting{CHAMPION} ($list{$setting{CHAMPION}}) POSITION: $setting{POSITION}\n";
} else {
    print 
"Champion ($setting{CHAMPION}) not properly set or not on the list.\nExiting...";
    exit(
0)
}

my $summoner = ${zamanf('GET','lol-summoner/v1/current-summoner')}{summonerId};

my @co = (state());

while (
1) {
    
my $state state();
    
    if (
$co[-1ne $state) {
        
push@co,$state;
        print 
"State: $state\n"
    
}
        
    if (
$state eq 'Lobby') {
        
        if (
$setting{AUTOSEARCH} == 1) {
            
search()    
        }
        
    } 
elsif ($state eq 'None') {
        
        if (
$setting{AUTOSEARCH} == 1) {
            print 
"Searching for game...\n";
            
queue();
        }
        
    } 
elsif ($state eq 'Matchmaking') {
        
# wait
    
elsif ($state eq 'ReadyCheck') {
        
        if (
$setting{AUTOACCEPT} == 1) {
            
ready_check();
            print 
"Match Accepted\n";
        }
        
    } 
elsif ($state eq 'ChampSelect') {
        
        
champselect($list{$setting{CHAMPION}}) if $setting{AUTOCHAMP} == 1;
        
        
chat($setting{POSITION}) if $setting{AUTOCALL}  == 1;
        
        print 
"Exiting...\n";
        exit(
0);
    }
    
sleep 0.05
}

sub chat {
    
my @zomg = @{zamanf('GET','lol-chat/v1/conversations')};
    foreach 
my $x (0..$#zomg) {
        
if ($zomg[$x]{typeeq 'championSelect') {
            
zamanf('POST',"lol-chat/v1/conversations/$zomg[$x]{pid}/messages",'{"body": "'.shift.'"}');
        }    
    }
}

sub ready_check {
    
zamanf('POST','lol-matchmaking/v1/ready-check/accept',undef);
}

sub queue {
    
zamanf('POST','lol-lobby/v2/lobby','{"queueId": 430}')
}

sub search {
    
zamanf('POST','lol-lobby/v2/lobby/matchmaking/search',undef)
}

sub state {
    return 
zamanf('GET','lol-gameflow/v1/gameflow-phase',undef);
}

sub champselect {
    
    
my %hash = %{ zamanf('GET','lol-lobby-team-builder/champ-select/v1/session') };
    
    foreach 
my $x (@{$hash{myTeam}}) {
        foreach 
my $c (keys %{$x}) {
            if (
$x->{summonerIdeq $summoner) {
                
zamanf('PATCH',
                       
"lol-lobby-team-builder/champ-select/v1/session/actions/$x->{cellId}",
                       
'{"actorCellId": 0,"championId": '.$_[0].',"completed": true,"id": 0,"isAllyAction": true,"isInProgress": true,"type": "string"}'
                
);
                
last
            
}
        }
    }
}

sub zamanf {
    
my ($auth,$port) = @{ auth() };
    
my $ua LWP::UserAgent->newssl_opts => { verify_hostname => }, 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 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 ]
    }

Requirements


How to use

  • Save the code inside a file with .pl suffix
  • Open cmd.exe and navigate to the file path and run it using perl file.pl


Hit the Thanks button if you want me to keep posting new scripts :bandit:



09/04/2020 03:17 LeagueAddons#2
Nice release sir :)
09/04/2020 05:45 esnoubah#3
this has probability of ban?
09/05/2020 08:55 zamanf#4
New version coming soon with extra features
09/22/2020 12:09 sunday123#5
Hello the script works great. But I have question about when new champions comes up, what are the numbers u put next to the champions name in the code, so I could add for example the new champ samira into the instalock.
09/22/2020 16:13 d4imon#6
Quote:
Originally Posted by sunday123 View Post
Hello the script works great. But I have question about when new champions comes up, what are the numbers u put next to the champions name in the code, so I could add for example the new champ samira into the instalock.
what is samira code
09/22/2020 18:03 LeagueAddons#7
Quote:
Originally Posted by d4imon View Post
what is samira code
Samira ID: 360
11/05/2020 03:23 yahyakhireldin#8
Thank you so much it's work good ..............
11/21/2020 17:17 springerspgringer2#9
hi sir, is this still working?
11/22/2020 14:37 dut29#10
Hello,

How can I change the lobby search to Intro ?
02/17/2021 17:38 thecrazylions#11
cant manage it to work
04/16/2021 01:37 tsukunee#12
gwen code ?
04/16/2021 02:04 TimCarterUmbra1996#13
Would highly appreciate a code for Gwen...

Also, any idea on how to install the JSON::Parse module?

Tried RTFM via Google but unable to find a clear tutorial.

I never really worked with scripts. As a boomer, I mostly use C# for systems development.

Also, greetings from EPVP's cousin site
04/16/2021 02:32 TheBlazer#14
Quote:
Originally Posted by TimCarterUmbra1996 View Post
Would highly appreciate a code for Gwen...

Also, any idea on how to install the JSON::Parse module?

Tried RTFM via Google but unable to find a clear tutorial.

I never really worked with scripts. As a boomer, I mostly use C# for systems development.

Also, greetings from EPVP's cousin site

I have the same problem with the json parse module. And I also would like to know the code for gwen.
04/16/2021 11:37 yamks#15
hi every one I had the same proplem with JSON::Parse module?
to fix it you must have Strawberry Perl (32bit preferably) then use this command in CMD
cpan JSON::Parse
and hit enter and will get you all missing module....

Good luck :D Have Fun