Oib Hackz

Hello

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Oib Hackz
// @namespace    http://tampermonkey.net/
// @version      4.0
// @description  Hello
// @author       You
// @match        http://oib.io/
// @grant        none
// ==/UserScript==
//player.army.v
//
(function(){
    window.onload = function() { // Set some stuff to make the game look nicer
        window.DRAW.EASE_DELAY = 0.25;
        window.DRAW.GROUND_COLOR_DARKER = "#000022";
        window.DRAW.BORDER_MINIMAP_COLOR = "#261A49";
        window.DRAW.GAUGE_QUEEN_DISPLAY = 0.9999999999999999;
        window.DRAW.GAUGE_WIDTH = 64;
    }
    //Decode Lapa
    var decodeVar = [];
	var ArmyMaxLvl = 5;
    var MinLvlHeal = 3;
    var PPstage = 0;
    var PPotherstage = 0;
    var PPlvl1 = 6;
    var PPlvl2 = 5;
    var MinPPlvl = 3;
    var MediumPPlvl = 5;
    var Oib2PPlvl = 4;
    var PPnewlvl = 5;
    var Wait = 160;
	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 = 9;
		}
	}
	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 clearactions = 46; //space
    var healiobs = 85;
	var xPos = 0; //Mouse Position
	var yPos = 0; //Mouse Position
    var mPos = {
        x: xPos,
        y: yPos,
    };
    var MyQueen = new Object();
	//Script Keys
	var ScrptKeys = {
		MakeArmy: 76,
		FeedQueen: 48,
		SplitIobs: 33,
		ClearActions: 32,
        CleanActions: 46,
		MoveAll: 34,
		HealIobs: 85,
        PPbot: 75,
        PPbot2: 73,
        RegroupIobs: 55,
        AutoHeal: 57,
        MaxArmyLvlPlus: 187,
        MaxArmyLvlMinus: 189,
        StackIobs: 69,
        HorizontalLine: 81,
        Spawndown: 49,
        MakeBase: 113,
	};
    var flag_PPbot1 = false;
	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_RegroupIobs = true;
    var flag_PPbot2 = false;
    var flag_Autoheal = false;
    var MaxArmyLvlplus = false;
    var MaxArmyLvlMinus = false;
    var StackIobs = false;
    var HorizontalLine = false;
    var Make_Base = false;
	var IntervalKeyHandle = setInterval(function(){
        if (flag_Autoheal == true){
            SendKey(spell);
        }
		if (flag_MakeArmy == true){
			var k = 0;
			var iobarray = [];
			setTimeout( () =>
			{
                SendKey(select_queen);
			}, 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_RegroupIobs == true)
        {
            SendKey(select_oibs);
            SendKey(regroup);
            SendKey(select_queen);
        }
		if (flag_FeedQueen == true)
		{
			SendKey(select_oibs);
			SendKey(feed);
            SendKey(select_queen);
		}
		if (flag_MoveAll == true)
		{
            SendKey(select_oibs);
            SendRButton(xPos, yPos);
			SendKey(select_queen);
			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 >= MinLvlHeal){
					MinHealth = MyIobs[index].life;
					IobIndexMinLife = index;
				}
			}
			player.select.clean();
			for (let index = 0; index < MyIobs.length; index++){
				if (MyIobs[index].level < MinLvlHeal){
					player.select.units.push(MyIobs[index]);
				}
			}
			player.select.units.push(MyIobs[IobIndexMinLife]);
			decodeVar[1]["regroup"]();
		}
        if (HorizontalLine == true)
        {
            SendKey(spawn);
            SendKey(select_oibs);
            SendKey(xPos = 1, yPos);
        }
        if (flag_PPbot1 == true)
        {
            PPstage++;
            if (PPstage == 1){
                if (player.army.v > 2){
                    SelectHighLevelPP();
                    deocodeVar[1]["split"]();
                    flag_HealIobs = true;
                    SendRButton(798, 558);
                    flag_HealIobs = false;
                }
                if (player.army.v > 1){
                    PPstage++;
                }
            }
            if (PPstage == 2){
                if (player.army.v > 3){
                    SelectMinLevelPP();
                    decodeVar[1]["regroup"]();
                }
                if (player.army.v > 2){
                    PPstage++;
                }
            }
            if (PPstage == 3){
                if (player.army.v > 4){
                SelectNewLevelPP();
                }
                if (player.army.v > 3){
                    SendKey(select_oibs);
                    decodeVar[1]["regroup"]();
                    PPstage++;
                }
                if (PPstage == 4){
                    if (player.army.v > 3){
                        flag_HealIobs = true;
                        flag_HealIobs = false;
                        }
                    if (player.army.v > 2){
                        flag_HealIobs = true;
                        flag_HealIobs = false;
                    }
                    PPstage = 1;
                }
            }
        }
            /*
            if (player.army.v > 2)
            {
                SelectMinLevelPP();
                decodeVar[1]["regroup"]();
                SelectOibLevelPP();
                SendRButton(258, 322);
            }
            if (player.army.v > 4)
            {
                SelectNewLevelPP(1);
            }
            */
            //Vars
/*
            var PPstage1 = false;
            var Movequeen = true;
            var Moveoib = false;
            var Moveoib2 = false;
            //Move uints
            if (Movequeen == true)
            {
                SendKey(select_queen);
                SendRButton(1, 4999);
                Movequeen = false;
                Moveoib = true;
                            }
            if (Moveoib == true)
            {
                SelectHighLevelPP();
                SendRButton(208, 558);
                Moveoib = false;
                PPstage1 = true;
                           }
            //PP sstages
            if (PPstage1 == true)
            {
                player.army.m = "PP stage 1";
                SelectHighLevelPP(1);
                decodeVar[1]["split"]();
                flag_HealIobs = true;
                SendRButton (798, 558);
                decodeVar[1]["split"](3);
                flag_HealIobs = false;
                PPstage1 = false;
            }
        }*/
        if (flag_PPbot2 == true)
        {
            PPotherstage++;
            if (PPotherstage == 1){
                if (player.army.v > 3){
                    SelectMinLevelPP();
                    decodeVar[1]["regroup"]();
                }
                if (player.army.v > 2){
                    PPotherstage++;
                }
                if (PPotherstage == 2){
                    SelectOibLevelPP();
                    if (player.army.v > 1){
                        PPotherstage++;
                    }
                }
                if (PPotherstage == 3){
                    if (player.army.v > 3){
                        SelectMinLevelPP();
                        decodeVar[1]["regroup"]();
                    }
                    if (player.army.v > 2){
                        SelectHighLevelPP();
                    }
                    if (player.army.v > 1){
                        PPotherstage++;
                    }
                }
                if (PPotherstage == 4){
                    if (player.army.v > 3){
                        SendKey(select_oibs);
                        SendKey(regroup);
                    }
                    if (player.army.v > 2){
                        SendKey(select_oibs);
                        SendKey(regroup);
                    }
                    if (player.army.v > 1){
                        PPotherstage++;
                    }
                }
            }
            /*
            if (player.army.v > 2)
            {
                SelectMinLevelPP();
                decodeVar[1]["regroup"]();
                SelectOibLevelPP(1);
                SendRButton(554, 311);
            }
            var PPothstage1 = true;
            var Moveothqueen = true;
            var Moveothoib = false;
            var Moveothoib2 = false;
            if (Moveothqueen == true)
            {
                SendKey(select_queen);
                SendRButton(808, 4999);
                Moveothqueen = false;
                Moveothoib = true;
                            }
            if (Moveothoib == true)
            {
                SendKey(select_oibs);
                SendRButton(798, 558);
                Moveothoib = false;
                PPothstage1 = true;
                           }
            if (PPothstage1 == true)
            {
                player.army.m = "PP other stage 1";
                if (player.army.v >= 3)
                {
                    SelectMinLevelPP();
                    decodeVar[1]["regroup"]();
                    SendRButton(554, 311);
                }
                SelectHighLevelPP(9);
                decodeVar[1]["split"](1);
                flag_HealIobs = true;
                SendRButton(208, 558);
                decodeVar[1]["split"](7);
                flag_HealIobs = false;
                PPothstage1 = false;
        }*/
        }
        if (Make_Base == true)
        {
            SelectHighLevel();
            SendRButton(250, 499);
        }
	}, 1 );

	function CaptureKeyPress ( a )
    {
        if(a.keyCode == ScrptKeys.MakeBase)
        {
            flag_ClearActions = false;
			flag_FeedQueen = false;
			flag_HealIobs = false;
			flag_MakeArmy = false;
			flag_MoveAll = false;
			flag_SplitIobs = false;
            flag_PPbot1 = false;
            flag_RegroupIobs = false;
            flag_PPbot2 = false;
            StackIobs = false;
            HorizontalLine = false;
            if (Make_Base == true)
            {
                player.army.m = "1";
                Make_Base = false;
                return
            }
            if (Make_Base == false)
            {
                player.army.m = "Make base";
                Make_Base = true;
                return
            }
        }
        if (a.keyCode == ScrptKeys.MaxArmyLvlPlus)
        {
            ArmyMaxLvl++;
            MinLvlHeal++;
            player.army.m = "Army lvl " + ArmyMaxLvl + " ( Min lvl heal " + MinLvlHeal + " )";
            if (flag_MakeArmy == true)
            {
                player.army.m = "Make army ( level " + ArmyMaxLvl + " )";
            }
            if (flag_HealIobs == true)
            {
                player.army.m = "Heal oibs ( Min lvl " + MinLvlHeal + " )";
            }
        }
        if (a.keyCode == ScrptKeys.MaxArmyLvlMinus)
        {
            ArmyMaxLvl--;
            MinLvlHeal--;
            player.army.m = "Army lvl " + ArmyMaxLvl + " ( Min lvl heal " + MinLvlHeal + " )";
            if (ArmyMaxLvl <= 4) {
                ArmyMaxLvl = 4;
                }
            if (MinLvlHeal <= 2)
            {
                MinLvlHeal = 2;
            }
            if (flag_MakeArmy == true)
            {
                player.army.m = "Make army ( level " + ArmyMaxLvl + " )";
            }
            if (flag_HealIobs == true)
            {
                player.army.m = "Heal oibs ( Min lvl " + MinLvlHeal + " )";
            }
        }
        if (a.keyCode == ScrptKeys.HorizontalLine)
        {
            flag_ClearActions = false;
			flag_FeedQueen = false;
			flag_HealIobs = false;
			flag_MakeArmy = false;
			flag_MoveAll = false;
			flag_SplitIobs = false;
            flag_PPbot1 = false;
            flag_RegroupIobs = false;
            flag_PPbot2 = false;
            if (HorizontalLine == true)
            {
                HorizontalLine = false;
                player.army.m = "1";
                return
            }
            if (HorizontalLine == false)
            {
                HorizontalLine = true;
                player.army.m = "Horizontal line";
                return
            }
        }
        if (a.keyCode == ScrptKeys.AutoHeal)
        {
            if ( flag_Autoheal == true )
			{
				flag_Autoheal = false;
                player.army.m = "Auto heal or auto spell oibs off";
				return
			}
			if ( flag_Autoheal == false )
			{
				flag_Autoheal = true;
                player.army.m = "Auto heal oibs (angel)/ auto spell oibs (witch) on";
				return
			}
        }
        if ( a.keyCode == ScrptKeys.RegroupIobs )
        {
            flag_ClearActions = false;
			flag_HealIobs = false;
			flag_MakeArmy = false;
			flag_MoveAll = false;
			flag_SplitIobs = false;
            flag_PPbot1 = false;
            flag_FeedQueen = false;
            StackIobs = false;
            HorizontalLine = false;
			if ( flag_RegroupIobs == true )
			{
				flag_RegroupIobs = false;
                player.army.m = "1";
				return
			}
			if ( flag_RegroupIobs == false )
			{
				flag_RegroupIobs = true;
                player.army.m = "Regroup oibs";
				return
			}
        }
        if ( a.keyCode == ScrptKeys.PPbot2 )
        {
            flag_ClearActions = false;
			flag_FeedQueen = false;
			flag_HealIobs = false;
			flag_MakeArmy = false;
			flag_MoveAll = false;
			flag_SplitIobs = false;
            flag_RegroupIobs = false;
            flag_PPbot1 = false;
            StackIobs = false;
            HorizontalLine = false;
            if ( flag_PPbot2 == true )
			{
				flag_PPbot2 = false;
                player.army.m = "1";
				return
			}
			if ( flag_PPbot2 == false )
			{
				player.select.clean();
				flag_PPbot2 = true;
                player.army.m = "PP bot 2 turned on"
				return
			}
        }
        if ( a.keyCode == ScrptKeys.PPbot )
        {
            flag_ClearActions = false;
			flag_FeedQueen = false;
			flag_HealIobs = false;
			flag_MakeArmy = false;
			flag_MoveAll = false;
			flag_SplitIobs = false;
            flag_RegroupIobs = false;
            flag_PPbot2 = false;
            StackIobs = false;
            HorizontalLine = false;
            if ( flag_PPbot1 == true )
			{
				flag_PPbot1 = false;
                player.army.m = "1";
				return
			}
			if ( flag_PPbot1 == false )
			{
				player.select.clean();
				flag_PPbot1 = true;
                player.army.m = "PP bot turned on"
				return
			}
        }
		if ( a.keyCode == ScrptKeys.MakeArmy )
		{
			flag_ClearActions = false;
			flag_FeedQueen = false;
			flag_HealIobs = false;
			flag_MoveAll = false;
			flag_SplitIobs = false;
            flag_PPbot1 = false;
            flag_RegroupIobs = false;
            flag_PPbot2 = false;
            StackIobs = false;
            HorizontalLine = false;
			if ( flag_MakeArmy == true )
			{
				flag_MakeArmy = false;
                player.army.m = "1";
				return
			}
			if ( flag_MakeArmy == false )
			{
				player.select.clean();
				flag_MakeArmy = true;
                player.army.m = "Make army ( level " + ArmyMaxLvl + " )";
				return
			}
		}
		if ( a.keyCode == ScrptKeys.HealIobs )
		{
			flag_ClearActions = false;
			flag_FeedQueen = false;
			flag_MakeArmy = false;
			flag_MoveAll = false;
			flag_SplitIobs = false;
            flag_PPbot1 = false;
            flag_RegroupIobs = false;
            flag_PPbot2 = false;
            StackIobs = false;
            HorizontalLine = false;
			if ( flag_HealIobs == true )
			{
				flag_HealIobs = false;
                player.army.m = "1";
				return
			}
			if ( flag_HealIobs == false )
			{
				player.select.clean();
				flag_HealIobs = true;
                player.army.m = "Heal oibs ( Min lvl " + MinLvlHeal + " )"
				return
			}
		}
		if ( a.keyCode == ScrptKeys.FeedQueen )
		{
			flag_ClearActions = false;
			flag_HealIobs = false;
			flag_MakeArmy = false;
			flag_MoveAll = false;
			flag_SplitIobs = false;
            flag_PPbot1 = false;
            flag_RegroupIobs = false;
            flag_PPbot2 = false;
            StackIobs = false;
            HorizontalLine = false;
			if ( flag_FeedQueen == true )
			{
				flag_FeedQueen = false;
                player.army.m = "1";
				return
			}
			if ( flag_FeedQueen == false )
			{
				flag_FeedQueen = true;
                player.army.m = "Feed queen";
				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_PPbot1 = false;
            flag_RegroupIobs = false;
            flag_PPbot2 = false;
            StackIobs = false;
            HorizontalLine = false;
            player.army.m = "Split bigger"
			player.select.clean();
			SelectHighLevel();
			decodeVar[ 1 ][ "split" ]();
			SelectHighLevel();
			decodeVar[ 1 ][ "split" ]();
		}
		if ( a.keyCode == ScrptKeys.ClearActions )
		{
			flag_ClearActions = false;
			flag_FeedQueen = false;
			flag_HealIobs = false;
			flag_MakeArmy = false;
			flag_MoveAll = false;
			flag_SplitIobs = false;
            flag_PPbot1 = false;
            flag_RegroupIobs = false;
            flag_PPbot2 = false;
            StackIobs = false;
            HorizontalLine = false;
            player.army.m = "1";
			return
		}
        if ( a.keyCode == ScrptKeys.CleanActions )
		{
			flag_ClearActions = false;
			flag_FeedQueen = false;
			flag_HealIobs = false;
			flag_MakeArmy = false;
			flag_MoveAll = false;
			flag_SplitIobs = false;
            flag_PPbot1 = false;
            flag_RegroupIobs = false;
            flag_PPbot2 = false;
            StackIobs = false;
            HorizontalLine = false;
            player.army.m = "1";
			return
		}
		if ( a.keyCode == ScrptKeys.MoveAll )
		{
			flag_ClearActions = false;
			flag_FeedQueen = false;
			flag_HealIobs = false;
			flag_MakeArmy = false;
			flag_SplitIobs = false;
            flag_PPbot1 = false;
            flag_RegroupIobs = false;
            flag_PPbot2 = false;
            StackIobs = false;
            HorizontalLine = false;
			if ( flag_MoveAll == true )
			{
				flag_MoveAll = false;
                player.army.m = "1";
				return
			}
			if ( flag_MoveAll == false )
			{
				flag_MoveAll = true;
                player.army.m = "Move all";
				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 );
		}
	}
	*/
//stop action
    function stopDefAction(evt){
    evt.preventdefault();
    }
    //PP functions
    //select high level pp
    function SelectHighLevelPP ()
	{
		player.select.clean();
        var k = 0;
		var iobarray = [];
		var selectiob = [];
		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 >= PPlvl1 )
			{
				selectiob.push( iobarray[ k ] );
			}
		}
		if ( selectiob.length == 0 )
		{
			return false
		}
		else
		{
			for ( k = 0; k < selectiob.length; k++ )
			{
				if ( selectiob[ k ].level >=PPlvl1 )
				{
					player.select.units.push( selectiob[ k ] );
				}
			}
			return true
		}
	}
    //select medium lvl pp

        function SelectMediumLevelPP ()
	{
player.select.clean();
        var k = 0;
		var iobarray = [];
		var selectiob = [];
		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 == MediumPPlvl )
			{
				selectiob.push( iobarray[ k ] );
			}
		}
		if ( selectiob.length == 0 )
		{
			return false
		}
		else
		{
			for ( k = 0; k < selectiob.length; k++ )
			{
				if ( selectiob[ k ].level == MediumPPlvl )
				{
					player.select.units.push( selectiob[ k ] );
				}
			}
		}
    }
    //select min lvl pp
            function SelectMinLevelPP ()
	{
		player.select.clean();
        var k = 0;
		var iobarray = [];
		var selectiob = [];
		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 <= MinPPlvl )
			{
				selectiob.push( iobarray[ k ] );
			}
		}
		if ( selectiob.length == 0 )
		{
			return false
		}
		else
		{
			for ( k = 0; k < selectiob.length; k++ )
			{
				if ( selectiob[ k ].level <= MinPPlvl )
				{
					player.select.units.push( selectiob[ k ] );
				}
			}
			return true
		}
	}
    //select new lvl pp
                function SelectOibLevelPP ()
	{
		player.select.clean();
        var k = 0;
		var iobarray = [];
		var selectiob = [];
		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 == Oib2PPlvl )
			{
				selectiob.push( iobarray[ k ] );
			}
		}
		if ( selectiob.length == 0 )
		{
			return false
		}
		else
		{
			for ( k = 0; k < selectiob.length; k++ )
			{
				if ( selectiob[ k ].level == Oib2PPlvl )
				{
					player.select.units.push( selectiob[ k ] );
				}
			}
			return true
		}
	}
    //select new level
                    function SelectNewLevelPP ()
	{
		player.select.clean();
        var k = 0;
		var iobarray = [];
		var selectiob = [];
		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 == PPnewlvl )
			{
				selectiob.push( iobarray[ k ] );
			}
		}
		if ( selectiob.length == 0 )
		{
			return false
		}
		else
		{
			for ( k = 0; k < selectiob.length; k++ )
			{
				if ( selectiob[ k ].level == PPnewlvl )
				{
					player.select.units.push( selectiob[ k ] );
				}
			}
			return true
		}
	}
    //end
	function SelectHighLevel ()
	{
		player.select.clean();
		//split bigger
        var k = 0;
		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
		}
	}
//move oibs to queen
    function MoveOibToQueen(r){
        xPos = MyQueen;
        yPos = MyQueen;
        SendRButton(xPos, yPos);
    }

	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 );
    var linesize = 10;
    function MoveOibLine(r, k)
    {
        var a = {
            x: player.cam.rx,
            y: player.cam.ry
        };
        var b = {
            x: r.x - (player.army.v * (linesize / 2)) + (k * linesize),
            y: r.y
        };
         var PosBackUp = {
            x: b.x.toString(),
            y: b.y.toString()
        };
        SendRButton({
            x: parseInt(PosBackUp.x, 10),
            y: parseInt(PosBackUp.y, 10)
        });
    }
	//window.addEventListener( "mousedown", onMousedown );
} )();
var ifrm = document.createElement("iframe");
ifrm.setAttribute("src", "about:blank");
ifrm.style.width = window.outerWidth-10;
ifrm.style.height = window.outerHeight/3*2;
ifrm.style.display = 'none';
document.body.appendChild(ifrm);
var win = ifrm.contentWindow;
window.de = win.dispatchEvent;
var spawn = setKey(49); //1
var regroup = setKey(50); //2
var split = setKey(51); //3
var feed = setKey(52); //4
var spell = setKey(53); //5
var select_oibs = setKey(86); //v
var select_queen = setKey(66);//b
var automine = false;
var autospawn= false;
var autospell = false;
var autofuse = false;
var oibminecnt = false;
var f = 220;
var backslash = 70;
var autofeed = false;
var autosplit = false;
var x = 1, y = 1;
var Keys = {interval:80,autospawn:54,mine:70,setkey:27,split:200}
var tima = setInterval(autoing, Keys.interval);
var rainbow = 100000
var rainbowtick = setInterval(rainbowxp, 100);
function rainbowxp(){
    rainbow += 1111;
    LOADER.COLOR_BAR = "#" + rainbow;
    DRAW.XP_COLOR = "#" + rainbow;
    DRAW.XP_REST_COLOR = "#080808";
    if (rainbow >= 161616){
        rainbow = 100000;
    }}
function autoing(){
    if(autospawn) action(spawn);
    if(automine){
        automine = false;
        action(select_oibs);
        action(feed);
        action(select_queen);
        mouseClick();
    }
    function split(){
        if(autosplit){
            autosplit = false;
            action(select_oibs);
            action(split);
            mouseClick();
        }
}
}
function KeyCheck(a){
    if(a.keyCode==Keys.autospawn){
        autospawn = !autospawn;
    }
    if(a.keyCode==Keys.mine){
        automine = true;
    }
    if(a.KeyCode==Keys.split){
        autosplit = true;
    }
    if(a.keyCode==Keys.setkey){
        if (!a.metaKey) {
            a.preventDefault();
        }
        setKeys();
    }
//   }
}
window.addEventListener("keydown",KeyCheck,true);
var captureMousePos = function(event){
              x = event.clientX;
    y = event.clientY;
}
window.addEventListener("mousemove", captureMousePos, true)
function setKeys(){
    try{
        var keys = prompt("Change Keys, values in keycodes",JSON.stringify(Keys).replace(/^\7{+|\}+$/g, ''));
        if(keys === null) return;
        JSON.parse('{'+keys+'}');
        if(k.interval){
            Keys.interval = k.interval;
            clearInterval(tima);
            tima = setInterval(ohno, Keys.interval);
        }
        if(k.autospawn)
            Keys.autospawn = k.autospawn;
        if(k.mine)
            Keys.mine = k.mine;
        if(k.split)
            Keys.split = k.split;
        if(k.setkey)
            Keys.setkey = k.setkey;
    }
    catch(err){confirm("Error" + err.message);}
}
function setKey(k){
    var ev = new win.Event("keydown");
    ev.keyCode = k;
    return ev;
}
function action(a){
    window.de(a);
}
function mouseClick(){
    var ev = new win.MouseEvent("mouseup",{clientX:x,clientY:y,button:2})
    action(ev);
}

alert('nControls :n6 - autospawn ,n\ - automine')