2017-04-21 15 views
0

私はこれが好きですが、これで私を助けるものは何も見つかりませんでした。 私はゲームで私のためにeを押す小さなボットを作ろうとしています。私はこのようなメニューを持っています:https://i.stack.imgur.com/WhV5A.png。私がOFFからONに変更してウェブサイトをリフレッシュすると、OFFに戻り、データを保存するためにいくつかのことを試みましたが、すべてが失敗しました。オプション値からローカルストレージにデータを保存する

コード:

保存しようとイム値は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); 

EDIT 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"にフォールバックすることを意味します。
設定も非常に簡単です:私はあなたのコードに無駄ランダムsetIntervals実行をさせるしている見てきました

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

。たとえそれがパフォーマンスのキラーではない1000msごとに実行されたとしても、代わりにイベントを使用するのは良い習慣です。

+0

setIntervalsの代わりに私はどのようなイベントを使用しますか? –

関連する問題