2017-04-21 204 views
0

我一直在尋找的東西很喜歡這一點,但我無法找到任何會幫我這個 我試着做一個小機器人,將在遊戲中按e我。我有一個如下所示的菜單:https://i.stack.imgur.com/WhV5A.png。現在問題是我保存的數據,所以如果我把它從OFF更改爲ON,我刷新網站,然後它回到關閉,我已經嘗試了一些東西來存儲數據,但他們都失敗了。將數據保存到本地存儲

代碼:

,即時通訊試圖挽救是mbot,sbot值,ZBOT

// ZMIENNE // 
var mbot="OFF"; 
var sbot="OFF"; 
var zbot="OFF"; 

var zabitem=0; 

setInterval(function() { 
    mbot=$("#atakbot").val(); 
    sbot=$("#strzalabot").val(); 
    zbot=$("#zlotobot").val(); 
}, 1000); 



setInterval(function() { 
    if (mbot === "ON") { 
     for(var i in g.npc){ 
      if ((Math.abs(hero.rx - g.npc[i].x) <= 1 && Math.abs(hero.ry - g.npc[i].y) <= 1) && (g.npc[i].type == 2 || g.npc[i].type == 3)){ 
       _g("fight&a=attack&id=-"+i); 
       $("#autobattleButton").remove(); 
       setTimeout('_g("fight&a=f");',1000); 
       zabitem+=1; 
       break; 
      } 
     }} 
}, 1000); 

setInterval(function() { 
    if (mbot === "ON") { 
     $("#a_ok").click(); 
    } 
}, 10000); 


setInterval(function() { 
    if (sbot === "ON") { 
     var SOK = false; 
     var OK2=1; 
     var Sitem = false; 
      if (OK2===1) { 
       SOK = false; 
       for(var i in g.item){ 
        Sitem = $("#item"+i); 
        if(g.item[i].cl == 21 && Sitem.css("top") == "183px" && Sitem.css("left") == "92px"){ 
         var Sstat = g.item[i].stat; 
         var Sname = g.item[i].name; 
         var Sid = g.item[i].id; 
         SOK = true; 
         break; 
        } 
       } 
       if(SOK){ 
        var SnumAmmo = Sstat.indexOf("ammo"); 
        var Sammo = 51; 
        if(SnumAmmo != -1){ 
         Sammo = Sstat.slice(SnumAmmo+5,SnumAmmo+9); 
         Sammo = parseInt(Sammo); 
        } 
        if(Sammo < 50){ 
         for(var i in g.item){ 
          if(Sname == g.item[i].name && Sid != g.item[i].id){ 
           _g("moveitem&st=1&id="+g.item[i].id); 
           message("<font color='#00CC99'><b><center>Strzaly zmienione</center></b></font>"); 
           break; 
          } 
         } 
        } 
       } 
      } 
    } 
}, 1000); 



setInterval(function() { 
    if (zbot === "1") { 
     for (k in g.item) if ((g.item[k].loc=="g") && (g.item[k].stat.search("gold")>-1)) _g("moveitem&st=1&id=" + k); 
    } 
}, 1000); 

編輯1:這個問題的解決是這個

$(function() { 
    $('#atakbot').change(function() { 
     localStorage.setItem('atakbot', this.value); 
    }); 
    if(localStorage.getItem('atakbot')){ 
     $('#atakbot').val(localStorage.getItem('atakbot')); 
    } 
}); 

$(function() { 
    $('#strzalabot').change(function() { 
     localStorage.setItem('strzalabot', this.value); 
    }); 
    if(localStorage.getItem('strzalabot')){ 
     $('#strzalabot').val(localStorage.getItem('strzalabot')); 
    } 
}); 

$(function() { 
    $('#zlotobot').change(function() { 
     localStorage.setItem('zlotobot', this.value); 
    }); 
    if(localStorage.getItem('zlotobot')){ 
     $('#zlotobot').val(localStorage.getItem('zlotobot')); 
    } 
}); 
+0

你不需要所有這些DOM就緒包裝。只有一個。 –

回答

0

得到時,

var mbot = localStorage.mbot || "OFF"; 
:與像後退值立即得到它

這意味着使用localStorage.mbot或回退到"OFF"
設置也非常簡單:

$('#atakbot').on("change", function() { 
    mbot = localStorage.mbot = this.value; 
}); 

我見過你白白讓隨機setIntervals運行在你的代碼。即使那些每1000毫秒運行一次,但這不是性能殺手,使用事件代替也是好習慣。

+0

我會用什麼事件代替setIntervals? –