<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Deswer60871</title>
    <description>The latest articles on DEV Community by Deswer60871 (@deswer60871).</description>
    <link>https://dev.to/deswer60871</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F399099%2F239a9813-b3ac-4b20-b91e-bd735346f9b8.png</url>
      <title>DEV Community: Deswer60871</title>
      <link>https://dev.to/deswer60871</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/deswer60871"/>
    <language>en</language>
    <item>
      <title>server time</title>
      <dc:creator>Deswer60871</dc:creator>
      <pubDate>Tue, 30 Jun 2020 01:36:02 +0000</pubDate>
      <link>https://dev.to/deswer60871/server-time-2d8p</link>
      <guid>https://dev.to/deswer60871/server-time-2d8p</guid>
      <description>&lt;p&gt;hello everyone so I have a problem with the script and specifically this script should calculate the time twice and when it will send the attack (command) and the time when it will come back to me&lt;/p&gt;

&lt;p&gt;problem is this server have lags (is write in server info mns)&lt;/p&gt;

&lt;p&gt;they need to put the data into a script when calculating the time&lt;/p&gt;

&lt;p&gt;skript &lt;/p&gt;

&lt;p&gt;const sleep = ms =&amp;gt; new Promise(resolve =&amp;gt; setTimeout(resolve, ms));&lt;br&gt;
const isNumber = d =&amp;gt; '0' &amp;lt;= d &amp;amp;&amp;amp; d &amp;lt;= '9';&lt;br&gt;
const getDate = date =&amp;gt; {&lt;br&gt;
    return {&lt;br&gt;
        h: date.getHours().toString().padStart(2, 0),&lt;br&gt;
        m: date.getMinutes().toString().padStart(2, 0),&lt;br&gt;
        s: date.getSeconds().toString().padStart(2, 0),&lt;br&gt;
        ms: date.getMilliseconds().toString().padStart(3, 0)&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;let formData = {}&lt;br&gt;
let time = {};&lt;/p&gt;

&lt;p&gt;let year = (new Date()).getFullYear();&lt;br&gt;
let month = (new Date()).getMonth();&lt;br&gt;
let day =  (new Date()).getDate();&lt;/p&gt;

&lt;p&gt;function setParam(name, value) {&lt;br&gt;
    localStorage.setItem(name, value);&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;let attacks = document.getElementById('commands_incomings').getElementsByClassName('command-row no_ignored_command');&lt;br&gt;
let x;&lt;br&gt;
for(var i = 0; i &amp;lt; attacks.length; i++){&lt;br&gt;
    x = attacks[i].insertCell(1);&lt;br&gt;
    x.setAttribute('style','width:5px');&lt;br&gt;
    x.innerHTML= '&lt;span&gt;&lt;a href="" class="article-body-image-wrapper"&gt;&lt;img class="quickbar_image"&gt;&lt;/a&gt;
        +'data-src="https://dspl.innogamescdn.com/asset/28fc2c0/graphic//buildings/barracks.png" alt=""'+&lt;br&gt;
        'src="https://dspl.innogamescdn.com/asset/28fc2c0/graphic//buildings/barracks.png"&amp;gt;&lt;/span&gt;';&lt;br&gt;
    k = 'atk'+i;&lt;br&gt;
    document.getElementById(k).addEventListener('click', command);&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;$('button[name=sendSnipe]').click(function(e){&lt;br&gt;
    e.preventDefault();&lt;br&gt;
});&lt;/p&gt;

&lt;p&gt;function command(ind){&lt;br&gt;
    var command_url, time_aux = [], id;&lt;br&gt;
    $('#serverTime').click();&lt;br&gt;
    console.log(ind);&lt;br&gt;
    id = '#'+ind.path[1].id;&lt;br&gt;
    if(id == '#') id = '#' + ind.path[0].id;&lt;br&gt;
    if(id == '#') id = '#' + ind.path[2].id;&lt;br&gt;
    command_url = $($(id).parent().parent().parent()).find('td:eq(0) .quickedit-content a:eq(0)').attr('href');&lt;br&gt;
    console.log(id);&lt;br&gt;
    console.log(command_url);&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log($(id));
console.log($(id).parent().parent().parent());
console.log($($(id).parent().parent().parent()).find('td:eq(2)'));
time_aux = $($(id).parent().parent().parent()).find('td:eq(2)').text().match(/[+-]?\d+(?:\.\d+)?/g);
console.log(time_aux);
time.hour = parseInt(time_aux[0]);
time.minute = parseInt(time_aux[1]);
time.second = parseInt(time_aux[2]);
time.millisecond = parseInt(time_aux[3]);
console.log(time);
console.log('jestem tu')

$.ajax({
    type: 'GET',
    url: command_url + "&amp;amp;client_time=" + Math.round(Timing.getCurrentServerTime() / 1e3),
    headers: {
        "TribalWars-Ajax": 1
    },
    success: function (data) {
        console.log('entrou aqui.');
        var coord = [], villageToAttackId;
        coord = $(data).find('span.village_anchor:eq(0) a').text().match(/(\d\d\d)(\d\d\d)*(?!.*(\d\d\d)\|(\d\d\d))/g);
        villageToAttackId = parseInt($(data).find('span.village_anchor:eq(0)').data('id'));
        formData.x = coord[0];
        formData.y = coord[1];
        formData.source_village = game_data.village.id;
        console.log(formData);
        firstRequest(villageToAttackId);
    },
    error: function(data){
        console.log(data.error);
    }
});
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;function firstRequest(villageToAttackId) {&lt;br&gt;
    $.ajax({&lt;br&gt;
        type: "GET",&lt;br&gt;
        url: "/game.php?village=" + formData.source_village + "&amp;amp;screen=place&amp;amp;ajax=command&amp;amp;target=" + villageToAttackId + "&amp;amp;client_time=" + Math.round(Timing.getCurrentServerTime() / 1e3),&lt;br&gt;
        data: {},&lt;br&gt;
        dataType: "json",&lt;br&gt;
        headers: {&lt;br&gt;
            "TribalWars-Ajax": 1&lt;br&gt;
        },&lt;br&gt;
        success: function (data) {&lt;br&gt;
            if (!data.error) {&lt;br&gt;
                data = $(data.response.dialog);&lt;br&gt;
                formData.spear = $('#unit_input_spear', data).data('all-count');&lt;br&gt;
                formData.sword = $('#unit_input_sword', data).data('all-count');&lt;br&gt;
                formData.axe = $('#unit_input_axe', data).data('all-count');&lt;br&gt;
                formData.archer = $('#unit_input_archer', data).data('all-count');&lt;br&gt;
                formData.spy = $('#unit_input_spy', data).data('all-count');&lt;br&gt;
                formData.marcher = $('#unit_input_marcher', data).data('all-count');&lt;br&gt;
                formData.light = $('#unit_input_light', data).data('all-count');&lt;br&gt;
                formData.heavy = $('#unit_input_heavy', data).data('all-count');&lt;br&gt;
                formData.ram = $('#unit_input_ram', data).data('all-count');&lt;br&gt;
                formData.catapult = $('#unit_input_catapult', data).data('all-count');&lt;br&gt;
                formData.snob = $('#unit_input_snob', data).data('all-count');&lt;br&gt;
                formData.attack = 'l';&lt;br&gt;
                console.dir(formData);&lt;br&gt;
                secondRequest();&lt;br&gt;
            }&lt;br&gt;
        },&lt;br&gt;
        error: function (data) {&lt;br&gt;
            console.log(data.error);&lt;br&gt;
        }&lt;br&gt;
    });&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;function secondRequest() {&lt;br&gt;
    $.ajax({&lt;br&gt;
        type: "POST",&lt;br&gt;
        url: "/game.php?village=" + formData.source_village + "&amp;amp;screen=place&amp;amp;ajax=confirm&amp;amp;h=" + csrf_token + "&amp;amp;client_time=" + Math.round(Timing.getCurrentServerTime() / 1e3),&lt;br&gt;
        data: formData,&lt;br&gt;
        dataType: "json",&lt;br&gt;
        headers: {&lt;br&gt;
            "TribalWars-Ajax": 1&lt;br&gt;
        },&lt;br&gt;
        success: function (data) {&lt;br&gt;
            console.log(data);&lt;br&gt;
            if (!data.error) {&lt;br&gt;
                console.log('dupaasf');&lt;br&gt;
                var date, s, m, ms, y, sn, duration, data_aux;&lt;br&gt;
                data_aux = $(data.response.dialog);&lt;br&gt;
                console.log(data_aux);&lt;br&gt;
                duration = $('span.relative_time', data_aux).data('duration');&lt;br&gt;
               // $('#attack_name', data_aux).val(time.hour.toString().padStart(2, 0) + ':' + time.minute.toString().padStart(2, 0) + ':' + time.second.toString().padStart(2, 0));&lt;br&gt;
                formData.data = data_aux.serialize();&lt;br&gt;
                let date_attack = (new Date(year, month, day, time.hour, time.minute, time.second));&lt;br&gt;
                let date_attack_time = date_attack.getTime()&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;            setInterval(function () {
                date = new Date(Timing.getCurrentServerTime()), s = date.getSeconds(), m = date.getMinutes(), y, sn;
                x = (s + (m * 60));
                sn = (time.minute * 60 + time.second) - x;
                if (!(sn % 2)) {
                    sn = sn - 6;
                    setInterval(function () {
                        date = new Date(Timing.getCurrentServerTime()), ms = date.getMilliseconds();
                        y = (time.minute * 60 + time.second) - sn;
                        x = (s + (m * 60));
                        if (x == y &amp;amp;&amp;amp; ms &amp;gt; (time.millisecond + 20) &amp;amp;&amp;amp; ms &amp;lt;= (time.millisecond + 70)) {
                            let nametime = new Date(date.getTime() + Math.round((date_attack_time - (new Date).getTime()) / 2));
                            console.log(nametime);
                            $('#attack_name', data_aux).val(getDate(nametime).h + ':' + getDate(nametime).m  + ':' + getDate(nametime).s);
                            formData.data = data_aux.serialize();

                            thirdRequest(s, m, duration, sn, date);
                        }
                    }, 1);
                }
            }, 1000);
        }
    },
    error: function (data) {
        console.log(data.error);
        console.log('dupa');
    }
});
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;function thirdRequest(s, m, duration, sn, date) {&lt;br&gt;
    setTimeout(function () {&lt;br&gt;
        console.log('jestem')&lt;br&gt;
        console.log(s, m, duration, sn, date)&lt;br&gt;
        $.ajax({&lt;br&gt;
            url: "/game.php?village=" + formData.source_village + "&amp;amp;screen=place&amp;amp;ajaxaction=popup_command&amp;amp;h=" + csrf_token + "&amp;amp;client_time=" + Math.round(Timing.getCurrentServerTime() / 1e3),&lt;br&gt;
            data: formData.data,&lt;br&gt;
            type: "POST",&lt;br&gt;
            dataType: "json",&lt;br&gt;
            headers: {&lt;br&gt;
                "TribalWars-Ajax": 1&lt;br&gt;
            },&lt;br&gt;
            success: function () {&lt;br&gt;
                setParam('id', time.hour + ':' + time.minute + ':' + time.second);&lt;br&gt;
                setParam('envio', s + (m * 60));&lt;br&gt;
                setParam('data', Date.parse(date));&lt;br&gt;
                setParam('try', sn);&lt;br&gt;
                setParam('duration', duration);&lt;br&gt;
                location.reload();&lt;br&gt;
            },&lt;br&gt;
            error: function (data) {&lt;br&gt;
                console.log(data.error);&lt;br&gt;
            }&lt;br&gt;
        });&lt;br&gt;
    }, 10);&lt;br&gt;
}&lt;/p&gt;

</description>
    </item>
    <item>
      <title>let click = farm =&gt; farm.click();
    let attack = setInterval(handle, 230);</title>
      <dc:creator>Deswer60871</dc:creator>
      <pubDate>Sun, 31 May 2020 15:19:51 +0000</pubDate>
      <link>https://dev.to/deswer60871/let-click-farm-farm-click-let-attack-setinterval-handle-230-12m7</link>
      <guid>https://dev.to/deswer60871/let-click-farm-farm-click-let-attack-setinterval-handle-230-12m7</guid>
      <description>&lt;p&gt;hi everyone i would need to make this a random interval specifically at a point&lt;/p&gt;

&lt;p&gt;let click = farm =&amp;gt; farm.click ();&lt;br&gt;
     let attack = setInterval (handle, 230);&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
