您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
try to take over the world!
- // ==UserScript==
- // @name Iob Cris
- // @namespace http://tampermonkey.net/
- // @version 0.1
- // @description try to take over the world!
- // @author You
- // @match http://oib.io/
- // @grant none
- // ==/UserScript==
- //player.army.v
- //
- ( function ()
- {
- 'use strict';
- //Decode Lapa
- var decodeVar = [];
- var ArmyMaxLvl = 4;
- for ( var l = 0; 40000 > l; l++ )
- {
- var decode = "lapa" + l + "mauve";
- try
- {
- if ( typeof window[ decode ] != "undefined" )
- {
- decodeVar.push( window[ decode ] );
- console.log( decode );
- }
- }
- catch ( err )
- {
- console.log( err.message );
- }
- }
- function loop ()
- {
- player.select.split = true;
- player.select.feed = true;
- player.select.regroup = true;
- for ( var k = 0; decodeVar[ 9 ].units.length > k; k++ )
- {
- decodeVar[ 9 ].units[ k ].info_delay = 9999999;
- }
- }
- setInterval( loop );
- // Control Keys
- var spawn = 49; //1
- var regroup = 50; //2
- var split = 51; //3
- var feed = 52; //4
- var spell = 53; //5
- var camera = 82; //r
- var select_oibs = 86; //v
- var select_queen = 66; //b
- var xPos = 0; //Mouse Position
- var yPos = 0; //Mouse Position
- //Script Keys
- // space 32
- // l 76
- // k 75
- // i 73
- // o 79
- // p 80
- // u 85
- var ScrptKeys = {
- StackOibs: 220,
- MakeArmy: 222,
- FeedQueen: 221,
- SplitIobs: 192,
- ClearActions: 32,
- MoveAll: 79,
- HealIobs:186
- };
- var flag_ClearActions = false;
- var flag_FeedQueen = false;
- var flag_HealIobs = false;
- var flag_MakeArmy = false;
- var flag_MoveAll = false;
- var flag_SplitIobs = false;
- var flag_StackOibs = false;
- var spawner = setInterval( function ()
- {
- SendKey( spawn );
- }, 50 );
- var IntervalKeyHandle = setInterval( function ()
- {
- if ( flag_MakeArmy == true )
- {
- var k = 0;
- var iobarray = [];
- setTimeout( () =>
- {
- player.select.clean();
- }, 1 );
- //aquire my units
- for ( k = 0; decodeVar[ 9 ].units.length > k; k++ )
- {
- if ( decodeVar[ 9 ].units[ k ].id == player.id && decodeVar[ 9 ].units[ k ].queen == false && decodeVar[ 9 ].units[ k ].life > 0 )
- {
- iobarray.push( decodeVar[ 9 ].units[ k ] );
- }
- }
- //separate low level ones
- for ( k = 0; k < iobarray.length; k++ )
- {
- if ( iobarray[ k ].level < ArmyMaxLvl )
- {
- player.select.units.push( iobarray[ k ] );
- }
- }
- decodeVar[ 1 ][ "regroup" ]();
- }
- if ( flag_StackOibs == true )
- {
- SendKey( select_queen );
- SendRButton( xPos, yPos );
- SendKey( camera );
- }
- if ( flag_FeedQueen == true )
- {
- SendKey( select_oibs );
- SendKey( feed);
- SendKey( split );
- SendKey( select_oibs );
- SendKey( split );
- SendKey( select_oibs );
- SendKey( split );
- SendKey( select_oibs );
- SendKey( split );
- SendKey( select_oibs );
- SendKey( split );
- SendKey( select_oibs );
- SendKey( split );
- SendKey( select_oibs );
- SendKey( split );
- SendKey( select_oibs );
- SendKey( split );
- SendKey( select_oibs );
- SendKey( split );
- SendKey( select_oibs );
- SendKey( split );
- SendKey( select_oibs );
- SendKey( split );
- SendKey( feed );
- }
- if ( flag_MoveAll == true )
- {
- SendKey( select_oibs );
- SendKey( split );
- SendKey( split );
- SendKey( split );
- SendKey( select_oibs );
- SendKey( split );
- SendKey( split );
- SendKey( split );
- SendKey( select_oibs );
- SendRButton( xPos, yPos );
- }
- if ( flag_HealIobs == true )
- {
- var MinHealth = Infinity;
- var MinLevel = Infinity;
- //split bigger
- var MyIobs = [];
- var IobIndexMinLife = -1;
- var IobIndexMinLevel = -1;
- //Get My Iobs
- for ( k = 0; decodeVar[ 9 ].units.length > k; k++ )
- {
- if ( decodeVar[ 9 ].units[ k ].id == player.id && decodeVar[ 9 ].units[ k ].queen == false && decodeVar[ 9 ].units[ k ].life > 0 )
- {
- MyIobs.push( decodeVar[ 9 ].units[ k ] );
- }
- }
- // - determine min health
- for ( let index = 0; index < MyIobs.length; index++ )
- {
- if ( MinHealth > MyIobs[ index ].life && MyIobs[ index ].level >= 3 )
- {
- MinHealth = MyIobs[ index ].life;
- IobIndexMinLife = index;
- }
- }
- player.select.clean();
- for ( let index = 0; index < MyIobs.length; index++ )
- {
- if ( MyIobs[ index ].level <= 2 )
- {
- player.select.units.push( MyIobs[ index ] );
- }
- }
- player.select.units.push( MyIobs[ IobIndexMinLife ] );
- decodeVar[ 1 ][ "regroup" ]();
- }
- }, 1 );
- function CaptureKeyPress ( a )
- {
- if ( a.keyCode == ScrptKeys.StackOibs )
- {
- flag_ClearActions = false;
- flag_FeedQueen = false;
- flag_HealIobs = false;
- flag_MakeArmy = false;
- flag_MoveAll = false;
- flag_SplitIobs = false;
- SendKey( select_oibs );
- SendKey( feed );
- SendKey( select_queen );
- SendKey( camera );
- SendRButton( xPos, yPos );
- flag_StackOibs = true;
- return
- }
- if ( a.keyCode == ScrptKeys.MakeArmy )
- {
- flag_ClearActions = false;
- flag_FeedQueen = false;
- flag_HealIobs = false;
- flag_MoveAll = false;
- flag_SplitIobs = false;
- flag_StackOibs = false;
- if ( flag_MakeArmy == true )
- {
- flag_MakeArmy = false;
- return
- }
- if ( flag_MakeArmy == false )
- {
- player.select.clean();
- flag_MakeArmy = true;
- return
- }
- }
- if ( a.keyCode == ScrptKeys.HealIobs )
- {
- flag_ClearActions = false;
- flag_FeedQueen = false;
- flag_MakeArmy = false;
- flag_MoveAll = false;
- flag_SplitIobs = false;
- flag_StackOibs = false;
- if ( flag_HealIobs == true )
- {
- flag_HealIobs = false;
- return
- }
- if ( flag_HealIobs == false )
- {
- player.select.clean();
- flag_HealIobs = true;
- return
- }
- }
- if ( a.keyCode == ScrptKeys.FeedQueen )
- {
- flag_ClearActions = false;
- flag_HealIobs = false;
- flag_MakeArmy = false;
- flag_MoveAll = false;
- flag_SplitIobs = false;
- flag_StackOibs = false;
- if ( flag_FeedQueen == true )
- {
- flag_FeedQueen = false;
- return
- }
- if ( flag_FeedQueen == false )
- {
- flag_FeedQueen = true;
- return
- }
- }
- if ( a.keyCode == ScrptKeys.SplitIobs )
- {
- flag_ClearActions = false;
- flag_FeedQueen = false;
- flag_HealIobs = false;
- flag_MakeArmy = false;
- flag_MoveAll = false;
- flag_SplitIobs = false;
- flag_StackOibs = false;
- SendKey( select_oibs );
- SendKey( split );
- SendKey( split );
- SendKey( split );
- SendKey( split );
- SendKey( select_oibs );
- SendKey( split );
- SendKey( split );
- SendKey( split );
- SendKey( split );
- SendKey( select_oibs );
- SendKey( split );
- SendKey( split );
- SendKey( split );
- SendKey( split );
- SendKey( select_oibs );
- SendKey( split );
- SendKey( split );
- SendKey( split );
- SendKey( split );
- SendKey( select_oibs );
- SendRButton( xPos, yPos );
- }
- if ( a.keyCode == ScrptKeys.ClearActions )
- {
- flag_ClearActions = false;
- flag_FeedQueen = false;
- flag_HealIobs = false;
- flag_MakeArmy = false;
- flag_MoveAll = false;
- flag_SplitIobs = false;
- flag_StackOibs = false;
- return
- }
- if ( a.keyCode == ScrptKeys.MoveAll )
- {
- flag_ClearActions = false;
- flag_FeedQueen = false;
- flag_HealIobs = false;
- flag_MakeArmy = false;
- flag_SplitIobs = false;
- flag_StackOibs = false;
- if ( flag_MoveAll == true )
- {
- flag_MoveAll = false;
- return
- }
- if ( flag_MoveAll == false )
- {
- flag_MoveAll = true;
- return
- }
- }
- }
- var captureMousePos = function ( event )
- {
- xPos = event.clientX;
- yPos = event.clientY;
- }
- /*
- var onMousedown = function ( e )
- {
- if ( e.which === 1 ) //LeftMouse
- {
- SendKey( select_queen );
- SendRButton( xPos, yPos );
- SendKey( camera );
- }
- else if ( e.which === 3 ) // RightMouse
- {
- SendKey( select_oibs );
- SendRButton( xPos, yPos );
- SendKey( camera );
- }
- }
- */
- function SelectHighLevel ()
- {
- player.select.clean();
- //split bigger
- var iobarray = [];
- var splitiob = [];
- for ( k = 0; decodeVar[ 9 ].units.length > k; k++ )
- {
- if ( decodeVar[ 9 ].units[ k ].id == player.id && decodeVar[ 9 ].units[ k ].queen == false && decodeVar[ 9 ].units[ k ].life > 0 )
- {
- iobarray.push( decodeVar[ 9 ].units[ k ] );
- }
- }
- for ( k = 0; k < iobarray.length; k++ )
- {
- if ( iobarray[ k ].level > ArmyMaxLvl )
- {
- splitiob.push( iobarray[ k ] );
- }
- }
- if ( splitiob.length == 0 )
- {
- return false
- }
- else
- {
- for ( k = 0; k < splitiob.length; k++ )
- {
- if ( splitiob[ k ].level > ArmyMaxLvl )
- {
- player.select.units.push( splitiob[ k ] );
- }
- }
- return true
- }
- }
- function SendKey ( k )
- {
- var ev = new KeyboardEvent( 'keydown',
- {
- 'keyCode': k,
- 'which': k
- } );
- window.dispatchEvent( ev );
- ev = new KeyboardEvent( 'keyup',
- {
- 'keyCode': k,
- 'which': k
- } );
- window.dispatchEvent( ev );
- }
- function SendRButton ( x, y )
- {
- var ev = new window.MouseEvent( "mouseup",
- {
- clientX: x,
- clientY: y,
- button: 2
- } );
- window.dispatchEvent( ev );
- }
- function SendLButton ( x, y )
- {
- var ev = new window.MouseEvent( "mouseup",
- {
- clientX: x,
- clientY: y,
- button: 1
- } );
- window.dispatchEvent( ev );
- }
- window.addEventListener( "keydown", CaptureKeyPress );
- window.addEventListener( "mousemove", captureMousePos );
- //window.addEventListener( "mousedown", onMousedown );
- } )();