将数据保存到本地存储

将数据保存到本地存储

问题描述:

我一直在寻找的东西很喜欢这一点,但我无法找到任何会帮我这个 我试着做一个小机器人,将在游戏中按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就绪包装。只有一个。 –

得到时,

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

这意味着使用localStorage.mbot或回退到"OFF"
设置也非常简单:

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

我见过你白白让随机setIntervals运行在你的代码。即使那些每1000毫秒运行一次,但这不是性能杀手,使用事件代替也是好习惯。

+0

我会用什么事件代替setIntervals? –