SGWG Army

zadost o armadu

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name         SGWG Army
// @namespace    ui
// @version      0.1
// @author       Ondřej Jodas
// @match        http://sgwg.net/elitky.php?vyber=1
// @grant        none
// @description  zadost o armadu
// ==/UserScript==

$.widget('ui.army', {
    
    _create: function(){
        var self = this,
            element = self.element;
        self._shipyard = parseInt(self.options.mistaVLodenicich);
        self._barracks = parseInt(self.options.mistaVKasarnach);
        self._fillData(element.find('tr'));
        self._recalculate(element);
        $('.quantity').keyup(function(){
            self._recalculate(element);
        });
        $('#needArmy').click(function(){
            self._sendMail(element, $("#playerSelect").val());
            location.reload();
            return false;
        });
    },
    
    _fillData: function(rows) {
        var self = this;
        $.each(rows, function(key, row){
            var td1Element = $('<th></th>', {
                class: "title"
            }).html('Potřebuji');
            var td2Element = $('<th></th>', {
                class: "title"
            }).html('Možno');
            column = $(row).find("th");
            if (key > 0) {
                column = $(row).find("td");
                var place = place = parseInt($(column[7]).html()),
                    type = 'kasarna';
                if ($(column[2]).html() == 'orbitál' || $(column[2]).html() == 'obranná stanice' || $(column[2]).html() == 'těžký orbitál'){
                    type = 'lodenice';
                }
                td1Element = $('<td></td>', {}).html('<input class="quantity" type="text" data-key="'+key+'" data-name="'+$(column[0]).html()+'" data-place="'+place+'" data-type="'+type+'"; size="5" />');
                td2Element = $('<td></td>', {
                    id: "quantity-"+key
                });
                $(column[4]).html($(column[4]).html()+"<br />"+$(column[5]).html());
            } else {
                $(column[4]).html('Síla<br />HP');
            }
            column[3].remove();
            column[5].remove();
            $(row).append(td1Element);
            $(row).append(td2Element);
        });
        
        var playerSelect = $('<select>', {
            id: 'playerSelect'
        });
        $.get('/hraci.xml?rasa=30', function(xml){
            $.each($(xml).children().children().children(), function(key, player){
                var status = $(player).find('status').html(),
                    nick = $(player).find('nick').html();
                if (status == 'Ministr' || status == 'Vůdce' || status == 'Zástupce') {
                    playerSelect.append($('<option>', {value: nick, html: nick}));   
                }
            }); 
        });
        $(rows).last().after($('<tr></tr>').html($('<td></td>', {
            colspan: 10   
        }).html('Požádat o armádu hráče ').append(playerSelect).append(" ").append($('<input>', {
            type: 'submit',
            id: 'needArmy',
            value: 'Požádat'
        }))));
    }, 
    
    _recalculate: function(element) {
        self = this;
        var barracks = self._barracks,
            shipyard = self._shipyard;
        $.each($(element[0]).find('.quantity'), function(key, row) {
            var count = parseInt($(row).val()),
                place = parseInt($(row).data('place')),
                type = $(row).data('type');
            if (count > 0) {
                var needPlace = count*place;
                if (type == 'kasarna') {
                    barracks = barracks-needPlace;
                } else {
                    shipyard = shipyard-needPlace;
                }   
            }
        });
        $.each($(element[0]).find('.quantity'), function(key, row) {
            var inputKey = $(row).data('key'),
                place = $(row).data('place'),
                type = $(row).data('type');
            var freePlace = shipyard;
            if (type == 'kasarna') {
                freePlace = barracks;
            }
            $(element[0]).find('#quantity-'+inputKey).html(Math.floor(freePlace/place)+'x');
        });
    },
    
    _sendMail: function(element, nick) {
        self = this;
        var need = [];
        var i = 0;
        $.each($(element[0]).find('.quantity'), function(key, row) {
            var count = parseInt($(row).val()),
                name = $(row).data('name');
            if (count > 0) {
                need[i] = count + 'x ' + name;
                i = i+1;
            }
        });
        var message = "Ahoj prosím tě potřeboval bych:\n"+need.join("\n")+"\n\nDíky moc";
        var data = {
            antihack: self.options.antihack,
            typ_zpravy: 1,
            komu: nick,
            tema: "Armáda",
            co: message,
            kera: ''
        };
        
        console.log(message);
        console.log(need);
        $.ajax({
            type: "POST",
            url: "posta.php?write",
            data: data
        });
    }
    
});

$(function(){
    var antihack = $( "input[name='antihack']" ).val();
    var mista = $(".half1");
    var mistaVKasarnach = $(mista[0]).html().match(/Voln[\d\D]*\"\>([0-9]*)/);
    var mistaVLodenicich = $(mista[1]).html().match(/Voln[\d\D]*\"\>([0-9]*)/);
    $('.full').army({antihack: antihack, mistaVLodenicich: mistaVLodenicich[1], mistaVKasarnach: mistaVKasarnach[1]});
});