NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name Hools AutoBot Plugin
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Plugin for Hools.
// @author MrDastan (skype: Dastan_Danik)
// @match http://hools.mgates.ru/*
// @match http://hools.mobi/*
// @match http://hools.mg.wapos.ru/*
// @match http://hools.play.tegos.ru/*
// @match http://hools.games.nasimke.ru/*
// @match http://hools.my.mgates.spaces.ru/*
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_deleteValue
// @grant GM_addStyle
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==
/* jshint -W097 */
'use strict';
GM_addStyle ( "#setting-button-container { padding-bottom: 5px; text-align: center; height: 24px; margin: 1px } "
+".settings-button { display: inline-block; margin: 2px; border: 1px solid; background-color: #585858 }"
+ ".settings-button:hover { background-color: #A8A8A8 }" );
var me = {};
me.getLevel = parseInt($('.h_level a').text().split('(')[0]);
me.getMoney = $('.h_money a').text();
me.getMoney2 = $('.h_money2').text();
me.getStuff = $('.h_stuff').text();
me.getEnergy = parseInt($('.h_energy a').text().split('/')[0]);
me.getHealth = parseInt($('.h_health a').text().split('/')[0]);
me.getAggression = parseInt($('.h_aggression a').text().split('/')[0]);
me.getAngry = parseInt($('.h_angry a').text().split('/')[0]);
var Settings = function(profileName){
var settings = GM_getValue('hools_' + profileName, {});
this.getValue = function (key, defaultValue) {
if (settings[key] !== undefined) {
return settings[key];
}
else {
return defaultValue;
}
};
this.setValue = function (key, value) {
settings[key] = value;
this.save();
};
this.save = function(){
GM_setValue('hools_' + profileName, settings);
};
};
$(function() {
var settings = new Settings( $('#i a')[0].innerText );
if (settings.getValue("useRefresh", true))
{
setTimeout(function() {
window.location.reload()
},60000)
}
switch (window.location.pathname) {
case '/user':
/*Главная страница*/
setTimeout(function() {
settings.setValue('level', me.getLevel);
if ($('#c .notice .center a').length !== 0 && settings.getValue("useHappyHour", true)) {
var jobLink = $('#c .notice .center a').first().attr('href');
if (jobLink) {
document.location = jobLink;
}
} else if ($('.left .caption').text().indexOf('[') !== -1 && settings.getValue("useQuests", true)) {
document.location = '/user/quests';
} else if (me.getHealth >= 90 && me.getAggression >= 15 && settings.getValue("useFight", true)) {
document.location = '/user/fight';
} else if (me.getEnergy >= 20 && settings.getValue("useOutwork", true)) {
document.location = '/user/outwork';
} else if (settings.getValue("useBattle", true) && $('#hdr .notice')[0].innerText.indexOf('Динамо') != -1) {
document.location = '/user/battle';
} else if (settings.getValue("useSoccerGame", true)) {
document.location = '/user/soccer_game';
} else {
document.location = '/user';
}
}, 10000);
break;
case '/user/outwork':
/*Работа*/
case '/user/outwork/index':
case '/user/outwork/details':
var moveLinkValid = $('.actions a').length;
if (me.getEnergy >= 20 && moveLinkValid !== 0 && settings.getValue("useOutwork", true)) {
var jobLink = $('.actions a').first().attr('href');
document.location = jobLink;
} else if (settings.getValue("useOutwork", true)) {
document.location = '/user';
}
break;
case '/user/soccer_game':
/*Настольный футбол*/
if ($('.info').length == 0 && settings.getValue("useSoccerGame", true)) {
var gameLink = $('.actions a').first().attr('href');
if (gameLink) {
document.location = gameLink;
}
} else if (settings.getValue("useSoccerGame", true)) {
document.location = '/user';
}
break;
case '/user/soccer_game/play':
if (settings.getValue("useSoccerGame", true)) {
var move = settings.getValue("lastMove", 1);
settings.getValue("lastMove", move ^ 1);
var moveLink = $('.items li a').eq(move).attr('href');
if (moveLink) {
document.location = moveLink;
}
var resLink = $('.actions a').first().attr('href');
if (resLink) {
GM_deleteValue("lastMove");
document.location = resLink;
}
}
break;
case '/user/fight':
/*Район*/
if ($(".notice").length === 1)
{
if (settings.getValue("useBattle", true) && $(".notice")[0].innerText.indexOf('месте'))
{
document.location = '/user/battle';
}
}
else if (me.getHealth >= 90 && me.getAggression >= 15 && settings.getValue("useFight", true) ) {
var _one = $("h3")[0].outerText;
var _oneHref = $(".img_action a")[1].href;
var _tho = $("h3")[1].outerText;
var _thoHref = $(".img_action a")[3].href;
var _tre = $("h3")[2].outerText;
var _treHref = $(".img_action a")[5].href;
if ("Егор" == _one || "Фома" == _one || "Кузьминишна" == _one || "Бородач А.Р." == _one || "Копченый" == _one) {
document.location = _oneHref;
} else if ("Егор" == _tho || "Фома" == _tho || "Кузьминишна" == _tho || "Бородач А.Р." == _tho || "Копченый" == _tho) {
document.location = _thoHref;
} else if ("Егор" == _tre || "Фома" == _tre || "Кузьминишна" == _tre || "Бородач А.Р." == _tre || "Копченый" == _tre) {
document.location = _treHref;
} else {
var _oneLevelPlayer = parseInt(/\[(\d+)\]/g.exec(_one)[1]);
var _thoLevelPlayer = parseInt(/\[(\d+)\]/g.exec(_one)[1]);
var _treLevelPlayer = parseInt(/\[(\d+)\]/g.exec(_one)[1]);
if (me.getLevel == _oneLevelPlayer) {
document.location = _oneHref;
} else if (me.getLevel == _thoLevelPlayer) {
document.location = _thoHref;
} else if (me.getLevel == _treLevelPlayer) {
document.location = _treHref;
} else {
document.location = '/user/fight';
}
}
} else if (settings.getValue("useFight", true)) {
document.location = '/user';
}
break;
case '/user/fight/result':
if (settings.getValue("useFight", true)) {
document.location = '/user/fight';
}
break;
case '/user/quests':
/*Задания*/
if ($('.actions').length != 0 && settings.getValue("useQuests", true)) {
var moveLink = $('.actions a')[4];
var moveLink2 = $('.actions a')[2];
if (moveLink) {
document.location = moveLink.href;
} else if (moveLink2) {
document.location = moveLink2.href;
}
} else if (settings.getValue("useQuests", true)) {
document.location = '/user';
}
break;
case '/user/quests/details':
if (settings.getValue("useQuests", true)) {
document.location = '/user/quests';
}
break;
case '/user/battle':
/*бм*/
if ($('.actions a').length == 0) {
setTimeout(function() {
window.location.reload()
},10000)
} else if ($('.actions a').length == 1) {
settings.setValue("useBattle", false);
document.location = '/user';
} else if($('.actions a').length == 2) {
if(settings.getValue("useBattle", true))
{
if (me.getAngry === 100) {
document.location = $('.actions a')[0].href;
} else {
document.location = '/user/battle';
}
}
}
break;
case '/user/battle/battle_space':
if (settings.getValue("usebattle", true)) {
document.location = $('.item_button a')[1].href;
}
break;
case '/user/stadium/tickets':
/*Касса*/
if (settings.getValue("useTickets", true)) {
console.log($('h3')[0].textContent);
}
break;
case '/user/workshop/category':
/*Пром зона*/
setTimeout(function() {
if ($('.actions a').length != 0 && settings.getValue("useWorkshop", true)) {
document.location = $('.actions a')[0].href;
} else {
location.reload(true);
}
}, 10000);
break;
case '/user/shop/category':
/*Барыга*/
var host = 'http://hools.mgates.ru/';
var host1 = 'http://hools.mobi/';
var host2 = 'http://hools.mg.wapos.ru/';
var host3 = 'http://hools.play.tegos.ru/';
var host4 = 'http://hools.games.nasimke.ru/';
var host5 = 'http://hools.my.mgates.spaces.ru/';
var linkWeapon = 'user/shop/category?id=weapon';
var linkWear = 'user/shop/category?id=wear';
if (location.href == host + linkWeapon || host1 + linkWeapon || host2 + linkWeapon || host3 + linkWeapon || host4 + linkWeapon || host5 + linkWeapon) {
setTimeout(function() {
if (settings.getValue("useWeapon", true)) {
if (me.getLevel === 8 && settings.getValue("useShop", true)) {
document.location = $('.items:last a')[1].href;
settings.setValue("useWeapon", !settings.getValue("useWeapon", true));
} else {
location.reload(true);
}
}
}, 10000);
}
if (location.href == host + linkWear || host1 + linkWear || host2 + linkWear || host3 + linkWear || host4 + linkWear || host5 + linkWear) {
setTimeout(function() {
if (settings.getValue("useWear", true)) {
if (me.getLevel === 8 && settings.getValue("useShop", true)) {
document.location = $('.items:last a')[1].href;
settings.setValue("useWeapon", !settings.getValue("useWeapon", true));
} else {
location.reload(true);
}
}
}, 10000);
}
break;
}
var ui = (function() {
//init
var container = $('<div>')
.attr('id', 'setting-button-container')
$('#hdr_i').after(container);
//end:init
var api = {};
api.appendBoolButton = function(buttonData) {
var button = $('<div>');
var updateButtonStatus = function() {
if(settings.getValue(buttonData.key, true)) {
button.css('border-color', 'blue');
} else {
button.css('border-color', 'red');
}
};
button.addClass('settings-button')
.html($('<img>')
.attr('src', '/images/' + buttonData.icon + '.gif')
.attr('title', buttonData.title)
.css('width','20px')
.css('height','20px'))
.click(function() {
settings.setValue(buttonData.key, !settings.getValue(buttonData.key, true));
updateButtonStatus();
});
updateButtonStatus();
container.append(button)
};
return api;
})();
ui.appendBoolButton({title: 'Обновление', key: 'useRefresh', icon: 'buttons/refresh'});
ui.appendBoolButton({title: 'Драки', key: 'useFight', icon: 'icons/i_fight'});
ui.appendBoolButton({title: 'Работа', key: 'useOutwork', icon: 'icons/i_outwork'});
ui.appendBoolButton({title: 'Настольный футбол', key: 'useSoccerGame', icon: 'icons/i_soccer_game'});
ui.appendBoolButton({title: 'Счасливый час', key: 'useHappyHour', icon: 'bonus_box'});
ui.appendBoolButton({title: 'Квесты', key: 'useQuests', icon: 'icons/i_quests'});
ui.appendBoolButton({title: 'БМ', key: 'useBattle', icon: 'icons/i_match'});
ui.appendBoolButton({title: 'Касса', key: 'useTickets', icon: 'icons/i_tickets'});
ui.appendBoolButton({title: 'Пром зона', key: 'useWorkshop', icon: 'icons/i_workshop'});
ui.appendBoolButton({title: 'Барыга', key: 'useShop', icon: 'icons/i_huckster'});
ui.appendBoolButton({title: 'Оружие', key: 'useWeapon', icon: 'icons/i_sc_weapon'});
ui.appendBoolButton({title: 'Одежда', key: 'useWear', icon: 'icons/i_sc_wear'});
});